Форум: "Прочее";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];
ВнизЗацените рисовалку графиков Найти похожие ветки
← →
Ricks © (2007-08-29 13:02) [0]http://www.ricks.pisem.net/programs/graphs.zip (222кб)
сразу скажу чего она делает не так, чтобы потом мне не тыкали этим :)
• не разделяет приоритет операций, т.е 2+2*2 = 8. Надо писать так: 2+(2*2), тогда оно равно 6 :)
• иногда бывают косяки с рисованием линий из начальной (или в конечную) точки. Для исправления этого нужно просто поставить другой интервал dT
А теперь достоинства:
• рисование графиков типа F = F(t, a, b), где a и b – параметры, т.е можно нарисовать семейство кривых (или прямых) типа y = a·x + b
• задание параметров x = x(t, a, b) и отдельно y = y(t, a, b)
• любые имена переменных (хоть x = x(переменная, параметр1, параметр2))
Там где-то (то ли в Начинающем, то ли в Основном форуме) был вопрос про рисование спирали. Я вот спциально этой своей програмкой попробовал – получилось.
← →
Ricks © (2007-08-29 13:06) [1]Еще добавлю (чтобы меньше вопросов было :)
можно числа задавать тоже в виде формул, например - рисовать от exp(1) до 8*sin(pi/4) c шагом pi/120
← →
Rouse_ © (2007-08-29 13:07) [2]Пока что твоя рисовалка кроме сообщения "Floating point division by zero." ничего не выводит :)
← →
Denis_ © (2007-08-29 13:10) [3]У меня вообще не открылось :(
← →
KSergey © (2007-08-29 13:17) [4]> Rouse_ © (29.08.07 13:07) [2]
> Пока что твоя рисовалка кроме сообщения "Floating point
> division by zero." ничего не выводит :)
Подтверждаю. Ничего другого я из нее выдавить не смог.
Хотя вру, как обычно: если после запуска кликнуть на белом окне - Access violation.
и еще. Кто мне скажет как это чудо закрыть??? Кроме как на панели задач правой кнопкой.
← →
Denis_ © (2007-08-29 13:22) [5]
> KSergey © (29.08.07 13:17) [4]
Всё ясно - опять левой ногой сделано, либо вредительская прога.
← →
KSergey © (2007-08-29 13:23) [6]> Denis_ © (29.08.07 13:22) [5]
> Всё ясно - опять левой ногой сделано, либо вредительская
> прога.
Касперыч промолчал, но настроение испорчено, факт. Я думал хоть на что-то красивое сегодня погляжу. Но увы.
← →
Ricks © (2007-08-29 13:47) [7]странно всё это... :(
у меня работает нормально. Может у меня компьютер какой-то особенный?
← →
KSergey © (2007-08-29 13:51) [8]> Ricks © (29.08.07 13:47) [7]
> Может у меня компьютер какой-то особенный?
Стопудово.
Тогда прогу раздавать только вместе с ним.
← →
Ricks © (2007-08-29 13:56) [9]
> если после запуска кликнуть на белом окне - Access violation.
Да, это есть. Но в остальном у меня все нормально строит. Почему это может быть?
Закрывается она действительно только из панели задач. А что, это такая проблема?
Вот то, что мне удалось нарисовать
http://www.ricks.pisem.net/programs/graphs.jpg
← →
Ricks © (2007-08-29 13:58) [10]
> Пока что твоя рисовалка кроме сообщения "Floating point
> division by zero." ничего не выводит :)
Всегда?
А если ввести x=t, y=t. От 1 до 2 с шагом 0.1 тогда тоже будет выводить такое сообщение?
← →
pasha_golub © (2007-08-29 14:00) [11]
> Ricks ©
Код не хочешь показать? Не весь, а хотя бы ключевые моменты, чтобы люди могли оценить откуда ноги растут, так сказать.
← →
Rouse_ © (2007-08-29 14:01) [12]Ну извини, мне некогда разбираться с настройками программы, я полагаю что для демонстрации ее возможностей значения должны быть уже выставлены и остается только пимпу клацнуть :)
Так что низачет :)
← →
homm © (2007-08-29 14:02) [13]> Закрывается она действительно только из панели задач. А
> что, это такая проблема?
Ты явно не в себе.
← →
homm © (2007-08-29 14:02) [14]> Закрывается она действительно только из панели задач. А
> что, это такая проблема?
Ты явно не в себе.
> Вот то, что мне удалось нарисовать
Я тоже смогу это нарисовать :)
← →
turbouser © (2007-08-29 14:03) [15]
> Ricks © (29.08.07 13:58) [10]
>
>
Div/0 ошибка из-за поля "Шаг", в котором указано по умолчанию 0.01
← →
turbouser © (2007-08-29 14:04) [16]А так, в общем-то ничего. Только вот первое впечатление испорчено
ошибкой и отсутствием какой-либо кнопки закрытия программы.
← →
pasha_golub © (2007-08-29 14:04) [17]Плюс интересует чем ты разбираешь выражения, что оно не учитывает простейшие приоритет умножения над сложением?
← →
KSergey © (2007-08-29 14:07) [18]> Ricks © (29.08.07 13:56) [9]
> Закрывается она действительно только из панели задач. А
> что, это такая проблема?
Да, это неприлично и неочевидно.
> Вот то, что мне удалось нарисовать
А слабо запустить ее с теми параметрами, котрые стоят по умолчанию в выложенном архиве? Там ошибка стопудово воспроизводится.
← →
Ricks © (2007-08-29 14:35) [19]
> А слабо запустить ее с теми параметрами, котрые стоят по
> умолчанию в выложенном архиве? Там ошибка стопудово воспроизводится.
>
Нет, не слабо. У меня она прямо из архива запускается. И где там может быть деление? если x=t, y=t*t? Странно.
Ну ничего, вот скоро у меня будет новый компьютер, там и посмотрим.
Значит пока презентация откладывается :)
← →
Ricks © (2007-08-29 14:36) [20]
> Плюс интересует чем ты разбираешь выражения, что оно не
> учитывает простейшие приоритет умножения над сложением?
Да сам сделал.
А вот до приоритетов не дошел.... пока.
← →
Efir © (2007-08-29 14:41) [21]Ошибка в шаге с DecimalSeparator. Должна быть запятая.
← →
KSergey © (2007-08-29 14:55) [22]> Efir © (29.08.07 14:41) [21]
> Ошибка в шаге с DecimalSeparator. Должна быть запятая.
Я бы сказал - должно корректно работать в любом случае. А оно не работает.
← →
Efir © (2007-08-29 15:02) [23]Ну значит нет проверки. Не у всех же стоит в качестве разделителя точка.
← →
pasha_golub © (2007-08-29 15:12) [24]
> Ricks © (29.08.07 14:36) [20]
>
>
> Да сам сделал.
Ну может покажешь? Народ тут незлобливый, может посоветует чего. Воровать уж точно врядли кто будет :)
← →
Ricks © (2007-08-29 15:18) [25]
> Ну может покажешь?
Да ну его, большой там модуль такой и запутанный. Я если его открою – сам вряд-ли что-то соображу :)
Ну если надо, то
http://www.ricks.pisem.net/source/mathexp2.zip
> Ошибка в шаге с DecimalSeparator. Должна быть запятая.
Спасибо большое! А я уж не знал куда прямо деваться от стыда. А оно оказывается вот что! :) Спасибо еще раз, Efir. Проверку обязательно добавлю.
Ну, народ, что теперь скажете?
← →
pasha_golub © (2007-08-29 15:27) [26]
> Ricks © (29.08.07 15:18) [25]
>
Я бы посоветовал использовать Delphi yacc&lex в твоем случае. Ибо при усложнении будешь долго и мучительно переписывать. Была ветка про калькулятор... Ее бы найти и почитать. Там много умных мыслей прозвучало по этому поводу.
Вот тут живет парсерогенератор этот: http://www.grendelproject.nl/dyacclex/
Насколько, я помню в файле с помощью разобрано по косточкам разбор простеньких мат. выражений.
← →
Ricks © (2007-08-29 15:54) [27]Спасибо, посмотрю.
Но весь прикол заключался в том, что я это сам сделаю. :)
Я это для себя писал когда делать было нечего :)
Ну так как теперь програмка моя? Если ставить правильно точку или запятую. Работает?
← →
fisher (2007-08-29 16:00) [28]у мения никак не пашет
← →
pasha_golub © (2007-08-29 16:43) [29]
> Ricks © (29.08.07 15:54) [27]
> Но весь прикол заключался в том, что я это сам сделаю. :
> )
Вот как раз прикол той ветки про Калькулятор и заключался в том, что на коленке оно корявое. А с применением теории очень даже симпотное ;)
← →
{RASkov} © (2007-08-29 16:54) [30]> Ну, народ, что теперь скажете?
Закрытие проги сделай по человечьи.... и вот такую фичу исправь:
затащи окно с параметрами на окно с графиком, потом сделай активным график(т.е. чтоб параметры скрылись под ним) и попробуй его(параметры) вытащить назад....
← →
KSergey © (2007-08-29 16:59) [31]Окно с графиками должно быть тоже таскабельным!
← →
{RASkov} © (2007-08-29 17:14) [32]> Окно с графиками должно быть тоже таскабельным!
Интерфейс в целом с этими двумя "окошками" выглядит как-то по детски....
Учитывая, что прога в основном писалась для познания делфи(<мое мнение*) - пойдет,
но никак не конечный вариант данной(может и "довольно серьезной") программы.
Мнение родилось потому такое, потому-что очевидные косяки во всем.... начиная с DecimalSeparator и заканчивая "закрытием проги"...
← →
KSergey © (2007-08-30 08:05) [33]> {RASkov} © (29.08.07 17:14) [32]
> Интерфейс в целом с этими двумя "окошками" выглядит как-
> то по детски....
А мне как раз это понравилось :)
К стати, окна ввода формул было бы не криво сделать многострочными, коль скоро позволительно вводить длинные формулы.
А если еще и формулы рисовать красиво (типа MathCad) - такой компонент и сам по себе отдельную ценность представлять будет. Или оно уже есть?
← →
Ricks © (2007-08-30 11:51) [34]Исправил указанные недостатки. Перекачайте по тому-же адресу, пожалуйста.
> Окно с графиками должно быть тоже таскабельным!
я такое сделал, даже не читая этого :)
> А если еще и формулы рисовать красиво (типа MathCad) - такой
> компонент и сам по себе отдельную ценность представлять
> будет. Или оно уже есть?
Где-то может и есть (где-то я такое видел), но не у меня :)
Тяжело это делать своими силами.
> Учитывая, что прога в основном писалась для познания делфи(<мое
> мнение*)
В принципе правильно. Я специально её никуда не готовил.
← →
Ricks © (2007-08-30 12:18) [35]http://www.ricks.pisem.net/programs/graphs.zip
еще более новая версия.
Что теперь скажете?
← →
KSergey © (2007-08-30 12:34) [36]> Ricks © (30.08.07 12:18) [35]
> Что теперь скажете?
Работает :)
Еще бы
а) Окно для ввода параметров всегда поверхе всех окон - это неприлично! Я понимаю, что вы решали проблему с перемещением окна графика на окно параметров, но все жа быть выше всех окон - не хорошо.
б) окно графиков - с изземняющимися размерами
в) для семейства графиков - разные цвета с указанием какого цвета для какого значения параметра построен график
г) сетка(?)
д) хинт с указанием x/y того места графика, над которым мышь
е) я не понял с масштабированием. Задаем:
функция х: t
функция y: 1000*sin(t)
t меняется от -7 до 7
В итоге график весь зажат вокруг вертикальной оси по центру. Почему?? (и чем больше коэффициент при синусе - тем сильнее сжат).
← →
KSergey © (2007-08-30 12:35) [37]Впрочем, практического применеия я не придумал, так что "пожелания" - они так, если заняться нечем :)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.04 c