LINUX.ORG.RU

Вышла библиотека MathGL 1.8 и программа UDAV 0.5

 , , , , , ,


0

0

Библиотека MathGL предназначена для построения широкого спектра графиков (кривых, поверхностей, поверхностей уровня и т.д.). Библиотека платформонезависимая. Есть возможность экспорта графики в растровые (PNG, JPEG) или векторные (EPS, SVG, IDTF) файлы, рисования в консольном режиме и т.д. Из нового:

  • интерфейс для Python и Octave,
  • новые типы графиков (Barh и Region),
  • Qt widget,
  • новые функции по обработке данных,
  • улучшения в цветовой схеме и легенде, вывод цветного текста, пользовательские метки по осям и пр.
Сайт программы: http://mathgl.sf.net

UDAV — программа построения графиков и изображений на основе скриптового языка MathGL. Поддерживается широкий спектр графиков и функций редактирования данных. Оконный интерфейс (на основе Qt4) позволяет вращать/двигать/приближать графики мышкой и с помощью меню, включать/выключать прозрачность и освещение, смотреть на графики с разных углов зрения (при разных параметрах построения). Из нового:

  • диалог советов и замены текста,
  • улучшена "раскраска" кода,
  • рисование в отдельном потоке,
  • вывод информации о текущей команде, позиции мыши и пр.
Сайт программы: http://udav.sf.net

>>> Подробности

Ответ на: комментарий от sergey_feo

А вот ещё:
вместо строки

modify y 'x'

написать

modify y `x`

График не рисует и при этом не ругается. Как будто так и должно быть.

sergey_feo
()
Ответ на: комментарий от sergey_feo

> modify y 'x' > plot y > text 0 0.75 0 'y=x?'

Читайте документацию! В команде modify переменные/индексы 'x', 'y', 'z' всегда в диапазоне 0...1. Если надо в диапазоне координат -- используйте команду fill y 'x'

abalakin ★★
() автор топика
Ответ на: комментарий от sergey_feo

> А, кажись, нашёл: > .../share/mathgl/fonts :-)

Да. А еще можно руками указать путь к шрифтам :)

abalakin ★★
() автор топика
Ответ на: комментарий от sergey_feo

> modify y `x`

> График не рисует и при этом не ругается. Как будто так и должно быть.

Как это не ругается?!! А выводимое сообщение это что?

Wrong argument(s) in line 2 -- modify y `x`

abalakin ★★
() автор топика
Ответ на: комментарий от Evgueni

>С другой стороны ничто не мешает написать пакет который тянет gnuplot, патч и собирает его во время установки.

получишь второй gentoo :)

автору спасибо за его ценный труд!:)

petrosha ★★★★★
()
Ответ на: комментарий от anonymous

> а что уважаемый автор скажет о сравнении MathGL с другими "рисовалками", например asymptote?

MathGL лучше asymptote:

1) больше набор графиков особенно для функций от 2-х координат. Есть много графиков для функций от 3-х координат (в asymptote нет вообще).

2) удобнее/проще (на мой взгляд) способ построения графиков -- одна команда - один график (базовый тип). Но здесь есть отличие -- MathGL ориентирован в основном на работу с данными, а построение функций пока еще не доделано (нет автоматического выбора шага дискретизации, например для sin(1/x)).

3) по количеству примитивов (линии, трубы, конусы, сферы, кривые и пр) примерно равны ... хотя в MathGL есть "капля" -- специфическая форма поверхности (обобщение эллипсойда) и можно легко рисовать "изогнутые" трубы.

4) проще способ задания цветов, цветовой схемы и пр. -- все задается строками, один цвет - один символ + 9 градаций яркости -- всего 9*27=243 цвета (27+2=29 базовых). Аналогично с линиями, маркерами и пр.

5) легко встраивается в любую программу на почти любом языке программирования (общее число около 15 штук). Причем встраивается напрямую (как с/fortran/с++ функции), а не посредством интерпретации.

Из недостатков MathGL:

1) интеграция с ТеХ хуже -- нет поддержки уравнений и набор ТеХ-их команд ограничен -- хотя дроби и корни есть, еще есть куча спец. символов и стили шрифта

2) пока нет подбора шага при рисовании кривых/поверхностей заданных аналитически (формулой)

abalakin ★★
() автор топика
Ответ на: комментарий от anonymous

python setup.py build

running build running build_py file lang/mathgl.py (for module mathgl) not found file lang/mathgl.py (for module mathgl) not found running build_ext building '_mathgl' extension i686-pc-linux-gnu-g++ -pthread -fPIC -I./include -I/usr/include/python2.5 -c -I./include -I/usr/include/python2.5 -c lang/mgl_python.cpp -o build/temp.linux-i686-2.5/lang/mgl_python.o i686-pc-linux-gnu-g++: lang/mgl_python.cpp: No such file or directory i686-pc-linux-gnu-g++: no input files error: command 'i686-pc-linux-gnu-g++' failed with exit status 1

anonymous
()
Ответ на: комментарий от anonymous

>python setup.py build

если питон не был включен в ./configure с помощью --enable-python или --enable-langall, то он потом не соберется в setup.py, кстати пользоваться setup.py необязательно, так как make уже сам соберет модуль для питона. setup.py написан в основном для Debian, чтобы разрулить систему сборки модулей сразу для всех установленных в системе версий интерпретатора питона.

dik
()

не собирается MathGL 1.8 :-(

На ALTe не собирается, configure выдает:
.........
cached) (cached) checking how to hardcode library paths into
programs... immediate
checking for /usr/bin/gsl-config... no
checking for /usr/bin/gsl-config... no
Please install gsl headers and libraries and make sure that path to /usr/bin/gsl-config exist in your PATH
[va@shiva-225 mathgl-1.8]$ /usr/bin/gsl-config
Usage: gsl-config [OPTION]

Known values for OPTION are:

--prefix show GSL installation prefix
--libs print library linking information, with cblas
--libs-without-cblas print library linking information, without cblas
--cflags print pre-processor and compiler flags
--help display this help and exit
--version output version information

An external CBLAS library can be specified using the GSL_CBLAS_LIB
environment variable. The GSL CBLAS library is used by default.

anonymous
()
Ответ на: комментарий от abalakin

Спасибо за наводку :-). Попробую снова после обновления.

anonymous
()
Ответ на: комментарий от abalakin

Скажите пожалуйста, а можно ли анимацию сделать с помощью MathGL? То есть в течении некоторого времени посмотреть процесс. Если да, то дайте пожалуйста ссылки. Если нет, то подскажите что-нибудь другое.

Yuriy_S
()
Ответ на: комментарий от abalakin

> Читайте документацию! В команде modify переменные/индексы 'x', 'y',
> 'z' всегда в диапазоне 0...1. Если надо в диапазоне координат --

> используйте команду fill y 'x'


Если 'x' и 'y' в диапазоне [0;1], поле графика имеет координаты по 'x' [-1;1] и по y [-1;1], то у линии y=x должна рисоваться только правая половина. Но линия не должна быть смещена! Правильное совмещение координатной сетки с графиками функций во всех случаях должно обеспечиваться программой, а не пользователем. Иначе пользователь будет
вынужден разбираться не со с своей математической задачей, а вопросами, соответствует очередная картинка математической действительности или же это хитрости софта.

sergey_feo
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.