Постороение полигонов и Контурные Кривые 2 порядка (Графика) - Turbo Pascal
Формулировка задачи:
Доброго времени суток друзья!
Вот столкнулся с такой проблемой, давно уже забыл про эту графику, но тут нужно вспоминать.
есть 2 задачи...
1)
Постороить изображение, которое указано в задании, на прямоугольной координатной сетке с задаными в пикселях размерами. Для постороения фигуры использовать процедуру построения полегонов (DrawPoly) и цветные толстые лини. Сетку нарисовать тонкими линиями.
Рисунок(акула) 2)Постоить изображение из 5 колец, Диаметр внешнего круга и ширина кольца известны.
Рисунок (семейство колец) Прошу помощи у колег.Решение задачи: «Постороение полигонов и Контурные Кривые 2 порядка (Графика)»
textual
Листинг программы
uses graph; procedure Kolco(x,y,r,d:integer);{процедура рисования кольца} begin circle(x,y,r); circle(x,y,r-d); end; var xc,yc,x,y,a,r,d,w,i:integer; begin x:=0; initgraph(x,y,''); xc:=getmaxX div 2; yc:=getmaxY div 2; r:=50;{радиус внешнего круга} w:=10;{ширина кольца} d:=round(r/cos(54*pi/180));{расстояние от центра фигуры до центра кольца} a:=18;{начальный угол против часовой стрелки} for i:=1 to 5 do begin x:=xc+round(d*cos(a*pi/180));{координаты центра кольца} y:=yc-round(d*sin(a*pi/180)); Kolco(x,y,r,w);{рисуем} a:=a+72;{увеличиваем угол} end; readln end.
Объяснение кода листинга программы
Список действий в коде:
- Установка начального угла a = 18 градусов.
- Цикл, который выполняется 5 раз.
- В каждой итерации цикла: a. Вычисление координат центра кольца x, y на основе текущего значения угла a. b. Вызов процедуры Kolco для рисования кольца с заданными координатами центра и радиусом r. c. Увеличение угла a на 72 градуса (для получения 360 градусов / 5 = 72 градуса).
- Завершение цикла.
- Завершение работы программы.