Разделы презентаций


6. Трехмерное моделирование

Содержание

Трехмерные модели

Слайды и текст этой презентации

Слайд 16. Трехмерное моделирование

6. Трехмерное моделирование

Слайд 2Трехмерные модели

Трехмерные модели

Слайд 3Каркасные модели
Геометрический объект в каркасной модели представляется набором ребер. В

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

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

Слайд 4Поверхностные модели
В поверхностных моделях геометрический объект задается набором ограничивающих поверхностей.

Поверхностные моделиВ поверхностных моделях геометрический объект задается набором ограничивающих поверхностей.

Слайд 5Твердотельные модели
В твердотельных моделях объект характеризуется границей и заполнением. Твердотельная

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

ею тело, т.е. твердотельное моделирование обеспечивает полное однозначное описание трёхмерной геометрической формы.

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

Слайд 6Аналитические модели
Для описания кривой на плоскости можно подобрать соответствующее аналитическое

выражение.

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

Слайд 7Аналитические модели
Аналитически можно задать трехмерную поверхность.

Аналитические моделиАналитически можно задать трехмерную поверхность.

Слайд 8Аналитические модели
При аналитическом моделировании объектов часто используют поверхности второго порядка: Ax2

+ By2 + Cz2 + Dxy + Exz + Fyz

+ Gx + Hy + Jz + K = 0
Аналитические моделиПри аналитическом моделировании объектов часто используют поверхности второго порядка: Ax2 + By2 + Cz2 + Dxy

Слайд 9Аналитические модели

Аналитические модели

Слайд 10Аналитические модели
Кубические кривые
x = X(t); y = Y(t); z =

Z(t)

Аналитические моделиКубические кривыеx = X(t); y = Y(t); z = Z(t)

Слайд 11Аналитические модели
Построение кривых

Аналитические моделиПостроение кривых

Слайд 12Аналитические модели
Кубический полином
Для нахождения кубического полинома требуется установить значения его

четырех коэффициентов. Для этого следует наложить на кривую четыре дополнительных

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

Касательный вектор:

Аналитические моделиКубический полиномДля нахождения кубического полинома требуется установить значения его четырех коэффициентов. Для этого следует наложить на

Слайд 13Аналитические модели
Базовая матрица, геометрический вектор, стыковочная матрица
Q(t) = TC =

TMG = BG
M – базовая матрица четвертого порядка
G – геометрический

вектор (G = [G1 G2 G3 G4]T)
B – стыковочная матрица (B = TM)
Аналитические моделиБазовая матрица, геометрический вектор, стыковочная матрицаQ(t) = TC = TMG = BGM – базовая матрица четвертого

Слайд 14Аналитические модели
Кривые Эрмита
Кривые Эрмита – частный случай кубических полиномиальных кривых,

которые задаются концевыми точками P1, P4 и касательными векторами R1,

R4 в них.
Аналитические моделиКривые ЭрмитаКривые Эрмита – частный случай кубических полиномиальных кривых, которые задаются концевыми точками P1, P4 и

Слайд 15Аналитические модели
Базовая матрица Эрмита

Аналитические моделиБазовая матрица Эрмита

Слайд 16Аналитические модели
Матричное уравнение кривых Эрмита
X(t) = TMGx, Y(t) = TMGy,

Z(t) = TMGz

Q(t) = TMG

G = [P1 P4 R1 R4]T

