Автор: Пользователь скрыл имя, 18 Декабря 2011 в 15:30, курсовая работа
Рассмотрим трехмерную декартовую систему координат, являющуюся правосторонней. Примем соглашение, в соответствии с которым, будем считать положительными такие повороты, при которых (если смотреть с конца полуоси в направлении начала координат) поворот на 90 против часовой стрелки будет переводить одну полуось в другую.
ПОСТАНОВКА ЗАДАЧИ 3
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 3
Трехмерные преобразования 3
Проекции 6
Математическое описание плоских геометрических проекций 11
АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ 14
ОПИСАНИЕ ПРОГРАММЫ 17
Системные требования 17
Руководство пользователя 17
Листинг программы 19
ЛИТЕРАТУРА 25
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ
ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТЮЖНОГО ФЕДЕРАЛЬНОГО УНИВЕРСИТЕТА В г. ТАГАНРОГЕ
Курсовая работа
по курсу «Компьютерная графика»
на тему: «Построение 3D объектов каркасным методом, с возможностью изменения точек наблюдения»
Выполнил:
студент группы ЗКС-529
Вихров М.Н.
Проверил:
ассистент кафедры САиТ
Вишняков Р.Ю.
ОГЛАВЛЕНИЕ
Построение 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+
2) Трехмерное изменение масштаба
Рассмотрим частичное изменение масштаба. Оно реализуется следующим образом:
S(Sx,Sy,Sz,)=
т.е.
[x,y,z,1]*S(Sx,Sy,Sz)=[Sx*x,
Общее изменение масштаба получается за счет 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 - Классификация проекций
Параллельные проекции делятся на два типа в зависимости от соотношения между направлением проецирования и нормалью к проекционной плоскости.
Рисунок 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 такие точки, соответствующие пересечениям главных координатных осей с проекционной плоскостью. Центральные проекции классифицируются в зависимости от числа главных точек схода, которыми они обладают, а, следовательно, и от числа координатных осей, которые пересекают проекционную плоскость.