Консультация № 161400
25.02.2009, 19:42
0.00 руб.
0 2 1
Здравствуйте!
Нужно построить программу построения графиков динамических процессов в декартовой системе координат. Динамический процес задается формулой f=f0-f1(1-e^-(t/T)) где f0,f1,T- входные переменные, t- отвечает за время и изменяется по оси Ох. по оси Оу - значение f. т.е. нужен построитель графика приведенной функции с тремя задаваемыми пользователем параметрами?

Обсуждение

Неизвестный
27.02.2009, 13:34
общий
это ответ
Здравствуйте, Faraon!
Для корректного построения графика необходимо ввести диапазон значений X и Y выводимых на экран (TMin, TMax, FMin, FMax) и ввести глобальную переменную T.

Ставим перо в начальную точку

Image1.Canvas.MoveTo(0,Round(Image1.Height*(1-(f(TMin)-YMin)/(YMax-YMin)));

и включаем таймер

Timer1.Enabled:=true;

Далее таймер рисует график по точкам. Время измеряется в миллисекундах (см. приложение).
Удачи!





Приложение:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if T>=TMax then
begin
Timer1.Enabled:=false;
exit;
end;
T:=T+Timer1.Interval;
Image1.Canvas.LineTo(Round((T-TMin)*Image1.Width/(TMax-TMin)),
Round(Image1.Height*(1-(f(T)-YMin)/(YMax-YMin))));
end;
Неизвестный
27.02.2009, 18:13
общий
А не могли бы Вы более подробно описать саму программу, я никогда просто не работал с графиками функцый
Форма ответа