Рисование шара с приданием объема - PascalABC.NET
Формулировка задачи:
как в паскале нарисовать шар? не просто окружность, типа это шар, а чтобы было видно 3D шар.
Решение задачи: «Рисование шара с приданием объема»
textual
Листинг программы
uses graphABC; var c,r,n,d,i,a,b:integer; begin setwindowsize(500,500); centerwindow; c:=windowwidth div 2; r:=200; n:=20; d:=r div n; a:=r; b:=d; setbrushstyle(bsClear); for i:=1 to n do begin ellipse(c-a,c-b,c+a,c+b); b:=b+d; end; a:=d; b:=r; for i:=1 to n do begin ellipse(c-a,c-b,c+a,c+b); a:=a+d; end; line(c,c-r,c,c+r); line(c-r,c,c+r,c); end.
Объяснение кода листинга программы
- Объявлены переменные c, r, n, d, i, a, b типа integer.
- Заданы размеры окна (500x500 пикселей) и центровка его положения.
- Вычисление значений переменных c, r, n, d, a, b:
- c - центр x и y окна;
- r - радиус шара;
- n - количество секторов шара;
- d - длина дуги сектора;
- a, b - временные переменные для хранения значений r и d.
- Очистка фона (brushstyle = bsClear).
- Цикл for (1..n) для рисования n секторов шара:
- Рисование сектора (ellipse(c-a,c-b,c+a,c+b)).
- Увеличение значения b на d.
- Увеличение значения a на d.
- Цикл for (1..n) для рисования n секторов шара:
- Рисование сектора (ellipse(c-a,c-b,c+a,c+b)).
- Увеличение значения a на d.
- Рисование окружности (line(c,c-r,c,c+r)) и ее отражение (line(c-r,c,c+r,c)).
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д