Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1188541103
Шмелъ
2007-08-31 10:18
2007.09.30
Mail Observer Application


3-1179935533
YURA-007
2007-05-23 19:52
2007.09.30
Проблема автоинкримента и ClientDataSet а!


1-1185019258
Makhanev Alexander
2007-07-21 16:00
2007.09.30
Совместимость с вистой...


15-1188560286
iXT
2007-08-31 15:38
2007.09.30
Осталость полтора часа...


15-1187885910
Kostafey
2007-08-23 20:18
2007.09.30
Развертывание Web-приложения для локальной сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский