ВУЗ:
Составители:
Рубрика:
xreal,yreal: single;
Xscreen,Yscreen: word;
begin
Npix:=200; // количество точек
xmin:=-3.14; xmax:=3.14;
ymin:=-1; ymax:=1;
// коэффициенты масштабирования по осям
kx:=(imgGraph.width-2*a)/(xmax-xmin);
ky:=(imgGraph.height-2*b)/(ymax-ymin);
Offset_x:=round(imgGraph.width/2);
Offset_y:=round(imgGraph.height/2);
dx:=(xmax-xmin)/Npix;
for i:=1 to Npix do
begin
xreal:=xmin+dx*(i-1);
yreal:=sin(xreal);
Xscreen:=round(kx*xreal+Offset_x);
Yscreen:=round(-ky*yreal+Offset_y);
imgGraph.canvas.pixels[Xscreen,Yscreen]:=clLime;
end;
end;
Обратите внимание: в приведенных выше процедурах использованы некоторые пере-
менные, которые должны быть объявлены не в теле процедуры, а в разделе public в коде
формы:
private
{ Private declarations }
public
{ Public declarations }
a,b: byte; // отступы
Nx,Ny: byte; // количество разбиений
kx,ky: single; // коэффициенты масштабирования
end;
Это сделано для того, чтобы они (и их значения) действовали для всех процедур формы
(т.е. это – глобальные переменные для этой формы). Также в приведенном выше коде ис-
пользована функция round, применяющаяся для округления до целого числа вычисленной
координаты.
Содержание отчета
1. Название и цель работы.
2. Последовательность создания нового приложения, описание использованных компонентов и их основных
свойств.
3. Программный код процедуры, обрабатывающей нажатие кнопок (с комментариями).
Контрольные вопросы
• Каковы основные свойства и методы Canvas? Для чего и как они используются?
• На какие стадии можно разбить построение графика функции с помощью компонента
Image?
ПРИЛОЖЕНИЕ
(
0
,
0
X
min
X
max
Y
min
Y
max