Circle ( x , у: Integer ; Radius : Word )
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Здесь (X,Y) - координаты центра окружности, Radius - ее радиус. Результатом ее работы будет окружность, если коэффициент изображения соответствует принятому BGI-драйвером для текущего графического режима. В противном случае на экране появится эллипс, вытянутый по вертикали (коэффициент сжатия больше принятого по умолчанию) или по горизонтали (коэффициент меньше принятого).

В модуле Graph представлены процедуры рисования эллипсов, дуг, секторов и процедура, позволяющая рисовать сектор, залитый по заданному шаблону. Все они запрашивают параметры StartAngle и EndAngle, которые обозначают начальный и конечный угол дуги. На рисунке изображена система графических координат, в которой мы работаем.

 

     
 

 


Положительное направление оси X (слева направо) принято за 0°, отрицательное направление оси Y - за 90°, т.е. углы отмеряются от положительного направления оси X против часовой стрелки. Все значения этих параметров даются в градусах.

Ниже перечислены процедуры рассматриваемого класса:

Рисование дуги радиуса Radius из центра с координатами (X,Y) от угла StartAngle до EndAngle:

Arc(X, Y: Integer; StartAngle, EndAngle, Radius: Word)

При изменении коэффициента сжатия изображения вид выводимых дуг будет отличаться от правильных окружностей.

Рисование эллиптической дуги с аналогичными параметрами:

Ellipse (X, Y: Integer; StartAngle, EndAngle, XRadius, YRadius: Word)

где XRadius и YRadius - размеры горизонтальной и вертикальной полуосей соответственно. Оси эллипса могут быть только параллельны осям X и Y. Для изображения полного эллипса надо задавать углы 0° и 360°. Значение коэффициента сжатия изображение не влияет на его вид.

Угловые параметры очень неудобны для нашей системы координат - мы можем определить координаты начала и конца дуг окружности или эллипса не иначе, как только используя известные тригонометрические выражения. Но в подобных вычислениях нет необходимости, поскольку эти координаты все равно известны внутри процедур Arc , Ellips , Sector и PieSlice .

Извлечь концевые координаты дуг позволяет процедура


GetArcCoords (VAR ArcCoords : ArcCoordsType )

Тип ArcCoordsType объявлен в модуле Graph следующим образом:

TYPE

ArcCoordsType = RECORD

X, Y :Integer; {центр}
XStart, YStart :Integer; {начало}
XEnd, YEnd :Integer; {конец}

END;

Рассматриваемая процедура возвращает результаты последнего вызова процедуры рисования дуги или сектора.

Построение прямоугольников и ломаных

 

Для построения прямоугольника достаточно вызвать процедуру Rectangle (Х1, Y 1, Х2, Y 2: Integer ), которая изобразит на экране прямоугольник с диагональю (X1, Y1) - (X2, Y2). Для рисования квадрата надо выбрать высоту прямоугольника так, чтобы она равнялась произведению ширины на коэффициент сжатия изображения.

Чтобы построить фигуры с большим количеством вершин (в том числе и незамкнутые), можно воспользоваться процедурой

Дата: 2019-05-29, просмотров: 210.