Урок 3. Графические примитивы. Дуга окружности. Эллипс.
Рисование дуги окружности.
Arc(x,y,r,a1,a2: integer);
— Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).
Как видно из определения, для рисования дуги необходимо задать центр окружности, радиус и два угла. Прорисовка происходит как в обычной системе координат – против часовой стрелки. Но необходимо иметь ввиду, что процедура Arc рисует от меньшего угла до большего, не зависимо от величин углов a1 и a2. Это значит, что в PascalABC.Net перемена местами углов a1 и a2 ни к чему не приведет (процедура выбирает меньший угол и рисует к большему).
Пример. Рисуем месяц. Нам понадобятся две дуги и процедура заливки.
uses GraphABC; begin Arc(100, 100, 50, -100, 100); Arc(80, 100,50, -80,80); FloodFill(145, 100, clYellow); end. |
![]() |
Рисование эллипса (овала).
Ellipse(x1,y1,x2,y2: integer); — Рисует заполненный эллипс, ограниченный прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2).
Пример.
uses GraphABC; begin Ellipse(80, 20, 120, 80); Ellipse(80, 80, 120, 140); Ellipse(40, 60, 100, 100); Ellipse(100, 60, 160, 100); end. |
![]() |
Если необходимо отрисовать только границу эллипса, необходимо использовать процедуру
DrawEllipse(x1,y1,x2,y2: integer);
Рисует границу эллипса, ограниченного прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2)
uses GraphABC; begin DrawEllipse(80, 20, 120, 80); DrawEllipse(80, 80, 120, 140); DrawEllipse(40, 60, 100, 100); DrawEllipse(100, 60, 160, 100); end. |
Задание 1. Напишите программу рисования изображения.
Задание 2. Напишите программу рисования изображения.
Задание 3. Напишите программу рисования изображения.
Задание 4. Укажите ключевые точки изображений, задайте их возможные координаты и запишите программу для построения этих изображений.
Задание 5. Рассчитайте координаты и запишите программу для построения следующих изображений (ключевые точки можно не указывать).