|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.04.2007, 20:40 | #1 |
Регистрация: 09.04.2007
Сообщений: 7
|
График функции
Господа,проблема следующая:
требуется вывести график функции двух переменных, например exp(sqr(x)+sqr(y))+2*x-3.5*y; создаю массив z[i,j] значений функции, пробую выводить и ничего не получается: то вообще ничего не рисует, то какую-то ахинею. Пробовал и в Canvas'е и в Chart'е. Заранее спасибо. ЗЫ:должно получиться что-то типа карты высот. |
09.04.2007, 23:27 | #2 |
Форумчанин
Регистрация: 24.02.2007
Сообщений: 104
|
а зачем массив значений? берешь шаг поменьше и прям по функции строишь например в canvas однопиксельными квадратами.
тоесть как ф-я считается в цикле так график и рисуй сразу (некоторые пиксели будут рисоваться по несколько раз но эффект от этого не изменится)
Разберемся.......
|
10.04.2007, 07:53 | #3 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 321
|
Попробуй сначала просмотреть значения, которые получаются. Возможно у Вас всего лишь проблема с преобразованием типов.
|
10.04.2007, 07:57 | #4 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
Леха - ты представляешь, что должно получиться ?
возми Maple сначала, посмотри - что за ПОВЕРХНОСТЬ как ты ее рисовал на Canvas - нам только догадываться, но есть метод плавающего горизонта.
Берегите друг друга!
|
10.04.2007, 15:36 | #5 |
Регистрация: 09.04.2007
Сообщений: 7
|
Чиж
Спасибо, так логичнее.Но если брать шаг поменьше и не уменьшать область значений, то появляетя ошибка 'Stack owerflov'. Александр Пробовал, вроде все нормально. Virtson Эээ..что за Maple и что представляет из себя этот метод. |
10.04.2007, 15:41 | #6 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
Maple - это программа для мат. расчетов и не только,
там бы ввел прямо уравнение и получил картинку. метод плавающего горизонта - получаем диметрическую проекцию поверхности (вид свершу сбоку), ривуем линиями от дальнего конца к ближнему.
Берегите друг друга!
|
10.04.2007, 17:01 | #7 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Кароче Владимир имеет ввиду, что "график функции от 2-х переменных - поверхность (3Д), а ты пытаешься её на канве (2Д) нарисовать.
Входы: 1) OPENGL - строить 3Д модель 2) Строить для каждого... допустим х свой график (сечение поверхности плоскостью) т.е. мы как бы рассекаем нашу поверхность множествами параллельных плоскостей, полученное множество кривых (пересечение каждой плоскости и поверхности) - множество графиков. Строится элементарно, одна из переменных заменяется на константу. например так: было z=exp(sqr(x)+sqr(y))+2*x-3.5*y стало z=exp(sqr(1)+sqr(y))+2*x-3.5*y потом вместо х ставишь 2, 3 и т.д. Так получишь много графиков функции от ДВУХ переменных. Конечно же нагляднее было бы 3Д... |
10.04.2007, 18:19 | #8 |
Регистрация: 09.04.2007
Сообщений: 7
|
|
10.04.2007, 19:53 | #9 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
ну... тогда перебираем х и у маленькима шажками и подставляем
for x:=0 to 5 do for y:=0 to 5 do if z=exp(sqr(x)+sqr(y))+2*x-3.5*y then вывод пикселя на канву. 1) отрезок построения определяется экспериментально 2) шаг (в примере равен 1) надо сделать меньше (например 0.1) |
11.04.2007, 12:53 | #10 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
при фиксированном Z (например 5) получаем
5 = exp(sqr(x)+sqr(y))+2*x-3.5*y 1) находим одну точку (x, y) , удовл.-ю уравнению. 2) движемся от нее в сторону - возможно 8 вариантов берем самый подходящий (тут все равно округление) 3) повторяем пункт 2), пока не придем в начальную точку. ** также важен масштаб вывода.
Берегите друг друга!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Построить график функции, используя компонент TChart. | vitalik007 | Компоненты Delphi | 3 | 09.06.2014 11:20 |
Графика в паскале (построить график функции) | matic | Помощь студентам | 4 | 26.11.2012 17:02 |
График функции в C++ Builder.. ПОМОГИТЕ! | Cyberbest | Помощь студентам | 2 | 25.06.2009 21:06 |
график функции с малой величиной | _ares_ | Общие вопросы Delphi | 6 | 24.04.2008 19:31 |