Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технология программирования / ИТ / 8_Графическая подсистема Delphi.ppt
Скачиваний:
74
Добавлен:
17.05.2015
Размер:
513 Кб
Скачать

Построение графиков

Для построения графиков по данным из внешних файлов сначала нужно загрузить эти данные в списки ListBox

Подготовка к построению графика

x0:=…; y0:=…; {начало координат} form1.Canvas.moveto(x0,10); form1.Canvas.lineTo(x0,form1.Height-50); {Ось Oy} form1.Canvas.moveto(10,y0); form1.Canvas.lineTo(form1.Width-

mx:=…; my:=…;

{масштаб по x и по y -

количество пикселей на 1 деление}

11

Построение графиков

x:=StrToFloat(ListBox1.Items[0]); y:=StrToFloat(ListBox2.Items[0]); {начальная точка} xe:=round(x0+x*mx);

ye:=round(y0-y*my); {экранные координаты} form1.Canvas.moveTo(xe,ye);

for i:=1 to ListBox1.Count-1 do begin x:=StrToFloat(ListBox1.Items[i]); y:=StrToFloat(ListBox2.Items[i]); {очередная точка} xe:=round(x0+x*mx);

ye:=round(y0-y*my); form1.Canvas.lineTo(xe,ye);

end;

Запуск

12

Построение графиков

При построении графиков функций масштаб по обеим координатам одинаковый

m:=…;

{ масштаб }

x0:=…; y0:=…;

{начало координат}

a:=…; b:=…;

{ отрезок }

x:=a;

 

 

y:=sin(x);

 

 

xe:=round(x0+x*m);

 

ye:=round(y0-y*m);

{начальная точка}

Form1.Canvas.moveTo(xe,ye); while x<=b do begin

x:=x+1/m;

y:=sin(x);

xe:=round(x0+x*m); ye:=round(y0-y*m); {очередная точка} Form1.Canvas.lineTo(xe,ye);

end;

13

Запуск