Для оптимизации и интентификации учебного процесса разработана программа для построения перспективы зданий. Основное предназначение программы – построение прямой линейной перспективы. Она призвана помочь студентам, изучающим перспективу в рамках таких курсов, как «Компьютерная графика», «Начертательная геометрия» и «Инженерная графика».
Программа позволяет строить следующие примитивы:
1. Многоугольник;
2. Параллелепипед.
Такой выбор обусловлен тем, что этих примитивов достаточно для построения изображений схематических зданий.
Программа реализована на языке Pascal и выполняется в операционной системе DOS или при помощи ее эмуляторов.
Приложение имеет командный интерфейс (рис. 1) и позволяет вводить следующие команды:
а) about – вывод информации о программе;
б) help – вывод информации о доступных командах;
в) box – диалог построения параллелепипеда;
г) polygon – диалог построения многоугольника;
д) show – вывод матрицы координат;
е) modify – диалог изменения элемента матрицы координат;
ж) print – вывод результата на экран (рис. 2);
з) exit – завершение работы программы.
В основе программы лежит алгоритм перспективных преобразований матрицы координат. Перспективную проекцию можно получить путем следующих преобразований: поворота вокруг оси Y, перемещения, выбора точки зрения.
Каждому из этих преобразований соответствует определенная матрица. Для того чтобы выполнить преобразование, необходимо умножить матрицу координат на соответствующую матрицу преобразования. Чтобы получить перспективную проекцию, необходимо последовательно умножить матрицу координат на матрицы поворота, перемещения и выбора точки зрения, либо умножить ее на матрицу перспективного преобразования, являющуюся произведением трех вышеуказанных матриц. Окончательные координаты проекции мы получим, разделив компоненты первого и второго столбцов на соответствующие компоненты четвертого столбца.
Рис. 1
Рис. 2
Матрица координат (координаты y и z переставлены местами из-за специфики компьютерной графики (ось Z направлена на наблюдателя)):
– матрица поворота, - матрица перемещения, – матрица выбора точки зрения, – матрица перспективного преобразования:
Умножаем матрицу координат на матрицу преобразования:
Делим элементы первого и второго столбцов получившейся матрицы на соответствующие элементы четвертого столбца:
Отбросив третий и четвертый столбец, получим результирующую матрицу:
Программа помогает учащимся быстрее изучать перспективу прямых, плоских фигур и зданий.