Область применения компьютерной графики



страница4/5
Дата19.05.2016
Размер1.35 Mb.
1   2   3   4   5

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

Аффинное преобразование имеет следующие свойства:



  • отображает n-мерный объект в n-мерный – точку в точку, линию в линию, поверхность в поверхность;

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

  • сохраняет пропорции параллельных объектов – длин отрезков на параллельных прямых и площадей на параллельных плоскостях.

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

Двумерные геометрические преобразования

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



Перенос

Точки на плоскости можно перенести в новые позиции, если добавить к координатам этих точек константы переноса. Пусть точка P(x,y) перемещается в новую точку P(x,y), при этом по оси x она сдвигается на Dx , а по оси y на величину Dy. Тогда имеем:

x=x+Dx, =y+Dy

Определим векторы строки:

P=[xy] P=[xy] T=[DxDy]

Получим уравнение

[xy]=[xy]+[DxDy] или сокращенно P=P+T

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


Рис. Перенос объекта Dx=3, Dy=-4




Масштабирование

Точки можно масштабировать (растягивать) по оси x в Sx раз и по оси y в Sy раз. Новые точки получаются с помощью умножения:

x′=x*Sx y′ =y*Sy
Определяем S в виде матрицы :

Получим новые точки в матричном виде:


или P′=P*S

Масштабирование производится относительно начала координат. Если масштабирующие коэффициенты меньше единицы, то домик уменьшится и станет ближе к началу координат. Если масштабирующие коэффициенты больше единицы, то домик увеличится и отдалится от начала координат. Если Sx≠Sy, то это неоднородное масштабирование, и пропорции домика изменяются. Однородное масштабирование Sx=Sy, не влияет на пропорции.

Масштабирование объекта Sx=1/2, Sy=1/4

Поворот (вращение)

Точки могут быть повернуты на угол θ относительно начала координат.

Рис. Поворот точки


Координаты точки P:

x′=xcosθ-ysinθ

y=xsinθ+ycosθ

В матричной форме:




Или P′=P*R, где R - матрица поворота

Положительное значение соответствует повороту против часовой стрелки, отрицательное – по часовой.

Рис. Поворот объекта θ=45о

Однородные координаты и двумерные преобразования

Преобразования переноса, масштабирования и поворота в матричной форме имеют вид:

P′=P+T

P′=P*S


P′=P*R

Если выразить точки в однородных координатах, то все три преобразования можно реализовать с помощью умножения, при большом количестве точек объекта, это существенно уменьшает скорость обработки.

В однородных координатах точка P(x,y) записывается как

P(W*x,W*y,W), где W – масштабный множитель, не равный нулю.

При этом, если точка задана в однородных координатах P(X,Y,W), то можно найти ее декартовы координаты:

X=X/W, y=Y/WЕсли W=1, то операция деления не нужна:

P(x,y,1), P′(x′,y′,1)

Основные преобразования в однородных координатах

Перенос

Уравнение переноса запишется в виде матрицы преобразования:



или P′=P*T(Dx,Dy), где

Перемножив, получим:



Масштабирование

Уравнение масштабирования в матричной форме имеет вид:




Так как имеем: P′=P*S(Sx,Sy)

Перемножим и получим:

[x′y′1]=[x*Sx y*Sy 1]

Поворот

Уравнение поворота имеет вид:



Так как


получим

Перемножим и получим:




Матричное представление трехмерных преобразований

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

Трехмерная точка P(x,y,z) записывается в однородных координатах следующим образом:

P(W*x,W*y,W*z,W), W≠0.

Если W=1, то точка представлена в виде: P(x,y,z,1).

Перенос

Трехмерный перенос – это расширение двумерного переноса




P′=P*T(Dx,Dy,Dz)

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



Масштабирование

Трехмерное масштабирование – расширение двумерного масштабирования.



P′=P*S(Sx,Sy,Sz) или

[x′ y ′z′ 1]=[x y z 1]*S(Sx,Sy,Sz)=[x*Sx y*Sy z*Sz 1]

Поворот

Поворот возможен вокруг осей x, y, z.

Двумерный поворот является поворотом вокруг оси z:

Матрица поворота вокруг оси x:



Матрица поворота вокруг оси y:





Моделирование

