Какие существуют библиотеки для построения 2d графиков (для win32 приложения)? Нужно просто отображать график некоторой функции и оси координат с отметками. Желательно еще чтобы могла рисовать координатную сетку.
Народ, какой еще gdi? Я не хочу рисовать графики с нуля (хотя на данный момент так и делаю). Мне нужна библиотека которая бы делала это за меня.
Т.е. что-то вроде
Ну блин обленились... написать такую либу я думаю пару дней...
Можно с интерполяцией сплайнами.
Re[3]: библиотека для построения 2d графиков
От:
Аноним
Дата:
26.12.06 08:56
Оценка:
Здравствуйте, 0x8000FFFF, Вы писали:
FFF>Ну блин обленились... написать такую либу я думаю пару дней...
Ну блин обленились... Писать два дня либу, состоящую из одной функции PolyLine...
Re[3]: библиотека для построения 2d графиков
От:
Аноним
Дата:
26.12.06 11:41
Оценка:
Здравствуйте, 0x8000FFFF, Вы писали:
FFF>Ну блин обленились... написать такую либу я думаю пару дней... FFF>Можно с интерполяцией сплайнами.
Я и написал...
Но ситуация следующая. Проблема в том что заказчик (он же мой препод:) ) считает, что графики строятся недостаточно точно. Сама прога предназначена для выдачи лаб. заданий студентам, которые должны произвести какие-то расчеты (неважно). Препод говорит, что в 30% случаев получается слишком большая погрешность из-за того что кривая состоит не из точек, а из коротких отрезков соединенных между собой и предлагает уменьшить длину этих отрезков. Но на мой взгляд, дальше уже нет смысла...
(Вы как считате?)
Возможно проблема в том, что я отметки не очень точно вывел или еще что...
Потому я и хочу железо-бетонный вариант — использовать авторитетную либу. Или есть еще какие-то предложения?
Я так понял gnuplot то, что мне нужно. Кто знает, можно ли его запускать не в виде отдельной проги, а выводить график в клиентской области моего окна или сделать дочерним окном моей проги?
Здравствуйте, Аноним, Вы писали: А>Я и написал... А> Сама прога предназначена для выдачи лаб. заданий студентам, которые должны произвести какие-то расчеты (неважно). ... Но на мой взгляд, дальше уже нет смысла...
он что с линейкой по экрану лазает?
А>(Вы как считате?)
считаю ништяк график.
А>Возможно проблема в том, что я отметки не очень точно вывел или еще что...
забей
А>Потому я и хочу железо-бетонный вариант — использовать авторитетную либу. Или есть еще какие-то предложения?
причины ясны. надо было сразу в ТЗ точность пикселей и радиус антикривизны экрана обговорить
а вообще что он хотел? чудес?
Здравствуйте, Аноним, Вы писали: А>Но ситуация следующая. Но на мой взгляд, дальше уже нет смысла...
Кстати есть предложение сделать сам график толщиной в 10пикселов розового цвета с жестким антиалиасингом, чтоб порасплывчатей было. Тогда на пикселы уже будет наплевать.
Здравствуйте, Аноним, Вы писали:
А>Я так понял gnuplot то, что мне нужно. Кто знает, можно ли его запускать не в виде отдельной проги, а выводить график в клиентской области моего окна или сделать дочерним окном моей проги?
можно, конечно. смотри FAQ
\subsection{Can I use \gnuplot{} routines for my own programs?}
On systems supporting pipes, you can pipe commands to \gnuplot{} from other
programs. Many applications with gnuplot as the graphics engine, like Octave
(\http{www.octave.org}), uses this method. This also works from a cgi script to
drive \gnuplot{} from a forms-based web page.
John Campbell (\mailto{jdc@nauvax.ucc.nau.edu}) modified a much earlier
version of \gnuplot{} (3.5) to be a library of C subroutines callable
from a C program. Gnuplot itself has changed radically since then,
and we are not aware of any plans to create a similar library based on
the current version.
Но думаю, что повышения точности вряд ли будет Зато пальцы можно веером сразу
Re[5]: библиотека для построения 2d графиков
От:
Аноним
Дата:
26.12.06 12:50
Оценка:
Здравствуйте, dotidot, Вы писали:
D>он что с линейкой по экрану лазает?
График можно сохранить и распечатать.
А>>(Вы как считате?) D>считаю ништяк график.
Спасибо.
А>>Возможно проблема в том, что я отметки не очень точно вывел или еще что... D>забей
Я бы с радостью...
А>>Потому я и хочу железо-бетонный вариант — использовать авторитетную либу. Или есть еще какие-то предложения? D>причины ясны. надо было сразу в ТЗ точность пикселей и радиус антикривизны экрана обговорить D>а вообще что он хотел? чудес?
Он хочет чтобы не было погрешностей...
А>Кто знает, можно ли его запускать не в виде отдельной проги, а выводить график в клиентской области моего окна или сделать дочерним окном моей проги? D>можно, конечно. смотри FAQ <...>
Спасибо. Правда, ни хрена не понял, но попробую разобраться.
Кто же точки прямыми соединяет... ну блин... читайте глава Интерполяция (например Кубическим сплайном)... Или воспользуйтесь Безье Сплайнами.
Re[5]: библиотека для построения 2d графиков
От:
Аноним
Дата:
26.12.06 13:29
Оценка:
Здравствуйте, 0x8000FFFF, Вы писали:
FFF>Кто же точки прямыми соединяет... ну блин... читайте глава Интерполяция (например Кубическим сплайном)... Или воспользуйтесь Безье Сплайнами.
Вы уверены, что разница будет заметна?
А>Я и написал... А>Но ситуация следующая. Проблема в том что заказчик (он же мой препод ) считает, что графики строятся недостаточно точно. Сама прога предназначена для выдачи лаб. заданий студентам, которые должны произвести какие-то расчеты (неважно). Препод говорит, что в 30% случаев получается слишком большая погрешность из-за того что кривая состоит не из точек, а из коротких отрезков соединенных между собой и предлагает уменьшить длину этих отрезков. Но на мой взгляд, дальше уже нет смысла... А>(Вы как считате?)
По-моему, отличный график. Думается мне, что если для заданий студентам эти графики рисовать самому от руки, выйдет гораздо хуже К тому же, например Maple 10 — он такое мерзкое безобразие строит, приведенный тобой пример — шедевр по сравнению с ним.
Of course, the code must be complete enough to compile and link.
Re[5]: библиотека для построения 2d графиков
От:
Аноним
Дата:
26.12.06 15:07
Оценка:
Здравствуйте, 0x8000FFFF, Вы писали:
FFF>Кто же точки прямыми соединяет... ну блин... читайте глава Интерполяция (например Кубическим сплайном)... Или воспользуйтесь Безье Сплайнами.
А что, компьютер умеет как-то хитро эти Безье сплайны строить, не приближая их ломанной?
Re[6]: библиотека для построения 2d графиков
От:
Аноним
Дата:
26.12.06 15:23
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, 0x8000FFFF, Вы писали:
FFF>>Кто же точки прямыми соединяет... ну блин... читайте глава Интерполяция (например Кубическим сплайном)... Или воспользуйтесь Безье Сплайнами.
А>А что, компьютер умеет как-то хитро эти Безье сплайны строить, не приближая их ломанной?
И вообще, если автор вопроса имеет дело с аналитически заданной функцией, то зачем же ему сплайны?
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>По-моему, отличный график. Думается мне, что если для заданий студентам эти графики рисовать самому от руки, выйдет гораздо хуже К тому же, например Maple 10 — он такое мерзкое безобразие строит, приведенный тобой пример — шедевр по сравнению с ним.
Здравствуйте, night beast, Вы писали:
NB>Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>>По-моему, отличный график. Думается мне, что если для заданий студентам эти графики рисовать самому от руки, выйдет гораздо хуже К тому же, например Maple 10 — он такое мерзкое безобразие строит, приведенный тобой пример — шедевр по сравнению с ним.
NB>у меня шестой. строит нормально. какая функция?
Во-первых, прошу прощения, я наврал про 10 — именно шестой. Во-вторых, если строить при помощи implicitplot какие-нить функции, то графики получаются — так себе. Постоянно какие-то разрывы (линия не сплошная) и уж никак не "точнее", чем у автора топика.
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>>>По-моему, отличный график. Думается мне, что если для заданий студентам эти графики рисовать самому от руки, выйдет гораздо хуже К тому же, например Maple 10 — он такое мерзкое безобразие строит, приведенный тобой пример — шедевр по сравнению с ним.
NB>>у меня шестой. строит нормально. какая функция? L_L>Во-первых, прошу прощения, я наврал про 10 — именно шестой. Во-вторых, если строить при помощи implicitplot какие-нить функции, то графики получаются — так себе. Постоянно какие-то разрывы (линия не сплошная) и уж никак не "точнее", чем у автора топика.
наговариваете вы на мапл.
вы-первых, implicitplot строит график функции, заданой неявно. а для обычной функции (наш случай?) вполне справляется plot.
во-вторых, качество можно регулировать с помошью опции numpoints=<число точек>.
Здравствуйте, night beast, Вы писали:
NB>Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>>>>По-моему, отличный график. Думается мне, что если для заданий студентам эти графики рисовать самому от руки, выйдет гораздо хуже К тому же, например Maple 10 — он такое мерзкое безобразие строит, приведенный тобой пример — шедевр по сравнению с ним.
NB>>>у меня шестой. строит нормально. какая функция? L_L>>Во-первых, прошу прощения, я наврал про 10 — именно шестой. Во-вторых, если строить при помощи implicitplot какие-нить функции, то графики получаются — так себе. Постоянно какие-то разрывы (линия не сплошная) и уж никак не "точнее", чем у автора топика.
NB>наговариваете вы на мапл.
Т.е., ты можешь привести пример графика, такого как у анонима, но с лучшим качеством?
NB>вы-первых, implicitplot строит график функции, заданой неявно. а для обычной функции (наш случай?) вполне справляется plot.
Нуну. Что строит имплицитплот — я знаю. Число точек не помогает — дырки все равно остаются. Я понимаю, что для неявно заданной функции нужно повозиться побольше, чем для явно заданной, но, с другой стороны maple, наверное, не дилетанты пишут? Сразу скажу, я имею лишь смутное (наверняка ошибочное) представление, как строят такие кривые (наверное, двумерный аналог marching cubes?)
А вот простенький пример
plot(x*x, x = -1..1);
и то с разрывом строит. Да, и, конечно, никакого антиалиасинга У меня на маке графер такие отменные гладенькие линии строит
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
NB>>наговариваете вы на мапл.
L_L>Т.е., ты можешь привести пример графика, такого как у анонима, но с лучшим качеством?
ну я не говорил что у анонима плохой график. я говорил что мапл нормально строит графики.
не видел функцию для той картинки. если будет, то смогу показать что строит мапл.
NB>>вы-первых, implicitplot строит график функции, заданой неявно. а для обычной функции (наш случай?) вполне справляется plot.
L_L>Нуну. Что строит имплицитплот — я знаю. Число точек не помогает — дырки все равно остаются. Я понимаю, что для неявно заданной функции нужно повозиться побольше, чем для явно заданной, но, с другой стороны maple, наверное, не дилетанты пишут? Сразу скажу, я имею лишь смутное (наверняка ошибочное) представление, как строят такие кривые (наверное, двумерный аналог marching cubes?)
не знаю, как строит мапл, но предполагаю что разбивает сеткой и ищет пересечение с ребрами ячеек и соединяет их линией. если решение попадает близко к узлу, то из за погрешности может получиться так что не попадет ни в одну ячейку, отсюда и разрывы. ну и решения в соседних ячейках тоже могут немного отличиться.
L_L>А вот простенький пример
L_L>plot(x*x, x = -1..1);
L_L>и то с разрывом строит. Да, и, конечно, никакого антиалиасинга У меня на маке графер такие отменные гладенькие линии строит
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>>>Завтра я принесу примеры паршивых графиков мэпла
NB>>тащи...
L_L>Справедливости ради — вроде 10 версия стала нормально строить implicitplot. Но увы, тормозит оно все теперь.
случайно не в курсе, они шестерку свободно не отдают?
а то у нас в конторе за нелиценз.софт скоро будут гонять...
Здравствуйте, night beast, Вы писали:
NB>Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>>>>Завтра я принесу примеры паршивых графиков мэпла
NB>>>тащи...
L_L>>Справедливости ради — вроде 10 версия стала нормально строить implicitplot. Но увы, тормозит оно все теперь.
NB>случайно не в курсе, они шестерку свободно не отдают? NB>а то у нас в конторе за нелиценз.софт скоро будут гонять...
Не, не в курсе Но думаю, нет.
Of course, the code must be complete enough to compile and link.
Здравствуйте, Аноним, Вы писали:
А>Какие существуют библиотеки для построения 2d графиков (для win32 приложения)? Нужно просто отображать график некоторой функции и оси координат с отметками. Желательно еще чтобы могла рисовать координатную сетку.
Лови. Описывается одна, но суперавторитетная "либа" http://www.interface.ru/home.asp?artId=3088
Эх, люблю выпить и переспать с кем нибудь!
Но чаще выходит перепить с кем — нибудь и выспаться...
Здравствуйте, Аноним, Вы писали:
А>Какие существуют библиотеки для построения 2d графиков (для win32 приложения)? Нужно просто отображать график некоторой функции и оси координат с отметками. Желательно еще чтобы могла рисовать координатную сетку.
В свое время тоже долго искал библиотеку для рисования всевозможных графиков. Остановился на С'шной межплатформенной dislin.
Можно рисовать любые графики, сохранять в файл в любом формате (растровая, векторная графика), по осям можно рисовать теховые формулы, разные шрифты и т.п.
Рисовальные проги писал под mingw — для него либа бесплатна (была по крайней мере). Советую вобщем
Здравствуйте, <Аноним>, Вы писали:
А>Я и написал... А>Но ситуация следующая. Проблема в том что заказчик (он же мой препод ) считает, что графики строятся недостаточно точно. Сама прога предназначена для выдачи лаб. заданий студентам, которые должны произвести какие-то расчеты (неважно). Препод говорит, что в 30% случаев получается слишком большая погрешность из-за того что кривая состоит не из точек, а из коротких отрезков соединенных между собой и предлагает уменьшить длину этих отрезков. Но на мой взгляд, дальше уже нет смысла...
А>Возможно проблема в том, что я отметки не очень точно вывел или еще что...
А>Потому я и хочу железо-бетонный вариант — использовать авторитетную либу. Или есть еще какие-то предложения?
А чего в Matlab не построит с тем шагом, какой ему нужен?
Можно, кстати, сравнить с разными графиками (разного шага) из Matlab.