Реферат: Модуль Graph в программе Turbo Pascal
Var
d,r,e:integer;
a,b :word;
Begin
d:=Detect;
InitGraph(d,r,'');
e:=GraphResult;
if e<>grOk then
writeln(GraphErrorMsg(e))
else
begin
GetAspectRatio(a,b);
Rectangle(20,20,round(l*(b/a)),l);
readln;
CloseGraph;
end
End.
Окружности , эллипсы и дуги
Для изображения окружностей используется процедура
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)