Моделирование в рамках графических систем]
В упрощенном виде для пространственного моделирования объекта требуется:

  • спроектировать и создать виртуальный каркас объекта, наиболее полно соответствующий его реальной форме

  • спроектировать и создать виртуальные материалы, по физическим свойствам визуализации похожие на реальные

  • присвоить материалы разным частям поверхности объекта

  • настроить физические параметры пространства, в котором будет действовать объект – задать освещение, гравитацию, свойства атмосферы,

  • свойства взаимодействующих объектов и поверхностей

  • задать траектории движения объектов

  • рассчитать результирующую последовательность кадров

  • наложить поверхностные эффекты на итоговый анимационный ролик

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

  • Аналогом равномерного светового фона служит растворенный свет. Он характеризуется только светом и интенсивностью

  • Удаленный не точечный источник называют удаленным светом. Ему присваиваются конкретные геометрические параметры

  • Точечный источник света, который равномерно испускает свет во всех направлениях и имеет координаты

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

После завершения конструирования в визуализации объекта приступают к его оживлению, т. е. заданию параметров движения.

Процесс расчета реалистичных изображений называют рендерингом (визуализацией).




Геометрическая модель

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

В процессе построения сцены решаются геометрические и оптические задачи. К геометрическим относятся задачи формирования поверхностей, составление моделей объектов сцены, композиции объектов в пространстве сцены, отсечения элементов сцены, не попавших в отображаемую область, удаление невидимых элементов отображаемой области. В результате получается эскиз сцены. Далее решаются оптические задачи реалистичного изображения объектов: закрашивание поверхностей с учетом их света, освещенности и ориентации в пространстве, расчет теней, отражений, бликов, прозрачности и т. д. Таким образом, построение сцены – процесс многошаговый. Изображение формируется в буферной памяти ЭВМ и затем выводится на экран дисплея.

Рис. Схема геометрического моделирования.





Виды геометрических моделей



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

- геометрические данные – координаты точек, уравнения прямых, окружностей;

- топологические данные – отрезок, соединяющий две точки, контур, определенный базовыми объектами;

- структурные данные – комплекс базовых элементов виде дерева;

- оформительские данные – размерные линии, тексты, штриховка;

- реляционные данные – отношения между элементами, например, элемент А касается элемента В.



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

Типы данных

- элементы нулевого уровня – двумерные элементы: точки, отрезки, кривые, контуры, дуги;

- элементы первого уровня – поверхности;

- элементы второго уровня – объемы.

Из этих элементов можно с помощью разных операций создавать комплексы
Каркасные поверхности

Среди трехмерных моделей первыми появились каркасные. В каркасной модели хранится информация двух типов:

топологическая – ребра, которые определяются вершинами;

геометрическая – координаты вершин.

Это самый простой и примитивный способ передачи формы объемного тела.

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

Каркасная модель с прозрачными гранями


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

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


Сплошная модель

Сплошная модель включает в объект как граничные, так и внутренние точки. Сплошная, объемная или твердотельная модель охватывает все точки на поверхности объекта. Описание сплошными телами подразумевает перечисление вокселей – мельчайших 3d-ячеек, которые заполняют объект, или конструирование сложной формы как композиции небольшого числа простых объемных примитивов (куб, сфера, конус, цилиндр), Это позволяет производить декомпозицию сложного объекта на простые составляющие (кубы, сферы, конусы) и строить разнообразные композиции из простых примитивов. Процесс композиции заключается в выполнении аффинных преобразований примитивов для создания нужных форм в нужном месте объема и булевых операций с формами для создания единого объекта. Это напоминает строительный конструктор. За счет небольшого числа примитивов и четырех булевых операций (отрицание примитива – т. е. дополнение его до пространства; объединение примитивов, пересечение примитивов, исключение, т. е. вычитание одного примитива из другого) конструктивный подход к описанию сложных объектов и сцен позволяет уменьшить память и трудоемкость построения сцены.

2 Конструктивные модели (Пространственная геометрия)

В пространственной геометрии объект задается набором примитивов и операций над ними.




Рисунок 5 Дерево пространственной геометрии

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


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

Сплошные модели хорошо приспособлены к работе в системах логического конструирования сложных форм. Алгоритмы выполнения булевых операций с 3d-объектами являются частью сплошного моделирования и применяются в САПР твердотельных конструкций.


