В модуле Graph языка Паскаль имеется возможность рисовать фигуры, используя относительные координаты. Для этого используется понятие "текущий указатель" Текущий указатель (CP – Current Pointer) используется во многих графических системах. Понятие СР аналогично понятию курсора для текстового режима, за исключением того, что текущий указатель невидим. Для вывода произвольных графических изображений используется ряд процедур.
Процедура MoveTo
Функция: Перемещает текущий графический указатель (СР) в точку (x, y).
Описание: MoveTo(x, y).
Процедура MoveRel
Функция: Перемещает текущий указатель на расстояние, заданное относительными координатами от его текущей позиции.
Описание: MoveRel (Dx, Dy).
Примечания: Процедура MoveRel перемещает текущий указатель в точку, заданную относительным расстоянием (Dx, Dy) от точки, в которой находится текущий указатель. Относительные команды перемещения и рисования полезны при вычерчивании различных объектов на экране, у которых начальная точка может быть изменена (чтобы, например, вычертить ту же самую фигуру в другом месте экрана).
Процедура LineRel
Описание: LineRel(Dx, Dy).
Примечания: Данная процедура вычерчивает прямую линию из текущей точки в точку, заданную относительным расстоянием (Dx, Dy) от текущего указателя. Процедура рисует прямую линию, толщина и тип которой задаются процедурой SetLineStyle, а цвет устанавливается процедурой SetColor. Относительные команды перемещения и рисования полезны при вычерчивании различных объектов на экране, у которых начальная точка может быть изменена (чтобы, например, вычертить ту же самую фигуру в другом месте экрана).
Процедура LineTo
Описание: LineTo (x, y).
Примечания: Рисует прямую линию, толщина и тип которой задаются процедурой SetLineStyle, а цвет задается процедурой SetColor. Заметим, что MoveTo (1000,100); LineTo (200, 200) эквивалентно Line (100, 100, 200, 200).
Первый метод требует большего времени для выполнения и большего объема памяти для выполняемого кода. Используйте LineTo только тогда, когда текущий указатель находится в одном из концов прямой. Отметим, что второй метод не изменяет значения текущего указателя.
Процедура ClearDevice
Функция: процедура ClearDevice устанавливает текущий указатель в исходное положение (точка с координатами (0, 0)) и очищает экран, заполняя его цветом фона.
Пример программы:
Построить правильный многоугольник с заданным числом сторон.
Центр многоугольника совместим с центром экрана. Пусть N – число его сторон. Центральный угол стороны Angle=2*Pi/N. Начальную вершину многоугольника поместим на горизонтальной оси (правее центра). Угол наклона i-той вершины к оси Х составляет Angle*i, а ее центральные координаты X, Y:
X=round(R*cos(Angle*I);
Y=round(R*sin(Angle*i)
- где R – радиус описанной окружности.
Проводим i-тую сторону, соединяя линией найденную i-тую предыдущую вершины. Выполнив это построение для всех i от 1 до N, получаем многоугольник. (Отметим, что N-я вершина совпадает с начальной).