LINUX.ORG.RU

Вышла библиотека MathGL 2.0

 , , , ,


0

2

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

В новой версии значительно увеличена скорость рисования, унифицирован интерфейс, добавлены новые типы графиков и примитивов, добавлен экспорт в 3d форматы (OBJ, PRC, OFF, ...) и LaTeX, множество более мелких улучшений.

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

★★

Проверено: Shaman007 ()

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

А можно и не покупать. Графики матлаб то строит, да. И jacket тоже строит. И mathgl строит. В чём разница? А в чём разница в анонимусах? Вообще, за 80 тыщ+ можно какого-нибудь школьника нанять - пусть рисует. Тем более, скорость будет даже больше, чем у матлаба.

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

Целая Москва прямо, а 2.5 млн. не найдут.

Готов поверить тебе как специалисту, что в Москве бы и переговоров даже не было никаких, чего там, по сотне штук зелени на учреждение не деньги.

А вы наверное хотели, чтобы они бесплатно вам все поставили?

Да, я считаю, что они своё дерьмо должны нам бесплатно ставить и ещё за это приплачивать, а купоны продолжать с индустрии стричь, куда часть выпускников потом пойдут работать. А если не будут, и новых сотрудников, которые хотят использовать другие технологии наберется критическая масса, они потеряют рынок.

Примеров вокруг тебя, как прямых, так и обратных полно.

На питоне пиши сам, разбираться в этом говне некто не захочет. Человек уходит - и все перестает работать, поскольку питон и писали на нем уроды.

Ты демонстрируешь себя полным идиотом.

Питон по ТТХ по сравнению с убогостью Матлаба позволяет писать прекрасный поддерживаемый код. Другое дело, если ты пишешь как урод, уходишь как урод оставив соответствующего качества уродскую документацию и обрекаешь твоих последователей разбираться в говне... Надеюсь мне не придется с тобой работать.

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

Питон же тормоз? А матлаб вроде компилирует файлы. У мну работает очень быстро. А насчет пиратства, то идите в жопу со своим морализаторством, я же не деньги нам нем зарабатываю, а обучаюсь.

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

абсолютно _всё_ на экране можно сложить в векторный рисунок.

Проблемы будут с отрисовкой отражающих поверхностей (lighting), с перекрывающимися поверхностями. Даже в случае статики это не такие тривиальные задачи для векторного рисунка.

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

Питон же тормоз?

Идиоты на любом языке могут писать программы, которые работают медленно. Для этого требуется всего-лишь отсутствие мозгов, что, как замечает коллега, очень просто выполнимое условие.

У Питона есть две большие проблемы (которые не являются таковыми в научном контексте, но так и быть объясню): он медленно работает на tight loops (как и любой интерпретатор) и GIL, из-за которого многопоточность через threads теряет смысл.

Первая проблема решается использованием NumPy, которая предоставляет интерфейс к многомерным объектам и линейную алгебру над ними, похожий на Матлаб, когда tight loops переносятся на уровень C, и, соответственно, работают быстро.

Кроме того, есть ещё вариант использовать интерпретатор с JIT'ом (пока не очень удобно из-за отсутствия поддержки многих библиотек) или выносить критические секции в Cython (что очень удобно).

Вторая проблема решается subprocessing, что не очень удобно, но терпимо, ну и разумеется всякими специфическими решениями типа stackless и т.п.

Только проблемы эти становятся таковыми на том уровне использования языка, до которого типичным пользователям Матлаба грести раком до Луны.

А матлаб вроде компилирует файлы. У мну работает очень быстро.

Бред сивой кобылы.

Матлаб является интерпретатором, JIT'а нормального у них до сих пор нет, хотя вроде что-то начали такое делать. Как по мне, так Матлаб страшный тормоз, более того, непрозрачно как его оптимизировать, кроме как выносить всё в нативный код через MEXы и прочую ересь, что народ тут и там, собственно, и делает...

А насчет пиратства, то идите в жопу со своим морализаторством, я же не деньги нам нем зарабатываю, а обучаюсь.

Ты обкурился что-ли? Ноу комментс.

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

Питон же тормоз?

По сравнению с чем? Мне кажется, что я пытался эту мысль донести: самый большой тормоз — это человек. Всё остальное по сравнению с ним просто летает.

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

А насчет пиратства, то идите в жопу со своим морализаторством

С этого бы и начинал. Пиратство зло не из-за морали, а из-за того, что вместо этого можно использовать бесплатные аналоги, которые не очень-то хуже коммерческих. Агитировать за их использование, отсылать баг-репорты, помогать в меру своих возможностей. А не пропагандировать потреблятсво.

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

Безусловно нет в жизни совершенства, но это не повод забивать на векторность :)

Пробую писать на Asympote в векторе, так c 3D много заморочек. Кстати, мне Asymptote нравится больше, чем Metapost. Там можно сходу наваять рисунок, и он будет смотреться неплохо, если надо - много возможностей улучшать рисунок дальше. В Metapost примитивов намного меньше, постоянно приходится писать свои велосипеды.

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

