Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алг яз Лаб 8(I-ИСТ).doc
Скачиваний:
4
Добавлен:
05.11.2018
Размер:
233.98 Кб
Скачать

2.4. Примеры

Пример 1. Изображение на экране прямоугольного треугольника с вершинами (320,10), (120,210), (520,210).

PROGRAM Primer_1;

Uses Graph; {Подключение стандартного графического модуля}

Var

Gd, {Переменная графического драйвера}

Gm: Integer; {Переменная графического режима}

BEGIN

Gd:=Detect; {Графический драйвер: VGA}

InitGraph(Gd, Gm,''); {Инициализация графического режима.}

{В апострофы '' помещается путь к файлу EGAVGA.BGI}

If GraphResult=grOk Then {Если графический режим включился успешно, то нарисовать отрезки прямых}

Begin

Line(120,210,520,210); {Горизонтальный отрезок}

Line(120,210,320,10); {Левый катет треугольника}

Line(320,10,520,210); {Правый катет треугольника}

ReadLn;

CloseGraph;

End;

END.

Пример 2. Изображение разноцветных лучей одинаковой длины.

PROGRAM Primer_2;

Uses Graph;

Const CenterX=320; CenterY=240; Radius=200;

Var

Gd,Gm: Integer;

i : Integer; dx,dy: Integer;

BEGIN

Gd:=VGA;

Gm:=VGAHi;

InitGraph(Gd,Gm,'');

If GraphResult=grOk Then

Begin

for i:=0 to 160 do

begin

dx:=Round(Radius*Sin(i*PI/80));

dy:=Round(Radius*Cos(i*PI/80));

SetColor(i MOD 16);

Line(CenterX, CenterY, CenterX+dx, CenterY+dy)

end;

ReadLn;

CloseGraph;

End;

END.

Пример 3. Построение графика функции, заданного функцией Func.

PROGRAM Primer_3;

Uses Graph;

Var

x, y, a, b, h: Real;

x0, y0, xg, yg,

xmax, ymax, mx, my,

grd, grm: Integer;

{ ----------------------------------------------------- }

Function Func(x: Real): Real;

Begin

Func:=x*Sin(x/12+4)/2;

End;

{ ----------------------------------------------------- }

BEGIN

x0:=60;

y0:=300; {Координаты центра}

mx:=2;

my:=1; {Масштабные коэффициенты по x и y}

a:=0; b:=200; h:=0.1; {Область задания функции по x и шаг}

grd:=Detect;

InitGraph(grd, grm, '');

If GraphResult=grOk Then

Begin

SetColor(15);

xmax:=GetMaxx;

ymax:=GetMaxy;

Line(10, y0, xmax-100, y0); {Ось OX}

Line(x0, 10, x0, ymax-100); {Ось OY}

x:=a;

While x<=b Do

Begin

xg:=x0+Trunc(mx*x);

yg:=y0-Trunc(my*Func(x));

If (xg>=0) AND (xg<=xmax) AND (yg>=0) AND (yg<=ymax) then PutPixel(xg, yg, 10);

x:=x+h;

End;

ReadLn;

CloseGraph;

End;

END.

2.5. Перевод координат из декартовой координатной системы в полярную и наоборот

Как видно из рисунков 1 и 2, точка М в декартовой системе координат задается двумя координатами: абсциссой и ординатой, а в полярной системе координат – радиус-вектором и углом . Формулы перевода значений из одной системы в другую:

из декартовой системы в полярную

из полярной системы в декартовую