Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Геометрическое моделирование




 

Геометрическое моделирование - процесс построения математического

каркасного представления трехмерного объекта с помощью специализированного

 ПО. 3D модель строится из вертексов (трехмерных точек - вершин). Две вершины,

 соединенные вместе образуют ребро. Три вершины образуют простейший полигон -

 треугольник, который может иметь цвет и текстуру. Соединение группы таких полигонов

 позволяет смоделировать практически любой объект.

Недостаток полигонального моделирования состоит в том, что все объекты должны состоять

 из крошечных плоских поверхностей, а полигоны должны иметь очень малый размер, иначе

 края объекта будут иметь ограненный вид.

В моделировании используется 3 вида моделей:

1) каркасное представление (polygon mesh) - тело описывается набором вершин, граней и ребер

2) поверхностные - тело описывается набором ограничивающих его поверхностей.

3) модель сплошных тел - тело формируется из отдельных базовых геометрических с помощью преобразований.

 

Построение кривых поверхностей

 

--- Билинейный интерполяционный четырёхугольник

Упорядоченный набор из 4-х точек в пространстве определяет билинейную интерполяционную поверхность и задаёт отображение на неё квадрата :

(x,y) = P1uv + P2(1 − u)v + P3u(1 − v) + P4(1 − u)(1 − v)

Эта поверхность является гладкой, однако невозможность задавать произвольные касательные на её границе.

Используется очень редко.

--- Поверхность Безье

На практике применяется в основном два вида поверхностей Безье: бикубическая 3-го порядка - четырёхугольник, определяемый 16-ю точками, и барицентрическая 3-го порядка - треугольник, определяемый 10 точками. Барицентрическая система координат в треугольнике содержит 3 числа, поэтому она не всегда удобна.

Граница поверхности Безье состоит из кривых Безье. Точки, определяющие поверхность, определяют также кривые её границы, включая нормали на них. Это позволяет создавать гладкие составные поверхности, то есть использовать поверхности Безье в качестве патчей

Рациональная поверхность Безье отличается тем, что каждой точке в её определении назначен некоторый «вес», определяющий степень её влияния на форму поверхности.

B-сплайновая поверхность

--- NURBS,B-сплайны

На практике обычно применяются бикубические B-сплайновые поверхности. Как и поверхности Безье, они определяются 16-ю точками, однако в общем случае не проходят через эти точки. Однако B-сплайны удобно использовать в качестве патчей, так как они хорошо стыкуются друг с другом при использовании общей сетки вершин, а сами вершины позволяют явным образом задавать нормали и касательные на границах патчей.

При необходимости более гибкого управления формой поверхности применяют рациональные B-сплайны, неоднородные B-сплайны, а также комбинированный вариант - неоднородные рациональные B-сплайны (NURBS).

NURBS surface - используется в таких редакторах как 3dsmax,Maya , где они бывает двух видов:

Point Surface - поверхность контролируемая точками, которые лежат на самой поверхности и их смещение прямо влияет на смешение поверхности

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

 

Полигональные сетки

 

Полигональная сетка — объект в трехмерной графике, представляющий собой совокупность вершин и полигонов, который определяет форму отображаемого многогранного объекта.

Две вершины образуют ребро. Три образуют простейший полигон - треугольник.

 

1. Явное представление (Vertex-Vertex mesh)– многоугольник задается последовательностью вершин {x1,y1,z1},{x2,y2,z2},…,{xn,yn,zn}, записанной в виде одной таблицы.

Такой способ записи использовался в первых форматах 3D вектор. графики.

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

2. С помощью вершин и граней (Face-Vertex Mesh). Аналогичен 1му способу, но таблицы для опрделения вершин и граней разделены. Общая модель записи имеет реляционную форму.

 Разделение таблиц необходимо для использования такого метода рендеринга, как скрытие невидимых граней (Cull Face).

 Для того, отделить видимые грани от невидимых используют обозначение граней относительно вектора направления: против или по часовой. принято обозначать лицевые (видимые) вершинами против часовой, и невидимые - по часовой. Такой метод рендеринга в настоящее время является аппаратным.Это обеспечивает большую скорость рендеринга. 

3. Winged-Edge mesh - представляет собой 3 независимых таблицы, в которых представлены ребра, обозначенные 2мя вершинами. Такой способ предназначен для рендеринга со скрытием граней, при этом скорость рендеринга еще больше увеличивается.

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

 Полигональные сетки в структуре файла 3D графики представляют собой геометрические параметры, но внем также могут быть разделы, в которых записаны св-ва матерьяла, отражающие способности, поглащающ. способности и т.д. , св-ва текстур и в некоторых случаях - св-ва физики и искуствнный интеллект.

 

Афинные преобразования в пространстве

 

Свойства:

1. отображает n-мерный объект в n-мерный;

2. сохраняет параллельность линий и плоскостей;

3. сохраняет пропорциональность параллельных объектов;

Любое аффинное преобразование задается матрицей 3х3 с не нулевым определителем и вектором переноса.

_ _ _

P` = RP + t

 

 (x`) (R11 R12 R13)(x) (tx)

 |y`| =     |R21 R22 R23||y| + |ty|

 (z`) (R31 R32 R33)(z) (tz)

 

Для выполнения пространственных построений, аналогично двумерной задаче, три

координаты точки (x, y, z) заменяются четверкой чисел (x, y, z, 1). Это дает

возможность воспользоваться матричной записью и в более сложных трехмерных задачах.

 Любое аффинное преобразование в трехмерном пространстве может быть представлено

 в виде суперпозиции вращений, растяжений, отражений и переносов. Математически

 все преобразования сводятся к перемножению матриц четвертого порядка.

 

Изображение трехмерных объектов на картинной плоскости связано с еще одной

геометрической операцией – проецированием при помощи пучка прямых. В компьютерной

графике применяется несколько различных видов проецирования. Наиболее часто

используется параллельное и центральное проецирование.

 

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

каждую его точку прямую из заданного проецирующего пучка и затем найти координаты

точки пересечения этой прямой с плоскостью изображения. В случае центрального

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

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

операция проецирования также сводится к перемножению соответствующих матриц.

http://compgraphics.info/3D/3d_affine_transformations.php

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 227.

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