Page 1 of 4

рисовалка графиков

Posted: Thu Jun 05, 2008 8:00 pm
by barsuk
Программка строит график по точкам из текстового файла, соединяя линиями. Это моя первая разработка под Колибри :)
Данные загружаются из файла graph.cvs (пока что это имя зашито в программу), в качестве разделителя дробной и целой части поддерживаются точка и запятая. Числа разделяются проблелами.
Первые 4 числа в файле - границы графика (х1, у1, х2, у2). Затем идут координаты точек.

Среда разработки - VC++ 6.0, отсюда и огромный размер файла)
Пишите, какие баги пофиксить, и какие фичи добавить.

Re: рисовалка графиков

Posted: Thu Jun 05, 2008 8:17 pm
by Leency
А чё? Прикольно :)
Только ИМХО цвета подобраны не совсем удачно. Как такой вариант?
Image
Так читабельность графика будет выше.
А зачем там 0.00 в двух местах? Может его лучше было расположить чуть левее и ниже центра ккординат?

Пожелания - это рисование стандартных графиков типа синуса, косинуса, тг и ктг :) Для школ будет полезно :D

Re: рисовалка графиков

Posted: Thu Jun 05, 2008 8:23 pm
by barsuk
Цвета подправлю, так действительно лучше.
Два 0.0 - глюк. Сам почему-то не заметил :)
В проекте парсер выражений (у меня уже есть написанный под винду, а от платформы алгоритм не зависит), так что скоро будут любые полиномы и комбинации синусов-косинусов.

Re: рисовалка графиков

Posted: Thu Jun 05, 2008 10:18 pm
by Serge
barsuk

А можешь написать парсер для командной строки ?

Re: рисовалка графиков

Posted: Thu Jun 05, 2008 10:39 pm
by barsuk
Serge wrote:barsuk

А можешь написать парсер для командной строки ?
А подробнее можно?
Выделить из командной строки команду и параметры?

Re: рисовалка графиков

Posted: Fri Jun 06, 2008 12:31 am
by barsuk
Прикрутил парсер (пока есть арифметика +-*/) и sin,cos,tg,ctg. Чтобы юзать вместо набора данных функцию, нужно после границ области написать =какое-то выражение(х) (см. пример файла данных в архиве).
По-прежнему данные читаются из graph.cvs.
Если кто-нибудь подскажет, как использовать из VC++ 6.0 editbox, добавлю ввод имени файла в окошко приложения :)

Re: рисовалка графиков

Posted: Fri Jun 06, 2008 1:56 am
by Leency
barsuk wrote:Если кто-нибудь подскажет, как использовать из VC++ 6.0 editbox, добавлю ввод имени файла в окошко приложения :)
Не совсем понял что ты имел ввиду :) но вот пример ЕдитБокса на С--.

Re: рисовалка графиков

Posted: Fri Jun 06, 2008 6:52 am
by Albom
Я в FreeBSD пользовался построителем графиков geg - он выглядел довольно прилично (написан с использованием GTK). Поэтому предлагаю использовать библиотеку mgtk. Только наверное писать придётся в GCC (MinGW), а не VC.

Re: рисовалка графиков

Posted: Fri Jun 06, 2008 9:55 am
by Serge
barsuk
А подробнее можно?
Выделить из командной строки команду и параметры?
Да. Надо читать из командной строки одиночные ключи и пары ключ : значение, причём значение может быть и строкой и числом и остатком строки.

Re: рисовалка графиков

Posted: Fri Jun 06, 2008 10:25 am
by barsuk
Leency wrote:Не совсем понял что ты имел ввиду :) но вот пример ЕдитБокса на С--.
Спасибо, буду разбираться.
Albom wrote:Я в FreeBSD пользовался построителем графиков geg - он выглядел довольно прилично (написан с использованием GTK). Поэтому предлагаю использовать библиотеку mgtk. Только наверное писать придётся в GCC (MinGW), а не VC.
Есть mgtk, портированная под Kolibri?
Serge wrote:Да. Надо читать из командной строки одиночные ключи и пары ключ : значение, причём значение может быть и строкой и числом и остатком строки.
Да, могу.

Re: рисовалка графиков

Posted: Fri Jun 06, 2008 10:26 am
by Nable
Я использую GraphPlotter (win32).
Среди прочего (бесплатности, умения рисовать графики функций f(x,y)>=0 и прочих кроме y(x)) прога умеет считать производные сложных функций, не в виде чисел, а действительно парся функцию и создавая f'(x) по правилам дифференцирования. Кроме того умеет работать в полноэкранном режиме. А размер проги очень небольшой. Это я к тому, что стоит скачать и посмотреть, я в данный момент приложить ссылку не могу - на другой харде (который с виндой).

Re: рисовалка графиков

Posted: Fri Jun 06, 2008 12:22 pm
by Serge
barsuk

Такой парсер нужен для ядра и драйверов. Напиши пожалуйста мне в личку.

Re: рисовалка графиков

Posted: Sat Jun 07, 2008 4:32 pm
by barsuk
Вот следующая версия - graph 0.3
Имя файла можно ввести в поле ввода. Добавлена поддержка функций exp, log, sqrt. В заголовке отображается имя файла и функция. Ну и исправлено несколько багов.

Re: рисовалка графиков

Posted: Sat Jun 07, 2008 4:51 pm
by Leency
barsuk
Классно выходит, только текст строки надо бы поднять чуть выше, а то остаются артефакты.
И перед строкой неплохо бы сделать надпись "File name:", т.к. я туда вначале формулу вводил :)

Re: рисовалка графиков

Posted: Sun Jun 08, 2008 6:07 pm
by Albom
Есть mgtk, портированная под Kolibri?
Да, есть.