Урок 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. Напишите программу рисования изображения.

Последнее изменение: Вторник, 13 Март 2018, 14:01