В качестве примера будет рассмотрена Окружность.
Уравнение множества точек лежащих на окружности вычисляется формулой X²+Y²=R²
Для рисования кривой, представляющей из себя обычную окружность нужно разделить это уравнение на 2 части. Одна часть будет рисоваться сверху, другая снизу. Переменная X пробегает через последовательные значения от -R до R. Переменная Y вычисляется для каждой ветви кривой (верхней и нижней):
Turbo Pascal
Program Test_1;
Uses CRT, Graph; Var d,m,r,y:integer;
x:real;
Begin
{установка графического режима}
d:=detect; m:=detect;
InitGraph(d,m,'');
{----------------------------}
r:=100; {радиус окружности}
x:=-r;
while x<=r do begin
y:=round(sqrt(r*r-x*x));
{окружность с центром в точке 320, 240}
PutPixel(320+round(x),240+y,white);
PutPixel(320+round(x),240-y,white);
x:=x+0.01;
end;
{ждать нажатия клавиши}
repeat until KeyPressed;
CloseGraph {закрыть графический режим}
End.
==========================================
Другой пример Кривая Безумие (madness)
x = Sin(0.0099t)-0.7Cos(0.0301t)
y = 0.1Sin(0.1503t)+Cos(0.0101t)
Turbo Pascal
Program Madness;
Uses CRT, Graph; Var d,m,x,y :integer;
t:real;
Begin
d:=detect;
m:=detect;
InitGraph(d,m,'');
t:=0;
repeat
x:=320+round(180*(sin(0.0099*t)-0.7*cos(0.0301*t)));
y:=240-round(200*(0.1*sin(0.1503*t)+cos(0.0101*t)));
PutPixel(x,y,white);
t:=t+0.01;
until KeyPressed;
CloseGraph;
End.
Комментариев нет:
Отправить комментарий