Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проги, ЛЕКЦИИ / Программирование Лекция 13 ооп.pps
Скачиваний:
39
Добавлен:
12.02.2015
Размер:
289.28 Кб
Скачать

Посторение графика функции

Поддержка графики

Режим монитора

текстовый, когда экран разбивается на 25 строк и 80 столбцов,

графическом (монитор представляет собой матрицу точек - пикселями.

Видеоадаптер (графический адаптер, видеокарта, видеоплата) - устройство, обеспечивающее взаимодействие процессора с монитором и реализующий тот или иной режим разрешимости и цветности. Адаптер называют по имени монитора.

Драйвер - программа, осуществляющая связь операционной системы с внешними устройствами. Все драйверы хранятся в BGI файлах.

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

Uses Graph;

Инициализация графического

режима

InitGraph (var GraphDriver, Mode : integer; Path : string)

Инициализация графического режима

Program pr; Uses crt,graph;

Var GraphDriver,Mode:integer; Begin

GraphDriver:=Detect;

initGraph(GraphDriver,Mode,‘‘);

. . .

closegraph; {восстановление текстового режима}

end;

Система координат

Максимально возможные значения по x и по y

GetMaxx : integer; GetMaxy : integer;

Пример: координаты центра экрана:

Xcent := getmaxx div 2; Ycent := getmaxy div 2;

Точка начала рисования называется текущим указателем, или графическим курсором. Графический курсор невидим на экране, но программа помнит, где он находится.

MoveTo (X,Y) - Поместить графический курсор в точку с координатами (X,Y) .

Getx, Gety - возвращают соответственно X- иY-координаты графического курсора:

Xpos := Getx; Ypos := Gety;

MoveTo(Xpos+50,Ypos-50);

Коэффициент сжатия

Для драйвера и графического режима существует коэффициент сжатия - AspectRatio деление ширины пиксела на его высоту.

GetAspectRatio (var Xasp, Yasp : word)

( для драйвера Egavga

Xasp = 7750 и Yasp= 10000).

Построение зрительно правильного квадрата со стороной 200 пикселов.

Корректировка по оси ОY:

Getaspectratio(XAsp; Asp); y2:=Round(XAsp/YAsp*200); Rectangle(0,0,200,y2);

Масштаб

 

Xn,Yn

Xk

Yk

 

Декартовы координаты

Экранные координаты

Задание осей координат

Разметка осей

Задание графика

В виде функции (непрерывно)

В виде массива точек (дискретно)