Рассмотрим построение графиков функций на примере построения графика функции y=2x.
Так как центр координат расположен в левом верхнем углу экрана и ось ординат направлена сверху вниз, то при построении графика необходимо:
1. Переместить центр координат в центр экрана.
2. Функцию брать с противоположным знаком.(вместо у=2х берём у=-2х)
Рассмотрим программу построения графика функции у=2х на отрезке [-2,2].
Program grafic;
uses Graph;
Var GrDriver,GrMode,ErrCode:integer;
xm,ym:integer; st,x1,x2,y1,y2:real ;
begin
GrDriver:=Detect;
InitGraph(GrDriver, GrMode, ‘’);
if GraphResult <> grOk then
Halt(1);
xm:=GetMaxX Div 2; {находим середину по х}
ym:=GetMaxY Div 2; {находим середину по y}
Line(0,ym,getmaxx,ym); {рисуем ось х}
Line(xm,0,xm,GetMaxY); {рисуем ось y}
MoveTo(xm,ym);{передвигаем курсор в центр экрана}
st:=0.01; {установка коэффициэнт растяжения по х}
x1:=-200; {устанавливаем левую границу интервала}
{построение графика}
While x1<=200 do
begin {график будет построен на [-200,200]}
y1:=2*(x1*st);
x2:=x1+st;
y2:=2*(x2*st);
Line(Round(x1),(ym+Round(y1)),Round(x2), (ym+round(y2))); x1:=x2;y1:=y2;
end;
end.
Рассмотрим программу построения графика функции у=sin(х) на [-5,15]. Особенности построения этой функции заключаются в том, что амплитуда графика не привышает 1. Поэтому значения по оси Х необходимо увеличит в 20 раз.
Program grafic;
uses Graph;
var GrDriver,GrMode,ErrCode:integer;
xm,ym:integer; st,x1,x2,y1,y2:real ;
begin
GrDriver:=Detect;
InitGraph(GrDriver, GrMode, ‘’);
if GraphResult <> grOk then
Halt(1);
xm:=GetMaxX div 2; {находим середину по х}
ym:=GetMaxY div 2; {находим середину по y}
Line(0,ym,GetMaxX, ym); {рисуем ось х}
Line(xm,0,xm,GetMaxY); {рисуем ось y}
MoveTo(xm,ym);{передвигаем курсор в центр экрана}
st:=pi/20; {установка коэффициэнта растяжения по х}
x1:=-100; {устанавливаем левую границу интервала}
{построение графика}
while x1<=300 do
begin
{график будет построен на [-100,300]}
y1:=sin(x1*st)*20; {растяжение по х и по у}
x2:=x1+st;
y2:=sin(x2*st)*20;
Line(round(x1),-(ym+round(y1)),round(x2),-(ym+round(y2))); x1:=x2;y1:=y2;
end;
end.