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

Рассмотрим построение графиков функций на примере построения графика функции 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.