Board.KolibriOS.org
http://board.kolibrios.org/

рисовалка графиков
http://board.kolibrios.org/viewtopic.php?f=38&t=1059
Страница 1 из 3

Автор:  barsuk [ Чт июн 05, 2008 8:00 pm ]
Заголовок сообщения:  рисовалка графиков

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

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

Вложения:
Комментарий к файлу: скомпилированная прога, тестовый файл данных и скриншот
graph.7z [63.06 КБ]
271 скачивание

Автор:  Leency [ Чт июн 05, 2008 8:17 pm ]
Заголовок сообщения:  Re: рисовалка графиков

А чё? Прикольно :)
Только ИМХО цвета подобраны не совсем удачно. Как такой вариант?
Изображение
Так читабельность графика будет выше.
А зачем там 0.00 в двух местах? Может его лучше было расположить чуть левее и ниже центра ккординат?

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

Автор:  barsuk [ Чт июн 05, 2008 8:23 pm ]
Заголовок сообщения:  Re: рисовалка графиков

Цвета подправлю, так действительно лучше.
Два 0.0 - глюк. Сам почему-то не заметил :)
В проекте парсер выражений (у меня уже есть написанный под винду, а от платформы алгоритм не зависит), так что скоро будут любые полиномы и комбинации синусов-косинусов.

Автор:  Serge [ Чт июн 05, 2008 10:18 pm ]
Заголовок сообщения:  Re: рисовалка графиков

barsuk

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

Автор:  barsuk [ Чт июн 05, 2008 10:39 pm ]
Заголовок сообщения:  Re: рисовалка графиков

Serge писал(а):
barsuk

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


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

Автор:  barsuk [ Пт июн 06, 2008 12:31 am ]
Заголовок сообщения:  Re: рисовалка графиков

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

Вложения:
Комментарий к файлу: скомпилированная программа, файл данных и краткое руководство
graph-0.2.7z [8.2 КБ]
174 скачивания

Автор:  Leency [ Пт июн 06, 2008 1:56 am ]
Заголовок сообщения:  Re: рисовалка графиков

barsuk писал(а):
Если кто-нибудь подскажет, как использовать из VC++ 6.0 editbox, добавлю ввод имени файла в окошко приложения :)
Не совсем понял что ты имел ввиду :) но вот пример ЕдитБокса на С--.

Вложения:
Комментарий к файлу: Исходник+Библиотека+С--
EditBox_with_Cmm.7z [193.83 КБ]
186 скачиваний
Комментарий к файлу: Только исходник и скомпилированная прога
EditBox_source.zip [2.19 КБ]
157 скачиваний

Автор:  Albom [ Пт июн 06, 2008 6:52 am ]
Заголовок сообщения:  Re: рисовалка графиков

Я в FreeBSD пользовался построителем графиков geg - он выглядел довольно прилично (написан с использованием GTK). Поэтому предлагаю использовать библиотеку mgtk. Только наверное писать придётся в GCC (MinGW), а не VC.

Вложения:
Комментарий к файлу: Рисовалка geg
08.png
08.png [ 6.72 КБ | 6739 просмотров ]

Автор:  Serge [ Пт июн 06, 2008 9:55 am ]
Заголовок сообщения:  Re: рисовалка графиков

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

Да. Надо читать из командной строки одиночные ключи и пары ключ : значение, причём значение может быть и строкой и числом и остатком строки.

Автор:  barsuk [ Пт июн 06, 2008 10:25 am ]
Заголовок сообщения:  Re: рисовалка графиков

Leency писал(а):
Не совсем понял что ты имел ввиду :) но вот пример ЕдитБокса на С--.


Спасибо, буду разбираться.

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


Есть mgtk, портированная под Kolibri?

Serge писал(а):
Да. Надо читать из командной строки одиночные ключи и пары ключ : значение, причём значение может быть и строкой и числом и остатком строки.


Да, могу.

Автор:  Nable [ Пт июн 06, 2008 10:26 am ]
Заголовок сообщения:  Re: рисовалка графиков

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

Автор:  Serge [ Пт июн 06, 2008 12:22 pm ]
Заголовок сообщения:  Re: рисовалка графиков

barsuk

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

Автор:  barsuk [ Сб июн 07, 2008 4:32 pm ]
Заголовок сообщения:  Re: рисовалка графиков

Вот следующая версия - graph 0.3
Имя файла можно ввести в поле ввода. Добавлена поддержка функций exp, log, sqrt. В заголовке отображается имя файла и функция. Ну и исправлено несколько багов.

Вложения:
Комментарий к файлу: скомпилированная программа, пример файла данных, краткий ман
graph-0.3.7z [8.6 КБ]
174 скачивания

Автор:  Leency [ Сб июн 07, 2008 4:51 pm ]
Заголовок сообщения:  Re: рисовалка графиков

barsuk
Классно выходит, только текст строки надо бы поднять чуть выше, а то остаются артефакты.
И перед строкой неплохо бы сделать надпись "File name:", т.к. я туда вначале формулу вводил :)

Вложения:
1.gif
1.gif [ 4.88 КБ | 6616 просмотров ]

Автор:  Albom [ Вс июн 08, 2008 6:07 pm ]
Заголовок сообщения:  Re: рисовалка графиков

Цитата:
Есть mgtk, портированная под Kolibri?

Да, есть.

Вложения:
libmgtk.tar.gz [65.14 КБ]
276 скачиваний

Страница 1 из 3 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/