Трехмерный эллиптический параболоид

Уникальная программа, которая строит декартову трехмерную систему координат и эллиптический параболоид.
program elliptichesky_paraboloid;
 uses crt,graph;
var
 cx,cy,driver,mode,z,i:integer;
begin
 driver:=detect; initgraph(driver,mode,'d:\tp\bgi');
 repeat {повторение в цикле, пока не будет нажат Enter}
 setcolor (blue);{цвет осей координат}
 {Положение начала координат}
 cx:=round((15/32)*getmaxx);cy:=round((3/4)*getmaxy);
 outtextxy(20,20,'Эллиптический параболоид');
 {Система координат, ось X} line(cx,cy,getmaxx-10,cy);
 {подпись и стрелка по оси X }
 outtextXY(getmaxx-30,cy-20,'X');line(getmaxx-30,cy-5,getmaxx-10,cy);
 line(getmaxx-30,cy+5,getmaxx-10,cy);
 {подпись и стрелка на оси Z } 
line(cx,cy,cx,0); outtextXY(cx+10,10,'Z');
 {стрелки по оси Z }
line(cx-5,20,cx,0);line(cx+5,20,cx,0);
 {Ось Y }line(cx,cy,round(getmaxx/6),getmaxy-10);
 {подпись и стрелка на оси Y }
 outtextxy(round(getmaxx/6)-10,getmaxy-20,'Y');
 line(round(getmaxx/6),getmaxy-10,round(getmaxx/6)+20,getmaxy-15);
 line(round(getmaxx/6),getmaxy-10,round(getmaxx/6)+15,getmaxy-25);
 {Цикл вывода эллипсов с одной и той же координатой по оси X,
 но с увеличением координаты по оси Z и полуосей }
 for z:=0 to round(getmaxx/7) do
 begin
 setbkcolor(white);setcolor(red);
 ellipse(cx,cy-trunc(z*z/30),0,360,trunc(z*3),trunc(z/2));
 delay(10);{замедление вывода, задержка
 перед выводом следующего эллипса}
 end;
 {Задержка 3000 милисекунд перед следующим выводом}
 delay(3000);cleardevice;
 until keypressed
end.

Оставить комментарий

Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

Онлайн всего: 2
Гостей: 1
Пользователей: 1

STUDLAB Сообщить про опечатку на сайте