Построение 3D объектов каркасным методом, с возможностью изменения точек наблюдения

Автор: Пользователь скрыл имя, 18 Декабря 2011 в 15:30, курсовая работа

Описание работы

Рассмотрим трехмерную декартовую систему координат, являющуюся правосторонней. Примем соглашение, в соответствии с которым, будем считать положительными такие повороты, при которых (если смотреть с конца полуоси в направлении начала координат) поворот на 90 против часовой стрелки будет переводить одну полуось в другую.

Содержание

ПОСТАНОВКА ЗАДАЧИ 3
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 3
Трехмерные преобразования 3
Проекции 6
Математическое описание плоских геометрических проекций 11
АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ 14
ОПИСАНИЕ ПРОГРАММЫ 17
Системные требования 17
Руководство пользователя 17
Листинг программы 19
ЛИТЕРАТУРА 25

Работа содержит 1 файл

Пояснительная записка.doc

— 521.50 Кб (Скачать)

                       МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

       ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮЮЖНЫЙ ФЕДЕРАЛЬНЫЙ  УНИВЕРСИТЕТ

       ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТЮЖНОГО ФЕДЕРАЛЬНОГО УНИВЕРСИТЕТА В г. ТАГАНРОГЕ

 
 

       

 

       

 
 
 
 
 
 

       Курсовая  работа

       по  курсу «Компьютерная графика»

       на  тему: «Построение 3D объектов каркасным методом, с возможностью изменения точек наблюдения»

 
 
 

                    Выполнил:

                    студент группы ЗКС-529

                    Вихров М.Н.

 
 

                    Проверил:

                    ассистент кафедры САиТ

                    Вишняков  Р.Ю.

 
 
 

                                                                    Таганрог 2010

       ОГЛАВЛЕНИЕ

           

    ПОСТАНОВКА  ЗАДАЧИ

 

       Построение 3-мерных объектов каркасным методом, с возможностью изменения точек  наблюдения.

    ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

    Трехмерные  преобразования

 

       Рассмотрим  трехмерную декартовую систему координат, являющуюся правосторонней. Примем соглашение, в соответствии с которым, будем считать положительными такие повороты, при которых (если смотреть с конца полуоси  в направлении начала координат) поворот на 90° против часовой стрелки будет переводить одну полуось в другую. На основе этого соглашения строится следующая таблица, которую можно использовать как для правых, так и для левых систем координат:

 
       Если ось вращения        Положительным будет направление поворота
    X     От  y  к  z
    Y     От  z  к  x
    Z     От  x  к  y
 

    

       Рис. 1 Трехмерная система координат

     

       Аналогично  тому, как точка на плоскости описывается  вектором (x,y), точка в трехмерном пространстве описывается вектором (x,y,z).

       Как и в двухмерном случае, для возможности реализаций трехмерных преобразований  с помощью матриц перейдем к однородным координатам:

 

       [x,y,z,1] или [X,Y,Z,H]

       [x*,y*,z*,1] = [ ], где Н¹1, ¹0

       Обобщенная  матрица преобразования 4´4 для трехмерных однородных координат имеет вид

 

        Т=

       Эта матрица может быть представлена в виде 4-х отдельных частей:

       

       Матрица 3´3 осуществляет линейное1 преобразование в виде изменения масштаба, сдвига и вращения.

       Матрица 1´3 производит перенос

       Матрица 3´1- преобразования в перспективе

       Скалярный элемент 1´1 выполняет общее изменение масштаба

 

       Рассмотрим  воздействие матрица 4´4 на однородный вектор [x,y,z,1]

 

       1) Трехмерный перенос – является простым расширением двумерного:

       T(Dx,Dy,Dz)=

       т.е. [x,y,z,1]*T(Dx,Dy,Dz)=[x+Dx,y+Dy,z+Dz,1]

 

       2) Трехмерное изменение масштаба

       Рассмотрим  частичное изменение масштаба. Оно реализуется следующим образом:

       S(Sx,Sy,Sz,)=

       т.е. [x,y,z,1]*S(Sx,Sy,Sz)=[Sx*x,Sy*y,Sz*z,1]

 

       Общее изменение масштаба получается за счет 4-ого диагонального элемента, т.е.:

 

       [x y z 1] * = [x y z S] = [x* y* z* 1] = [ ]

 

       Такой же результат можно получить при  равных коэффициентах частичных  изменений масштабов. В этом случае матрица преобразования такова:

        S=

 

       3) Трехмерный сдвиг

       Недиагональные элементы матрицы 3´3 осуществляют сдвиг в 3-х измерениях, т.е.

       [x y z 1]* =[x+yd+hz, bx+y+iz, cx+fy+z, 1]

       4) Трехмерное вращение

       Двухмерный поворот, рассмотренный ранее, является  в то же время трехмерным поворотом вокруг оси Z . В 3-х мерном пространстве поворот вокруг оси Z описывается матрицей

 

       Rz( )=

       Матрица поворота вокруг оси X имеет вид

       Rx( )=

       Матрица поворота вокруг оси Y имеет вид

          

       Ry( )=

       Результатом произвольной последовательности поворотов  вокруг осей x, y, z  является матрица

       А=

       Подматрицу 3´3 называют ортогональной, т.к. ее столбцы являются взаимно ортогональными един. векторами.

       Матрицы поворота сохраняют длину и углы, а матрицы масштабирования и  сдвига нет.

    Проекции

 

       В общем случае проекции преобразуют  точки, заданные в системе координат  размерностью  n, в системы координат размерностью меньше, чем  n.

       Будем  рассматривать случай проецирования 3 измерений в 2. Проекция трехмерного  объекта (представленного в виде совокупности точек) строится при помощи прямых проекционных лучей, которые  называются проекторами и которые проходят через каждую точку объекта и, пересекая картинную плоскость, образуют проекцию.

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

       Многие  картографические проекции являются либо не плоскими, либо не геометрическими.

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

       Проекции  делятся на два основных класса:

    • параллельные проекции (аксонометрические)
    • центральные проекции

        

       

       Рисунок 3 - Классификация проекций

       Параллельные проекции делятся на два типа в зависимости от соотношения между направлением проецирования и нормалью к проекционной плоскости.

    1. Ортографические – направления совпадают, т. е. направление проецирования является нормалью к проекционной плоскости.  
    2. Косоугольные – направление проецирования и нормаль к проекционной плоскости не совпадают.
 

       

       Рисунок 4 - Ортографические и косоугольные проекции

 

       Наиболее  широко используемыми видами ортографических  проекций является вид спереди, вид  сверху(план) и вид сбоку, в которых  картинная плоскость перпендикулярна главным координатным осям. Если проекционные плоскости не перпендикулярны главным координатным осям, то такие проекции называются аксонометрическими.

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

       Изометрическая проекция – нормаль к проекционной плоскости (а следовательно и направление проецирование) составляют равные углы с каждой из главных координатных  осей. Если нормаль к проекционной плоскости имеет координаты (a,b,c), то потребуем, чтобы |a| = |b| = |c| или ±a=±b=±c, т. е. имеется 8 направлений (по одному в каждом из октантов), которые удовлетворяют этому условию. Однако существует лишь 4 различных изометрических проекции (если не рассматривать удаление скрытых линий), т.к. векторы (a, a, a) и (-a,-a,-a) определяют нормали к одной и той же проекционной плоскости.

       Изометрическая  проекция обладает следующим свойством: все 3 главные координатные оси одинаково укорачиваются. Поэтому можно проводить измерения вдоль направления осей с одним и тем же масштабом. Кроме того, главные координатные оси проецируются так, что их проекции составляют равные углы друг с другом (120°).

 