Аналитические моделиМатричное уравнение кривых ЭрмитаX(t) = TMGx, Y(t) = TMGy, Z(t) = TMGzQ(t) = TMGG = [P1

Слайд 17Аналитические модели
Кривые Безье
Кривые Безье – специальный вид кубических полиномиальных кривых,

у которых для определения положения касательных векторов используются специальные контрольные

точки, не принадлежащие самому объекту. Отрезки, соединяющие контрольные точки, образуют выпуклую оболочку контрольных точек. В общем случае выпуклая оболочка может и не касаться всех контрольных точек.
Аналитические моделиКривые БезьеКривые Безье – специальный вид кубических полиномиальных кривых, у которых для определения положения касательных векторов

Слайд 18Аналитические модели
Параметры кривых Безье
Начальный R1 и конечный R4 касательные векторы

кривой Безье зависят от радиус-векторов P1, P2, P3 и P4,

соединяющих контрольные точки с началом координат:
Аналитические моделиПараметры кривых БезьеНачальный R1 и конечный R4 касательные векторы кривой Безье зависят от радиус-векторов P1, P2,

Слайд 19Аналитические модели
Расчет параметров кривых Безье
Mh, Gh – базовая матрица и

геометрический вектор Эрмита
Mb, Gb – базовая матрица и геометрический вектор

Безье
Mb – матрица преобразования геометрических векторов
Аналитические моделиРасчет параметров кривых БезьеMh, Gh – базовая матрица и геометрический вектор ЭрмитаMb, Gb – базовая матрица

Слайд 20Аналитические модели
Базовая матрица кривых Безье

Аналитические моделиБазовая матрица кривых Безье

Слайд 21Аналитические модели
Кубические B-сплайны
B-сплайны – совокупность полиномиальных сегментов, положение которых задается

контрольными точками. Кубический B-сплайн задается последовательностью полиномиальных сегментов Q3, Q4,

…, Qm, положение которых зависит от контрольных точек P0, P1, …, Pm (m  3). Сегменты определяются на интервалах ti  t < ti+1, 3  i < m, t3 = 0, ti+1 – ti = 1.

Геометрический вектор i-го сегмента:

Аналитические моделиКубические B-сплайныB-сплайны – совокупность полиномиальных сегментов, положение которых задается контрольными точками. Кубический B-сплайн задается последовательностью полиномиальных

Слайд 22Аналитические модели
Пример кубического B-сплайна

Аналитические моделиПример кубического B-сплайна

Слайд 23Аналитические модели
Базовая матрица кубического B-сплайна

Аналитические моделиБазовая матрица кубического B-сплайна

Слайд 24Аналитические модели
Бикубические поверхности
x = X(s, t); y = Y(s, t);

z = Z(s, t)
A(s, t) = a11s3t3 + a12s3t2 +

a13s3t + a14s3 + a21s2t3 + a22s2t2 + a23s2t + a14s2 + a31st3 + a32st2 + a33st + a44s + a41t3 + a42t2 + a43t + a44
Аналитические моделиБикубические поверхностиx = X(s, t); y = Y(s, t); z = Z(s, t)A(s, t) = a11s3t3

Слайд 25Аналитические модели
Поверхность произвольной формы разделяется на куски (patch), каждый из

которых аппроксимируется бикубической поверхностью таким образом, что бы в месте

стыка совпадали не только координаты точек, но и первые производные.
Аналитические моделиПоверхность произвольной формы разделяется на куски (patch), каждый из которых аппроксимируется бикубической поверхностью таким образом, что

Слайд 26Аналитические модели
Каждый участок бикубической поверхности задается шестнадцатью точками. Тогда бикубическая

поверхность в форме Безье задается в следующем виде:
X(s, t)

= SMbGbxMbTTT Y(s, t) = SMbGbyMbTTT Z(s, t) = SMbGbzMbTTT

или в форме B-сплайна

X(s, t) = SMsGsxMsTTT Y(s, t) = SMsGsyMsTTT Z(s, t) = SMsGszMsTTT

Аналитические моделиКаждый участок бикубической поверхности задается шестнадцатью точками. Тогда бикубическая поверхность в форме Безье задается в следующем

Слайд 27Аналитические модели
Точки бикубической поверхности в форме Безье:
(X, Y, Z)11, (X,

Y, Z)14, (X, Y, Z)41, (X, Y, Z)44 – координаты

четырех угловых точек;
(X, Y, Z)21, (X, Y, Z)22, (X, Y, Z)12;
(X, Y, Z)13, (X, Y, Z)23, (X, Y, Z)24;
(X, Y, Z)43, (X, Y, Z)33, (X, Y, Z)34;
(X, Y, Z)42, (X, Y, Z)32, (X, Y, Z)31 – концы касательных векторов.
Аналитические моделиТочки бикубической поверхности в форме Безье:(X, Y, Z)11, (X, Y, Z)14, (X, Y, Z)41, (X, Y,

Слайд 28Аналитические модели

Аналитические модели

Слайд 29Аналитические модели
11
Для сшивки двух кусков необходимо:
совпадение смежных точек
отсутствие излома в поперечном

направлении

Аналитические модели11Для сшивки двух кусков необходимо:совпадение смежных точекотсутствие излома в поперечном направлении

Слайд 30Полигональные модели
Кривая на плоскости аппроксимируется набором отрезков, каждый из которых

определяется двумя точками – начала и конца

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

Слайд 31Полигональные модели
В этом случае поверхность аппроксимируется плоскими полигонами.

Полигональные моделиВ этом случае поверхность аппроксимируется плоскими полигонами.

Слайд 32Полигональные модели
Для моделирования трехмерных объектом чаще всего применяются выпуклые плоские

многоугольники (полигоны) с количеством вершин не более четырех.

Полигональные моделиДля моделирования трехмерных объектом чаще всего применяются выпуклые плоские многоугольники (полигоны) с количеством вершин не более

Слайд 33Полигональные модели
Полигоны описывается набором вершин – точек, заданных в трехмерном

пространстве.
1: V1, V2, V4
2: V2, V3, V4
. . .
12:

V3, V9, V10
Полигональные моделиПолигоны описывается набором вершин – точек, заданных в трехмерном пространстве. 1: V1, V2, V42: V2, V3,

Слайд 34Аппроксимировать трехмерную плоскость можно с разной точностью. Количество вершин в

модели зависит от требуемого качества картинки и от ожидаемой скорости

рендеринга - чем больше вершин, тем выше качество и тем медленнее рендеринг.

Полигональные модели

Аппроксимировать трехмерную плоскость можно с разной точностью. Количество вершин в модели зависит от требуемого качества картинки и

Слайд 35Полигональные модели
Полигональная сетка – набор полигонов (граней), которые в совокупности

образуют форму объекта.
Полигональная сетка является практически во всех графических системах

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

Слайд 36Полигональные модели
Полигональная сетка задается списком полигонов и информацией о направлении,

куда обращен каждый полигон.
Информация о направлении задается в виде нормали к

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

Слайд 37Полигональные модели
Свойства полигональной сетки:
Монолитность – сетка представляет монолитный объект, если

совокупность его граней заключает в себе некоторое конечное пространство;
Связность –

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

Слайд 38Полигональные модели
Нормаль к плоской грани
N = (v2 – v1)(v3 –

Полигональные моделиНормаль к плоской граниN = (v2 – v1)(v3 – v2)

Слайд 39Полигональные модели
Метод Ньюэлла

Полигональные моделиМетод Ньюэлла

Слайд 40Полигональные модели
Если выполнять обход против часовой стрелки с наружной стороны

грани, то полученный вектор показывает направление наружу от грани.

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

Слайд 41Полигональные модели
V0 = (6, 1, 4), V1 = (7, 0,

9), V2 = (1, 1, 2).

Полигональные моделиV0 = (6, 1, 4), V1 = (7, 0, 9), V2 = (1, 1, 2).

Слайд 42Полигональные модели
//грань 0
glBegin(GL_POLYGON);
glNormal3f(0.577, 0.577, 0.577);
glVertex3f(1, 0, 0);
glVertex3f(0, 1, 0);
glVertex3f(0, 0,

1);
glEnd();
//грань 1
glBegin(GL_POLYGON);
glNormal3f(0, 0, -1);
glVertex3f(0, 0, 0);
glVertex3f(0, 1, 0);
glVertex3f(1, 0, 0);
glEnd();
//грань

2
glBegin(GL_POLYGON);
glNormal3f(-1, 0, 0);
glVertex3f(0, 0, 0);
glVertex3f(0, 0, 1);
glVertex3f(0, 1, 0);
glEnd();
//грань 3
glBegin(GL_POLYGON);
glNormal3f(0, -1, 0);
glVertex3f(1, 0, 0);
glVertex3f(0, 0, 1);
glVertex3f(0, 0, 0);
glEnd();

Описание тетраэдра в OpenGL

Полигональные модели//грань 0glBegin(GL_POLYGON);	glNormal3f(0.577, 0.577, 0.577);	glVertex3f(1, 0, 0);	glVertex3f(0, 1, 0);	glVertex3f(0, 0, 1);glEnd();//грань 1glBegin(GL_POLYGON);	glNormal3f(0, 0, -1);	glVertex3f(0, 0, 0);	glVertex3f(0, 1,

Слайд 43Полигональные модели
Структура хранения данных полигональной сетки:
в массиве вершин хранятся без

повторений координаты всех вершин;
в массиве нормалей хранятся без повторений компоненты

нормалей к каждой грани;
в массиве граней для каждой грани хранятся индексы вершин из массива вершин и индексы нормалей, ассоциированных с каждой вершиной грани.
Полигональные моделиСтруктура хранения данных полигональной сетки:в массиве вершин хранятся без повторений координаты всех вершин;в массиве нормалей хранятся

Слайд 44Полигональные модели

Полигональные модели

Слайд 45Полигональная модель
Полиэдр – связная сетка из простых плоских полигонов, которая

ограничивает конечный объем пространства.
Каждое ребро полиэдра принадлежит ровно двум граням;
В

каждой вершине полиэдра встречается не менее трех ребер;
Грани полиэдра не являются взаимопроникающими: две грани не имеют общих точек или пересекаются только вдоль их общего ребра.
Полигональная модельПолиэдр – связная сетка из простых плоских полигонов, которая ограничивает конечный объем пространства.Каждое ребро полиэдра принадлежит

Слайд 46Полигональные модели
Фундаментальное соотношение между количеством граней F, ребер E и

вершин V простого многогранника устанавливает формула Эйлера:
V + F –

E = 2.
Обощение этой формулы на непростой полиэдр имеет вид:
V + F – E = 2 + H – 2G,
где H – общее число отверстий, имеющихся в гранях, G – число отверстий в самом полиэдре.
Полигональные моделиФундаментальное соотношение между количеством граней F, ребер E и вершин V простого многогранника устанавливает формула Эйлера:V

Слайд 47Полигональные модели
Если все грани полиэдра одинаковы и каждая из них

является правильным многоугольником, то объект называется правильным многогранником. Существует всего

пять таких объектов, которые называют платоновыми телами:
Тетраэдр: V = 4, F = 4, E = 6, грани – треугольники;
Гексаэдр: V = 8, F = 6, E = 12, грани – квадраты;
Октаэдр: V = 6, F = 8, E = 12, грани – треугольники;
Икосаэдр: V = 12, F = 20, E = 30, грани – треугольники;
Додекаэдр: V = 20, F = 12, E = 30, грани – пятиугольники.
Нормальный вектор к каждой грани платонового тела – это вектор из начала координат к центру грани, представляющему собой среднее значение вершин.
Полигональные моделиЕсли все грани полиэдра одинаковы и каждая из них является правильным многоугольником, то объект называется правильным

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика