Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.30;
Скачать: CL | DM;

Вниз

Зацените рисовалку графиков   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.022 c
3-1179895908
RomanLN
2007-05-23 08:51
2007.09.30
Как организовать запрос для DBGrid


15-1188815525
NailMan
2007-09-03 14:32
2007.09.30
Широкоформатный моник LCD 22" выбираю


15-1188056939
Riply
2007-08-25 19:48
2007.09.30
Вымогательство на дорогах.


1-1184513356
KiriX
2007-07-15 19:29
2007.09.30
Как создать графическую форму?


15-1186723331
Rouse_
2007-08-10 09:22
2007.09.30
Update 2 to C++Builder 2007 and Delphi 2007 for Win32