Установка графического режима работы
Методические указания
К лабораторной работе
Компьютерная графика
Часть 5
Знакомство с фрактальной графикой
Цель работы
Познакомиться с основами создания фрактальных композиций при помощи среды программирования Паскаль.
Задачи работы
Изучить графические возможности языка Паскаль.
Порядок выполнения работы
3.1Загрузите среду программирования Паскаль. Создайте с ее помощью фрактальную композицию, основанную на повторении пересекающихся окружностей некоторого радиуса. При построении композиции используйте исходные данные из приложения А в соответствии с вариантом, указанным преподавателем. Образец фрактальной композиции предложен на рисунке Б1 приложения Б.
3.2 Создайте многоцветный вариант Вашей композиции, задавая цвет закрашивания отдельных элементов композиции в зависимости от номера шага цикла (см. рисунок Б2 приложения Б).
3.3 Создайте двухцветный вариант данной композиции, основанный на чередовании светлого и темного цвета (см. рисунок Б3 приложения Б).
Отчет о проделанной работе должен содержать
- название и цель работы;
- номер своего варианта при выполнении работы;
- текст программы к п.3.1 с указанием в скобках изменений для п.3.2. и 3.3;
- рисунки с фрагментами всех трех вариантов Вашей фрактальной композиции;
- ответы на контрольные вопросы пункта 7 в соответствии с указаниями преподавателя.
Теоретические положения
Понятие фрактальной графики
Программные средства для работы с фрактальной графикой предназначены для автоматической генерации изображения путем математических расчетов.
Фрактальная графика является вычисляемой, т.е. изображение строится по некоторым математическим уравнениям либо системам уравнений. В основе созданных таким образом фрактальных композиций лежат мелкие фрактальные объекты, объединенные в фигуры по принципу наследования.
Способность фрактальной графики моделировать композиции вычислительным путем часто используют для автоматизации создания необычных иллюстраций, узоров, космических ландшафтов и т.д.
Графические возможности языка Паскаль
Язык программирования Паскаль 7.0 содержит обширный набор типов, констант и функций для управления графическим режимом работы экрана, объединенных в стандартный библиотечный модуль GRAPH. С помощью подпрограмм, входящих в данный модуль, можно создавать сложные графические изображения, основанные на использовании разнообразных геометрических фигур. При необходимости замкнутые фигуры могут быть закрашены различными цветами и стилями (образцами) закраски. Для вывода текстовых надписей на графический экран могут быть использованы четыре штриховых и один матричный шрифт.
Подпрограммы модуля GRAPH могут поддерживать различные типы аппаратных графических средств. Настройка на конкретные технические средства осуществляется с помощью специальных программ – драйверов, поставляемых вместе с данным модулем.
Установка графического режима работы
Переход в графический режим в среде Паскаль осуществляется с помощью входящей в модуль GRAPH процедуры InitGraph, служащей для инициализации графического экрана. Данная процедура имеет следующий формат:
InitGraph(var Driver, Mode:integer; Path:string),
где переменные Driver и Mode должны содержать тип графического драйвера и его режим работы. Допускается указать Driver=0 для автоматического определения данных параметров по результатам тестирования аппаратуры. Параметр Path определяет маршрут поиска файла графического адаптера.
Графические операторы языка Паскаль позволяют адресоваться к любому элементу (пикселю) графического окна и управлять светимостью этого элемента. Для указания пикселя используется следующая система координат: начало координат (0,0) располагается в левом верхнем углу экрана; горизонтальная координата Х увеличивается слева направо, вертикальная координата Y увеличивается сверху вниз. При стандартном графическом адаптере VGA (в режиме 640х480) правый нижний угол экрана имеет координаты (639, 479), а центр экрана - координаты (319, 239).
Для выхода из графического режима достаточно воспользоваться процедурой CloseGraph.
Пример 1
program pr1;
uses Graph; {Подключение графического модуля Graph}
var d, m: Integer;
begin
d:=0;
m:=0;
InitGraph(d, m,'d:\bp\bgi'); {Переход в графический режим. Строка d:\bp\bgi указывает путь размещения файла Graph.tpu для конкретного компьютера, на котором разрабатывалась данная программа}
circle(319, 239, 100); {Рисование круга радиуса 100 с центром в середине экрана}
readln; {Оператор ввода, используемый в данном случае для задержки изображения на экране вплоть до нажатия на клавишу Enter}
CloseGraph; {Выход из графического режима}
end.
Приведенная выше в примере 1 программа позволяет нарисовать круг радиуса 100 с центром в точке (319, 239). Т.к. данная программа не использует цветовые возможности графического режима, то рисование будет осуществляться цветами по умолчанию – белый рисунок на черном фоне.
Использование цветов
Язык программирования Паскаль 7.0 поддерживает 16 основных цветов, обозначаемых соответственно номерами от 0 до 15 (см. таблицу 1).
Таблица 1 Константы цвета
Константа цвета | Цвет | Константа цвета | Цвет |
0 (Black) | Черный | 8 (DarkGray) | Темносерый |
1 (Blue) | Синий | 9 (LightBlue) | Яркосиний |
2 (Green) | Зеленый | 10 (LightGreen) | Яркозеленый |
3 (Cyan) | Голубой | 11 (LightCyan) | Яркоголубой |
4 (Red) | Красный | 12 (LightRed) | Розовый |
5 (Magenta) | Фиолетовый | 13 (LightMagenta) | Малиновый |
6 (Brown) | Коричневый | 14 (Yellow) | Желтый |
7 (LightGray) | Светлосерый | 15 (White) | Белый |
Основными графическими операторами по работе с цветами являются процедуры модуля GRAPH под именами SetBkColor (служит для установки цвета фона)и SetColor (для установки цвета рисования).
Формат данных операторов следующий:
SetBkColor (Color: word);
SetColor (Color: word),
где переменная Color, имеющая целочисленный тип word, служит для указания требуемого номера цвета.
Например, операторы SetBkColor (1); SetColor (14) позволяют установить режим рисования желтым цветом по синему фону.