Граничные модели

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

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


  • Грани – ограниченные поверхности, отделяющие внутреннее пространство объекта от внешнего;

  • Ребра – линии пересечения граней;

  • Вершины – точки пересечения ребер

Вершины инцидентные (принадлежащие) одному ребру, грани, имеющие общее ребро являются смежными. Количественное соотношение между числами вершин nв, граней nг и ребер nр замкнутого объекта устанавливается формулой Эйлера

nв+nг=nр+2

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

Поскольку глобальная параметризация поверхности объекта произвольной формы обычно является трудновыполнимой задачей, поверхность приближается набором граней (face). Обычно разбиение выполняется таким образом, чтобы каждая грань имела компактное математическое представление.
Границы граней представляется ребрами (edge). Так - же как и грани, ребра выбираются таким образом, чтобы иметь компактное математическое описание. Часть кривой, формирующей ребро, заканчивается вершинами (vertex).
Поверхностная модель

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

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

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



Рисунок 6 Основные составляющие граничной модели

3.1 Явное представление.

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



Рисунок 7 Пример

Недостатки такого представления в том, что, во-первых, взаимоотношения граней заданы неявно, а во-вторых, координаты каждой вершины появляются столько раз, сколько граней имеют эту вершину.

3.2 Список вершин

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

Вершины Координаты Грани Вершины

v1 x1 y1 z1 f1 v1 v2 v3 v4

v2 x2 y2 z2 f2 v6 v2 v1 v5

v3 x3 y3 z3 f3 v7 v3 v2 v6

v4 x4 y4 z4 f4 v8 v4 v3 v7

v5 x5 y5 z5 f5 v5 v1 v4 v8

v6 x6 y6 z6 f6 v8 v7 v6 v5

v7 x7 y7 z7

v8 x8 y8 z8
Заметим, что список вершин каждой грани упорядочен по часовой стрелке, как если смотреть снаружи куба. Такое представление полезно во многих алгоритмах, таких как удаление невидимых поверхностей. Однако в таком представление остаются многие недостатки полигонального, например, задача поиска ребер, инцидентных данной вершине по-прежнему требует полного перебора.

3.3 Список ребер



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

Ребра

Вершины

Вершины

Координаты

Грани

Ребра

e1

v1 v2

v1

x1 y1 z1

f1

e1 e2 e3 e4

e2

v2 v3

v2

x2 y2 z2

f2

e9 e6 e1 e5

e3

v3 v4

v3

x3 y3 z3

f3

e10 e7 e2 e6

e4

v4 v1

v4

x4 y4 z4

f4

e11 e8 e 3 e7

e5

v1 v5

v5

x5 y5 z5

f5

e12 e5 e4 e8

e6

v2 v6

v6

x6 y6 z6

f6

e12 e11 e10 e9

e7

v3 v7

v7

x7 y7 z7







e8

v4 v8

v8

x8 y8 z8







e9

v5 v6













e10

v6 v7













e11

v7 v8













e12

v8 v5












Таким образом, для каждого ребра мы задаем направление. Например, ребро e1 направлено ( имеет положительное направление) от точки v1 к точке v2. Грани также ориентированы, т.е. ребра заданы по часовой стрелке, если смотреть на куб снаружи.

Графические поверхности

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



Каталог: wp-content -> uploads -> 2012
2012 -> Система социальной помощи семье, воспитывающей ребенка с ограниченными возможностями здоровья, в учреждениях социального обслуживания семьи и детей
2012 -> Коалиция организаций ветеранов боевых действий Дальневосточного Федерального округа «Боевое братство дв»
2012 -> Стерлитамакский филиал
2012 -> Питання про виникнення людини хвилює людство здавна. У XIX ст
2012 -> Методические рекомендации по проведению занятий с применением интерактивных форм обучения
2012 -> Тема опыта
2012 -> Вопросы к экзамену Планирование и организация работы кадровой службы Современные концепции управления персоналом
2012 -> Танцевально двигательная
2012 -> Современной


Поделитесь с Вашими друзьями:
1   2   3   4   5


База данных защищена авторским правом ©dogmon.org 2019
обратиться к администрации

    Главная страница