Published using Google Docs
lab5
Updated automatically every 5 minutes

Лабораторная работа №5

 

ПОСТРОЕНИЕ ЭКРАННОГО ОТОБРАЖЕНИЯ

КАРКАСНОЙ МОДЕЛИ ТРЕХМЕРНОГО ОБЪЕКТА

 

Цель работы: научиться использовать аппарат видовых, перспективных и экранных преобразований для генерации плоских проекций трехмерных объектов, представленных в виде каркасных геометрических моделей.

 

Теоретические сведения

 

             При проецировании объемного объекта на экранную плоскость для каждой точки объекта производится выполнение последовательности преобразований, переводящих точку из трехмерного пространства в двухмерное. Первоначально предполагается, что точка задана в мировых координатах (Xw,Yw,Zw) и требуется найти ее отображение на экране (Xs,Ys). Процесс визуализации будет проходить в три этапа: а) видовое б) перспективное в) экранное преобразование.

             Для видового преобразования необходима точка наблюдения (View Point), определяющая положение глаза наблюдателя или камеры. В математическом выражении, представляющем собой произведение вектора однородных координат точки объекта на матрицу преобразования, используются: величина R (расстояние от точки наблюдения до начала мировой системы координат), полярные углы q и j (в горизонтальной и вертикальной плоскости соответственно).

 

| Xe Ye Ze 1 | = | Xw Yw Zw 1 | * V  

  

             Данная матрица получена в результате смены мировой системы координат на пользовательскую с началом координат в точке наблюдения.

             Перспективные преобразования учитывают некоторые эффекты, связанные с особенностями зрительной системы человека и позволяют сделать изображение более реалистичным. При применении ортогональной проекции, в которой проекторами являются параллельные линии, просто отбрасывается координата Ze, а (Xe,Ye) представляет точку в двухмерном пространстве. В центральной проекции, центр проецирования в общем случае является точкой схода всех лучей-проекторов. Разместив центр в точке наблюдения и задав расстояние d от нее до экранной плоскости, получим следующие выражения:

 

X = d * (Xe / Ze)               Y = d * (Ye / Ze)

 

             Оценочное значение величины d подбирается исходя из соотношения:

 

d = R * ( <размер изображения> / <размер объекта>)

 

             Экранное преобразование осуществляет коррекцию координат (X,Y) в (Xs,Ys) с учетом таких параметров, как текущее разрешение графического дисплея, сдвига по осям, направления оси ординат.

             Построение каркасного отображения трехмерного объекта, или так называемой «проволочной» (wireframe) модели, заключается в выполнении описанных преобразований для каждой точки - вершины объекта и последующей прорисовки ребер в виде отрезков, соединяющих найденные проекции вершин.

             В случае если требуется получить изображение твердотельного объекта, применяется один из алгоритмов удаления невидимых линий и поверхностей.

 

Порядок выполнения работы

 

             1. Получить задание на лабораторную работу (трехмерный объект для исследования).

             2. Составить геометрическую модель трехмерного объекта, включающую описание координат всех его вершин и ребер.

             3. Написать и отладить программу, выполняющую видовые, перспективные и экранные преобразования. В результате работы программы на экране должно строится каркасное отображение трехмерного объекта в параллельной и перспективной проекциях. Подобрать соответствующие параметры: размеры изображения, объекта, d, и т.д. Программа должна позволять интерактивно с клавиатуры изменять значения d, R и полярных углов точки наблюдения.

             4. Исследовать полученные проекции трехмерного объекта под разными углами наблюдения, с различными расстояниями до наблюдателя и экранной плоскости, оценить искажения.

 

Содержание отчета

 

             1. Модель исследуемого трехмерного объекта.

             2. Листинг программы.

             3. Распечатки экранных проекций объекта с различным положением точки наблюдения.

             4. Выводы о проделанной работе.

 

Контрольные вопросы

 

1. Для чего используются видовые, перспективные и экранные преобразования?

2. Какие виды проекций бывают?

3. Что представляет собой каркасная модель трехмерного графического объекта? В чем ее достоинства и недостатки?

 

Литература

 

1. Аммерал Л. Машинная графика на языке Си. В 4-х кн. Кн.1. Принципы программирования в машинной графике. Пер. с англ. - М: Сол Систем, 1992.

             2. Карпов Е.В. Геометрическое моделирование и машинная графика в САПР: Методические указания к курсовому проектированию. - Пенза: ПГТУ, 1994. - 41 c.