Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Turbo Pascal / Методические указание / Синтез графических образов простыми средствами.DOC
Скачиваний:
17
Добавлен:
15.06.2014
Размер:
205.82 Кб
Скачать

3 Практическое задание

Создать следующие динамические образы с использованием

множества однотипных объектов:

- песочные часы;

- обвал подмываемого берега;

- шарообразные детали на конвейере.

Список литературы

1. Боресков А.В., Шикин Е.В., Шикина Г.Е. Компьютерная графика: первое знакомство. - М.: Финансы и статистика, 1996.

2. Епанешников А.М., Епанешников В.А. Программирование в среде Turbo Pascal 7.0. - М.: Диалог - МИФИ, 1995.

3. Иванов В. М., Батраков А. С. Трехмерная компьютерная графика. - М.: Радио и связь, 1995.

4. Лапшин Е. Графика для IBM PC. - М.: СОЛОН, 1995.

5. Котов Ю. В. Как рисует машина. - М.: Наука, 1988. - 224 с.

6. Котов В.Ю., Павлова А.А. Основы машинной графики. - М.: Просвещение, 1993.

7. Дж. Корриган. Компьютерная графика: Секреты и решения. - М.: Диалог - МИФИ, 1995.

8 Д. Хирн, М. Бейкер. Микрокомпьютерная графика. Пер. с англ. - М.: Мир, 1987.

9. Фаронов В.В. Турбо Паскаль ( в 3-х книгах ). Практика программирования. - М.: УНЦ ”МВТУ ФЕСТО ДИДАКТИК”, 1993.

10. Шикин Е.В., Боресков А.В. Компьютерная графика. Динамика, реалистические изображения. - М.: Диалог - МИФИ, 1995.

11. Шикин Е.В., Боресков А.В., Зайцев А.А. Начала компьютерной графики. - М.: Диалог- МИФИ, 1993.

Приложение А Типовые графические функции BGI

При реализации приведенных в пособии типовых алгоритмов графики использованы следующие типовые графические процедуры и функции BorlandGraphicsInterface:

InitGraph(Gd, Gm, 'way') - переход к графическому режиму

(инициализация графики),

где Gd - имя графического драйвера,

Gm - номер графического режима монитора ,

'way' - дорожка DOS к файлам с графическими драйверами (*.bgi).

Обычно драйверы подключаются в режиме автоопределения используемого монитора ПК. Для этого перед инициализацией графики задается Gd:= Detect (или Gd:= 0). В этом случае по умолчанию устанавливается режим с наибольшим числом точек на экране, а значение параметра "Gm" игнорируется.

Номер наибольшего режима для текущего драйвера возвращает функция GetMaxMode. Изменить режим можно процедурой SetGraphMode( Gm). Экран при этом очищается.

Разрешающую способность для текущего графического режима можно определить функциями, возвращающими максимальные значения координат экрана

GetMaxX - по оси Х; GetMaxY - по оси Y.

Для возврата из графического режима в текстовый можно использовать операторы:

CloseGraph - полное прекращение работы графической системы;

RestoreCrtMode - переключение в текстовый режим с возможностью

возврата к текущим установкам графического режима (оператором SetGraphMode).

Очистить графический экран можно процедурой ClearDevice (без изменения установленных параметров) либо GraphDefaults ( устанавливаются параметры, принятые по умолчанию).

Процедуры рисования:

SetBkColor( N) - установить цвет N для пикселов фона;

SetColor( N) - установить цвет N для выводимых линий;

PutPixel( X, Y, N) - высветить цветом N пиксель с координатами X,Y;

GetPixel( X, Y) - определить цвет пиксела с координатами X, Y;

Circle( X, Y, R) - окружность с центром X, Y радиуса R;

Arc( X,Y, A1,A2, R) - дуга окружности;

Ellipse( X,Y, A1,A2, RX,RY) - сектор эллипса с полуосями RX,RY;

A1, A2 - начальный и конечный углы (в градусах),

отсчитываемые против часовой стрелки относительно оси Х;

Line( X1,Y1, X2,Y2) - отрезок прямой от точки с координатами

X1,Y1 к точке с координатами X2,Y2;

LineTo( X, Y) - отрезок прямой от текущего положения курсора

до точки X,Y;

LineRel( dX, dY) - отрезок прямой от текущего положения курсора

до точки, смещенной на расстояние dX,dY.

В отличие от процедуры Line процедуры LineTo и LineRel при своем исполнении перемещают текущий указатель. Перемещать курсор без рисования можно процедурами MoveTo(X, Y) и MoveRel(dX,dY).

В графическом режиме курсор невидим, а его положение можно определить функциями, возвращающими значения координат

GetX - по оси Х, GetY - по оси Y.

Rectangle( X1,Y1, X2,Y2) - прямоугольник с левым верхним углом в

точке X1,Y1 и правым нижним углом в точке X2,Y2 (стороны параллельны краям экрана ).

Для заполняемых фигур граница рисуется текущим цветом для линий. Цвет N и стиль заполнения P (орнамент) можно устанавливать из стандартного набора BGI или определять самим процедурой SetFillStyle( P, N).

Bar( X1,Y1, X2,Y2) - заполненный прямоугольник;

Bar3d( X1,Y1, X2,Y2, d, t) - параллелепипед с заполненной передней

гранью (координаты углов грани X1,Y1, X2,Y2), глубиной d. Переменная t типа boolean задает вывод верхней грани. При t=TopOn (true) верхняя грань показывается, при t=TopOff (false) - нет.

FillEllipse( X,Y, RX,RY) - заполненный эллипс;

Sector( X,Y, A1,A2, RX,RY) - заполненный сектор эллипса;

PieSlice( X,Y, A1,A2, R) - заполненный сектор круга.

Составитель: ТРУШИН Олег Владимирович

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам

по курсу "Интерактивная машинная графика"

для подготовки инженеров по специальности 220200 "Автоматизированные системы обработки информации и управления"