Лабораторная работа № 8. Представление и проецирование трехмерных объектов
Цель работы: Научиться применять математический аппарат проекций для визуализации объемных геометрических тел.
Краткие теоретические сведения
Изображение объектов на экране связано с такой геометрической операцией, как проецирование. В компьютерной графике используют в основном параллельное и центральное проецирование прямыми лучами на плоскость. Параллельное проецирование предполагает наличие:
· центра проецирования в бесконечности,
· вектора проецирования и проецирующих лучей, параллельных данному вектору,
· проецирующей (картинной) плоскости.
При центральном проецировании явно задаются:
· координаты точки - центра проецирования,
· картинная плоскость.
Центральное проецирование порождает визуальный эффект, аналогичный зрительному - перспективное укорачивание: с увеличением расстояния от центра проекции до объекта его размеры уменьшаются. Поэтому оно используется для создания реальных картин, но непригодно для представления точной формы и размеров объектов проецирования, необходимое, например, в чертежных задачах конструкторской графики.
Параллельное проецирование дает менее реалистичное изображение (нет перспективного укорачивания), но предоставляет пользователю истинные с точностью до скалярного множителя размеры.
Для описания преобразований проецирования используются однородные координаты и матрицы четвертого порядка, что упрощает изложение материала и облегчает решение задач геометрического моделирования.
Матрицы проецирования
1. Одноточечные (имеющие одну точку схода) центральные проекции характеризуются следующим: плоскость проекции совпадает с координатной Z=0, центр проекции имеет координаты (0,0,-d). Матрица проецирования имеет вид .
Для получения проекции точки в пространстве с координатами (x,y,z,1) необходимо найти ее новые однородные, а затем - новые координаты ( ) так
2. Ортографические (вид спереди, сверху, сбоку) параллельные проекции: картинная плоскость совпадает с одной из координатных, направление проецирования - с одной из главных осей.
Матрица проецирования вдоль оси Х на плоскость YOZ
При построении вида сбоку х – координату точки проекции заменяют координатой z, y - координата остается без изменения.
Вдоль оси Y на плоскость XOZ:
При построении вида сверху y – координату точки проекции заменяют координатой z. x - координата остается без изменения.
Вдоль оси Z на XOY:
При построении вида спереди координаты z точек проекции отбрасываются.
3. Аксонометрические прямоугольные параллельные проекции – проецирующие прямые перпендикулярны картинной плоскости, которая не совпадает (не параллельна) ни с одной из координатных плоскостей.
Общий вид матрицы таких проекций: ,
где p и f - углы, которые нормаль к картинной плоскости образует с ортами координатных осей (соответственно OY и OX).
Для построения стандартной изометрии следует взять p равным 45, f - 35.264 градусам. Для стандартной диметpии: p=22.208,f=20.705 градусов. При других значениях углов получается тpиметpию. Значения углов в матрицу подставляются в радианах.
4. Косоугольная параллельная аксонометрия - проекторы не перпендикулярны картинной плоскости, которая совпадает (параллельна) с одной из координатных плоскостей. Самые простые и наглядные из косоугольных - фронтальные проекции (картинная плоскость параллельна XOZ).Из них - косоугольная фронтальная диметрия (кабине) и косоугольная фронтальная изометрия (кавалье). Матрицы для этих двух проекций выглядят так: ,
где l = 1 для кавалье и 0.5 для кабине, π=3.14159.
Для получения координат проекции любой точки изображения необходимо исходные координаты этой точки перемножить с соответствующей матрицей. Например, для получения проекции куба на экране, необходимо найти новые координаты восьми точек - вершин куба, затем соединить их отрезками в определенной последовательности. Процедура нахождения новых координат проекции кавалье, например, будет выглядеть так:
.
В данной лабораторной работе достаточно описать 3D-объект координатами его вершин. Например, брусок с длинами сторон по Х,Y,Z = (30,50,70) пикселов:
type
TXYZ=record x,y,z:integer; end;
const V:array[0..7] of TXYZ= (
(x:-15;y: 25;z:-35),
(x:-15;y:-25;z:-35),
(x: 15;y:-25;z:-35),
(x: 15;y: 25;z:-35),
(x: 15;y: 25;z: 35),
(x: 15;y:-25;z: 35),
(x:-15;y:-25;z: 35),
(x:-15;y: 25;z: 35)
);
Задание на лабораторную работу:
1. Описать брусок в приборной системе координат.
2. Вывести на экран три его ортогональные проекции (вид спереди, сверху, сбоку).
3. Пpодемонстpиpовать три прямоугольные аксонометрические проекции данного бруска (изометрию, диметрию, тpиметpию).
4. Постpоить две косоугольные аксонометрические проекции бруска (кавалье, кабине).
5. Показать одноточечную центральную проекцию бруска.
Требования к защите лабораторной работы
Защита лабораторной работы состоит из демонстрации преподавателю результатов выполнения задания на лабораторную работу и ответов на задаваемые преподавателем вопросы по ходу демонстрации.
Требования к отчету.
Отчет выполняется на отдельных листах формата А4. Содержит титульный лист с названием работы, оформленный согласно требованиям кафедры и распечатку программы с комментариями - результат выполнения задания.
Вопросы для самоподготовки:
1. Как из однородных координат получить реальные?
2. Чем отличаются параллельное и перспективное (центральное) проецирование? Где применяются то и другое?
3. Каким образом можно получить ортографические проекции тела на картинную плоскость?
4. Что такое аксонометрия? Какой она может быть?
5. Каким образом можно получить изометрию (диметрию) каркаса куба на экране?
6. К какой группе проекций относятся кавалье и кабине.? Чем они отличаются и как их можно получить?
Литература
1. Фоли, Дж. Основы интерактивной машинной графики [текст]: В 2 кн. кн.1, 2 / Дж. Фоли, А. Дэм; под ред. Ю. М. Баяковского; пер. с англ. В. А. Галактионова и др. - М.: Мир, 1985.
2. Шикин, Е. В. Компьютерная графика: Динамика, реалист. изображения [текст] /Е.В. Шикин, А.В. Боресков. - М.: ДИАЛОГ-МИФИ, 1996. - 287c.: ил.
3. Боресков, А. В. Компьютерная графика: первое знакомство [текст] / А. В. Боресков, Е. В. Шикин, Г. Е. Шикина; Под ред. Е. В. Шикина. - М.: Финансы и статистика, 1996. - 176c.: ил. - (Диалог с компьютером).