Рисунок 5 -  Изометрическая проекция единичного куба

 

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

       Двумя важными видами косоугольных проекций являются проекции:

       Кавалье (cavalier) – горизонтальная косоугольная изометрия (военная перспектива)

       Кабине (cabinet) – фронтальная косоугольная диметрия.

    

       Рисунок 6 -  Проекция Кавалье

       В проекции Кавалье направление проецирование составляет с плоскостью угол 45°. В результате проекция отрезка, перпендикулярного проекционной плоскости, имеет ту же длину, что и сам отрезок, т.е. укорачивание отсутствует.

 

    

       Рисунок 7 - Проекция Кабине

       Проекция  Кабине имеет направление проецирование, которое составляет с проекционной плоскостью угол = arctg(½) (≈26,5°). При этом отрезки, перпендикулярные проекционной плоскости, после проецирования составляют ½ их действительной длины. Проекции кабине являются более реалистическими, чем проекции Кавалье, т. к. укорачивание с коэффициентом ½ больше согласуются с нашим визуальным опытом.

       Центральная проекция любой совокупности параллельных прямых, которые не параллельны проекционной плоскости, будет сходиться в точке схода. Точек схода бесконечно много. Если совокупность прямых параллельна одной из главных координатных, осей, то их точка схода называется главной точкой схода. Имеются только 3 такие точки, соответствующие пересечениям главных координатных осей с проекционной плоскостью. Центральные проекции классифицируются в зависимости от числа главных точек схода, которыми они обладают, а, следовательно, и от числа координатных осей, которые пересекают проекционную плоскость.

Информация о работе Построение 3D объектов каркасным методом, с возможностью изменения точек наблюдения