Большой Воронежский Форум
» Программирование>Библиотеки векторной графики.
X0R 16:35 08.09.2010
Кто чем пользуется\Знает про существование библиотек для работы с векторной графикой. Основные требования, чтоб можно было сохранять картинку в eps или ps, и чтобы это дело нормально работало с Visual C++ или C#. Предпочтение библиотекам научной графики
Из опробованного:
DISLIN. Это ужас. Тихий. Такого API врагу не пожелаешь
MathGL. Тупо не работает с Visual Studio 2010 [Ответ]
Hopkroft 12:02 09.09.2010
X0R, заинтересовало. Когда найдёшь подходящую - отпишись плз. [Ответ]
Part!zan 20:55 09.09.2010
X0R, возможно, стоит глянуть http://www.inkscape.org [Ответ]
X0R 21:12 09.09.2010
Part!zan, да, я знаю про Inkscape. Это немного не то. Мне нужно из приложения строить картинку: графики чертить, фон, TeXовское написание использовать. А библиотеках специализированных под научную графику есть много заготовок для визуализации в нужном виде "малой кровью". Я думал об использовании Cairo (на котором базируется Inkscape), но мне все же проще написать обертку над MathGL тем более что разработчик MathGL более чем адекватен

Hopkroft, разобрался с MathGL, в плюсах все работает, но так как я не люблю плюсы, я сейчас делаю обертку на шарпе, если удачно пойдет, возможно сделаю проектик на CodePlex. Присоединяйся
[Ответ]
Akad 00:04 10.09.2010
Вот по этому дельфи рулит. Прикрутил компонент, и всё фунциклирует.
Это возвращаясь к теме...

Сообщение от X0R:
MathGL. Тупо не работает с Visual Studio 2010

Это значит, полагаю, что не мог собрать? Ничего. Некоторые проекты иногда приходится собирать по 2-3 суток. Зато после это всё классно работает. [Ответ]
X0R 00:10 10.09.2010

Сообщение от Akad:
Вот по этому дельфи рулит. Прикрутил компонент, и всё фунциклирует.

есть нужный компонент? Я уже давно от делфи ушел, когда только начинал программировать, я помню не могу установить сторонние компоненты)

Сообщение от Akad:
Это значит, полагаю, что не мог собрать?

Нет, это из за отсутствия документации заинклудил на 1 файл больше чем надо и вызывал не те методы. Сейчас работает все. Но у меня основная задумка, чтоб это с шарпом удобно работало.
[Ответ]
Flaming 00:28 10.09.2010

Сообщение от X0R:
MathGL. Тупо не работает с Visual Studio 2010

Пробовал. Отлично работает с GCC =) большего и не надо...

Думаю, оптимальнее всего cairo - фактически стандарт по-моему... или нет? [Ответ]
Akad 00:53 10.09.2010

Сообщение от X0R:
есть нужный компонент?

Хз. Надо смотреть что конкретно надо. Графики чертят очень много компонент.

Сообщение от X0R:
Но у меня основная задумка, чтоб это с шарпом удобно работало.

Ну тогда надо делать враппер?

Сообщение от Flaming:
Пробовал. Отлично работает с GCC =) большего и не надо...

У гцц нет нормальной среды разработки под вынь. Шаг в лево, шаг в право - получаем расстрел на месте. Это из серии того, что блокноте тоже неверное можно линукс написать. Только это не самый простой способ... [Ответ]
X0R 06:30 10.09.2010

Сообщение от Flaming:
Пробовал. Отлично работает с GCC =) большего и не надо...

Еще бы0 Автор ориентируется на GCC и только в последнее время обратил внимание на Visual C++. Но мне не удобно использовать GCC)

Сообщение от Flaming:
Думаю, оптимальнее всего cairo - фактически стандарт по-моему... или нет?

какой нудо написать код на Cairo, чтобы получить результат представленный на картинке? На MathGL для этого надо написать
Код:
mglData a(50,40), b(50,40);
a.Modify("0.6*sin(2*pi*x)*sin(3*pi*y) + 0.4*cos(3*pi*(x*y))");
b.Modify("0.6*cos(2*pi*x)*cos(3*pi*y) + 0.4*cos(3*pi*(x*y))");

gr->Rotate(40,60);
gr->Light(true);
gr->Box();
gr->SurfC(a,b);
Итого 7 строк, 2 из которых готовят фейковые данные.
Изображения
Нажмите на изображение для увеличения
Название: surfc.png
Просмотров: 3
Размер:	81.2 Кб
ID:	930682  
[Ответ]
X0R 06:32 10.09.2010

Сообщение от Akad:
Графики чертят очень много компонент.

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

Сообщение от Akad:
Ну тогда надо делать враппер?

именно. делаю) [Ответ]
alexz 10:13 10.09.2010

Сообщение от X0R:
какой нудо написать код на Cairo, чтобы получить результат представленный на картинке? На MathGL для этого надо написать

Код:
mglData a(50,40), b(50,40);
gr->SurfC(a,b);
Итого 7 строк, 2 из которых готовят фейковые данные.

неее, тебе не нужна библиотека векторной графики. Тебе нужна библиотека построения графиков! разные вещи. Если mathGL доволен, то здорово, а если нет:
если она не должна быть интегрирована в твою программу, то можешь попробовать gnu plot - готовишь текстовый файл с "программой построения" - и она чертит всё, вообще все.
И ещё есть такой ROOT - на С++ штука - там тоже много чего для графики.
Ну и вообще в C# наверняка миллиард бесплатных компонент для графики. [Ответ]
Hopkroft 20:19 10.09.2010
X0R, слушай а ты на SourceForge смотрел? Там много подобных библиотек есть, включая mathGL. [Ответ]
X0R 19:50 16.09.2010

Сообщение от alexz:
И ещё есть такой ROOT - на С++ штука - там тоже много чего для графики.

спасибо. Обратил внимание, но там разбираться по всей видимости долго, сейчас просто нет на это времени.

Сообщение от alexz:
Ну и вообще в C# наверняка миллиард бесплатных компонент для графики.

для отображения возможно, а для вывода векторных картинок я по крайней мере не нашел(

Сообщение от Hopkroft:
слушай а ты на SourceForge смотрел?

смотрел, понравилась еще одна библиотека http://libboard.sourceforge.net/
Но пока остаюсь на MathGL. [Ответ]
Вверх