Реферат: Модуль Graph в программе Turbo Pascal
3. Графическая координата Y отсчитывается сверху вниз.
Таким образом, геометрические декартовы координаты точки (X, Y) для отображения на экране следует пересчитать в графические (Xg, Yg) по формулам:
Xg= ë Sx*X û + dx,
Yg= ry- ë Sy*Y û – dy,
Где ë X û - целая часть X, Sx , Sy - масштабные множители, выбираемые из условия
rx= ë Sx*Xmax û +1
ry= ë Sx*Ymax û +1
Xmax , Ymax - максимальные значения геометрических координат.
Слагаемые dx , dy обеспечивают смещение относительно левого верхнего угла экрана.
Изображение будет смещено в центр экрана при dx = ë rx /2 û , dy = ë ry /2 û .
В графическом режиме текущий указатель перемещается специальными процедурами.
Процедура MoveTo (х, у: Integer ) перемещает его в точку экрана с координатами (х, у).
Процедура MoveRel ( dx , dy : Integer ) перемещает текущий указатель на dx пикселов по горизонтали и соответственно на dy по вертикали относительно последнего положения текущего указателя. Положительные значения dx и dy увеличивают его координаты, а отрицательные — уменьшают.
В системе координат дисплея ось Y направлена вниз, поэтому, если указатель надо перенести вверх, то приращение dy должно быть отрицательным .
Для определения текущего положения графического курсора используются функции
GetX : Integer ;
GetY : Integer ,
возвращающие положение указателя соответственно по оси X и по оси Y. Позиционирование текущего указателя и опрос его местонахождения работают корректно, даже если работа происходит за пределами координат устройства.
Изменяют положение текущего указателя также процедуры LineTo, LineRel, OutText.
Все процедуры инициализации и очистки экрана (InitGraph, GraphDefaults, ClearDevice, SetGraphMode, SetViewPort и ClearViewPort) устанавливают текущий указатель в положение (0,0).
Рисование графических примитивов и фигур. Линии и их стили
Процедура вывода линии (отрезка) на экран (в текущем цвете и стиле) определена в следующем виде:
Line (Х1, Y1, Х 2, Y2: Integer)
Здесь задаются координаты начала (X1,Y1) и конца (X2,Y2) отрезка. Возможны еще два метода рисования отрезков:
1. Из текущей точки в точку с заданными координатами (X,Y). Выполняется процедурой
2. LineTo ( х, у: Integer )
3. Относительно текущей позиции. Положение текущего указателя принимается за начало «временных» координат (0,0) и указывается местоположение конца отрезка в них. Такое построение делает процедура
4. LineRel ( dx , dy : Integer )
Координаты концов могут превышать границы графического окна. При этом часть отрезка может быть обрезана (но текущий указатель переместится в координаты конца отрезка).