Я не знаю Asymptote, поэтому не могу поддержать беседу, за исключением самых простых утверждений вида: зато в MetaPost SVG есть ☺

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

Fortran же

Пока есть Fortran, успешно преподается на физ.-мат. специальностях, я могу быть спокоен - работа мне всегда найдется. Там, где фортранщик споткнется на необходимости учитывать особенности архитектуры, визуализации данных, отсутствии оберток к библиотекам - я смогу найти применение своим навыкам как программист на Си.

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

Спасибо, смешно написал. Особенно про «отсутствие обёрток».

Вот как можно браться рассуждать о вкусе креветок, когда не только не пробовал, а и в глаза видел только название?

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

Если без пафоса. Я знаю и Фортран и Си достаточно, чтобы делать на них расчеты. Но почему-то на Linux я не могу заставить себя писать на Фортран, хотя где-то это могло быть проще. Ведь под Си все есть: GSL, gdb, Emacs + cc-mode. Си как язык очень прозрачен, обладает одним из лучших учебников K&R. Матрицы тоже есть, но вот необходимость в вычислении matmul(A,B) бывает крайне редко. Не отходя от темы: у MathGL вон тоже сишный интерфейс, и подобных ей библиотек становится всё больше.

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

Если вы не видите разницы между «может не быть обертки» и «оберток нет», то с вами мне говорить не о чем.

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

Да, конечно. Но вот зная Си, я могу в принципе разобраться как MathGL работает, чтобы иметь возможность дополнить ее под свои нужды. А вот знание фортрана здесь по боку.

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

Ммм, скорее С++ для большей эффективности ... Хотя примитивами можно дополнять/рисовать и в фортране.

abalakin ★★
() автор топика

Посмотреть на библиотеку стоит я думаю, но интересно, а какие достойные открытые библиотеки-альтернативы есть(С/С++ )

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

Как же, а красивое отображение пучка :) ? Как на счёт трёхмерной картинки?

Да мы бы с радостью, как только нам закупят nvidia quadro на все машины в пультовую и просто невидию на остальные машины комплекса:) потому что писать разный софт для разных машин это моветон, а пока 3Д работает так себе... например на матроксах

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

Попробуйте версию 2.0 — скорость рисования в памяти заметно возросла и почти сравнялась с OpenGL

Обязательно попробую :) как раз и задачка есть на ближайшее время.

Но вы может все-таки подумаете про кайро? Это бы помогло решить и обратную задачу - например иногда нужно узнавать где находится мышка относительно графика, причем желательно в координатах графика. Как это сделано например в qwt. Если у вас конечно найдется время, ну и если это все не противоречит идеологии, может и вправду не стоит сувать в рисовалку сильно много всякого лишнего.

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

Хорошо, посмотрю. Хотя не обещаю высокий приоритет.

По поводу координат — в MathGL уже есть функция CalcXYZ().

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

По поводу координат — в MathGL уже есть функция CalcXYZ().

спасибо! похоже надо перестать задавать вопросы и идти читать инструкцию :) вижу в библиотеке много изменений с тех пор как я ей пользовался. это здорово.

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

Что подразумевать под direct rendering?

а вы не вкурсе? четыре звизды вроде...
аппаратное 3Д ускорение... обычно без него все GL очень тормозное.

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

Ведь под Си все есть: GSL, gdb, Emacs + cc-mode.

Под фортран есть все это + еще больше.

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

четыре звизды вроде.

Это не показатель.

аппаратное 3Д ускорение...

gtkglext - простой виджет для вывода «чистого» openGL'я. Естественно, аппаратное ускорение и все «плюшки» openGL есть. Я его в своем велосипеде и использовал (fitsview в моем чулане на гуглокоде).

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

Фортран для старых пердунов из прошлого века. Как динамически выделить массив из кучи, размером в 32 гига? Или как управлять потоками? Гибкий ввод/вывод через «потоки-сокеты»?.

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

А симулинк вы тоже на питоне напишете? Матлаб - отличная среда для непрограммирующих специалистов, которым нужно делать расчеты или моделировать. И вполне заслуживает своих денег, поскольку код тестировали специалисты в своих предметных областях. PS. Сдается мне, что вы даже преобразование Лапласа грамотно написать не сможете на своем питоне.

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

gtkglext - простой виджет для вывода «чистого» openGL'я. Естественно, аппаратное ускорение и все «плюшки» openGL есть. Я его в своем велосипеде и использовал (fitsview в моем чулане на гуглокоде).

Ну так я тебя и спрашиваю, если без директ-рендеринга этот самый виджет который через ОпенГЛ рисует насколько швыдко работает. Мне по хорошему надо делать чтобы график на 10000 точек обновлялся 15-25 раз в секунду. Если я делаю график в МатГЛ с отображением на обычный drawingarea то предел получается где-то 1000 точек 5-10 раз в секунду. При этом коре 2 дуо выжирается на 100%.

Впрочем скоро сам узнаю, я как раз собирался попробовать опенглную рисовалку :)

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

О, ещё один рассуждает о вкусе омаров по фотографии протухшего краба ;)

Вы стандарт-то 2003 хотя бы (всё реализовано в компиляторах), я не говорю о 2008 (реализован не во всех компиляторах, и не везде полностью пока) посмотрите, для расширения кругозора.

Ну и открою страшный секрет: системные вещи, которые по-человечески реализованы в С, если их и нет в современном фортране, нет проблем использовать. Сишные и Fortran-библиотеки взаимно вызываются без проблем.

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

Нет, но она позволяет работать с категориями предметной области. Как сказали бы функциональщики, это DSL для специалистов. Скажем, «Задачи Дирихле и Неймана, библиотека функций для их сведение к интегральным уравнениям Фредгольма». Там в библиографии, как минимум 8 томов по 500 страниц каждый. На питоне этого тебе не напишут.

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

посмотрите, для расширения кругозора.

У меня есть аспиранка-теоретик, которая считает в облачном кластере CERN, расскажите ей про омаров.

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

Мне по хорошему надо делать чтобы график на 10000 точек обновлялся 15-25 раз в секунду.

У меня на бюджетненькой карточке 3D-картинка из ~10млн треугольников очень даже шустро крутилась-вертелась.

При этом коре 2 дуо выжирается на 100%.

А зачем насиловать процессор? Видеокарты нет? mesa - штука тормозная…

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Evgueni

Евгений, я не был бы столь ироничен на вашем месте. Я читал вашу работу, ощушение, что вы терли морковку 5 лет.

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

А зачем насиловать процессор? Видеокарты нет? mesa - штука тормозная…

Видеокарта есть. Но как я тебе сказал выше: glxinfo | grep Direct Direct Rendering: No А сие значит, что все рисует проц. А этот самый рендеринг ноу потому что 4хмониторная конфигурация на Матроксах не собирается в Ксинераму, чтобы еще 3Д ускорение было. Там даже 2Д ускорения нет... Жду не дождусь когда мы от этого хлама избавимся наконец.

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

Видеокарта есть. Но как я тебе сказал выше: glxinfo | grep Direct Direct Rendering: No

Это значит, что видеокарты нет. Потому как даже встроенное г. умеет аппаратное ускорение.

А этот самый рендеринг ноу потому что 4хмониторная конфигурация на Матроксах не собирается в Ксинераму, чтобы еще 3Д ускорение было

Что-то вы там неправильно сделали.

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

Я на своём месте и я знаю, что основная проблема не в языке программирования, а в физике, так что можете фантазировать дальше.

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

И какие такие специфично-Сишные средства она там использует? Вы уж расскажите. Да, заодно хорошо бы личико открыть, а то как-то общаться неудобно ;)

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

Если это как-то связано с обработкой LHC, то там действительно всё завязано на C++. Те задачи параллелятся естественно по событиям, так что особые изыски совершенно не нужны. Костылей там море, но надо сказать, что та сборка костылей вполне работоспособна благодаря просто героическому труду обслуживающих программистов и сисадминов.

Для анализа используется ROOT со всеми вытекающими.

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

Это значит, что видеокарты нет. Потому как даже встроенное г. умеет аппаратное ускорение.

Вы такой оптимист, даже завидно. Впрочем, в 2006ом я тоже считал примерно как вы. Но: less readme-mga-4.4.0

[q=«readme-mga-4.4.0»]Please note that DRI isn't enabled if you're using the Xinerama extension.[/q]

Кстати, свободный драйвер для матрокса вообще не поддерживает мультимониторность с Ксинерамой. Кстати, несвободный драйвер остановился где-то в районе Хсервер-6.9. Потом его еще один энтузиаст допиливал, но потом у толи у Ксов толи у Ядра поменялся Апи и это стало не возможно.

Но если хотите, я могу вам это Г. по почте прислать, где-то через пол года. Повозитесь :)

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

для матлаб был компилятор, его даже раздавали попробовать под линукс. (не имея самого матаба под линуксом я его использовал перенося код с винды в 90х :)

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

Я на своём месте и я знаю, что основная проблема не в языке программирования, а в физике, так что можете фантазировать дальше.

О том, что физику знать надо, речи не шло. При прочих равных условиях (включая знания предметной области), выбор Си на сегодня предпочтительнее, чем Фортран. И освоить его ни разу не сложнее. Только этого не понимают старые пердуны, что до сих пор преподают Фортран в университетах по книгам такого же паршивого качества.

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

Вы стандарт-то 2003 хотя бы (всё реализовано в компиляторах)

Уж вы омаров переели, видимо. Посмотрите на Intel Fortran Compiler, полная поддержка где? http://software.intel.com/en-us/articles/intel-fortran-compiler-support-for-f... - не поддерживается полностью даже Fortran 2003. И это после почти 10 лет стандарта, и для одного из лучших решений, которое используется на подавляющем большинстве кластеров. А раз реализовать стандарт не спешат, то не очень это и нужно, или не так востребовано, или никто не хочет заниматься мертвым языком. Просто, пока Intel заинтересован в кластерах, он и делает вид, что что-то улучшает.

Так что, не судите о том, чего не знаете.

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