Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ALL

.pdf
Скачиваний:
278
Добавлен:
12.02.2018
Размер:
15.74 Mб
Скачать

Методы и алгоритмы трехмерной графики

Положительные черты векторной полигональной модели:

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

2.небольшой объем данных для описания простых поверхностей, которые адекватно аппроксимируются плоскими гранями;

3.необходимость вычислять только координаты вершин при преобразованиях систем координат или перемещении объектов;

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

Недостатки полигональной модели:

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

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

Воксельная модель

Воксельная модель— это трехмерный растр. Подобно тому, как пиксели располагаются на плоскости 2D-изображения, так и вокселы образовывают трехмерные объекты в определенном объеме (рис.). Воксел — это элемент объема (voxel — volume element).

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

Рис. Пиксели и вокселы

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

Воксельная модель

Положительные черты воксельной модели:

1.позволяет достаточно просто описывать сложные объекты и сцены; простая процедура отображения объемных сцен;

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

Недостатки воксельной модели:

1.большое количество информации, необходимой для представления объемных данных. Например, объем 256х256х256 имеет небольшую разрешающую способность, но требует свыше 16 миллионов вокселов;

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

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

Равномерная сетка

Эта модель описывает координаты отдельных

 

точек поверхности следующим способом

 

 

(рис.).

 

Каждому узлу сетки с индексами (i, j)

 

 

приписывается значение высоты zij.

 

Индексами (i, j) отмечают определенные

 

 

значения координат (х, у). Расстояние между

 

 

узлами одинаковое — dx по оси х и dy по у.

 

Фактически, такая модель — двумерный

 

 

массив, растр, матрица, каждый элемент

 

 

которой сохраняет значение высоты.

 

Не каждая поверхность может быть

 

 

представлена этой моделью.

 

 

Если в каждом узле записывается только

 

 

одно значение высоты, то это означает,

Для сетки не обязательно использовать

 

что поверхность описывается

 

только декартовые координаты.

 

однозначной функцией z = f(x, y).

 

Например, для описания поверхности шара

 

Иначе говоря, это такая поверхность,

 

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

которую любая вертикаль пересекает

 

 

полярные координаты.

только один раз.

 

Равномерная сетка часто используется для

 

Не могут моделироваться также вертикальные

описания рельефа земной поверхности.

грани.

 

 

 

Равномерная сетка

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

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

Сначала необходимо вычислить индексы i и j одного из узлов:

где ]а[ целая часть числа а, то есть наибольшее целое, которое не превышает а.

Затем используем, например, линейную интерполяцию.

Для этого найдем значения z в точках A и B.

Из пропорции

учитывая, что хj+1 – хj = dx,

получим zA = zij + (х – хj)(zij+1 – zij)/dx

Аналогично найдем zB = zi+1j + (х – хj)(zi+1j+1 – zi+1j)/dx

Теперь можно найти нужное значение z, поделив отрезок АВ

пропорционально значению у.

• Рис. Точка в сетке с

 

 

координатами (х, у, z)

ПОЛУЧИМ z = zA + (у –уi)(zB – zA)/dy.

 

Равномерная сетка

Положительные черты равномерной сетки:

1.

простота описания поверхностей;

2.

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

Недостатки равномерной сетки:

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

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

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

Неравномерная сетка. Изолинии

Модель описания поверхности в виде множества отдельных точек {(х0, y0, z0), (х1, у1, z1), ..., (хn+1, y n+1, z n+1)}, принадлежащих поверхности.

Точки могут быть получены, например, в результате измерений поверхности.

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

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

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

Так, например, задача — по известным координатам (х, у) вычислить значения координаты z.

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

Для равномерной сетки это намного проще — поиска фактически нет, мы сразу рассчитываем индексы самых близких опорных точек.

Неравномерная сетка. Изолинии

Еще одна задача — отобразить поверхность.

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

Процесс триангуляции можно представить себе так (рис.).

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

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

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

рис. Триангуляция неравномерной сетки

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

В англоязычной литературе для нее встречается такое название: TIN (Triangulated Irregular

Network).

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

Неравномерная сетка. Изолинии

2.Еще один из вариантов описания поверхности — изолинии высоты. Любая изолиния состоит из точек, представляющих одно числовое значение какого-то показателя, в данном случае — значение высоты (рис.).

Изолинии высоты можно представить как контуры разреза поверхности горизонтальными плоскостями (часто применяется название "горизонтали").

Используется, например, в картографии для расчета параметров рельефа.

Для описания земной поверхности:

Если бы Земля была шаром, то изолинии высоты можно было бы трактовать как изолинии радиусов.

В реальности Земля имеет более сложную форму – геоид. Геоид аппроксимируют с определенной точностью разнообразными эллипсоидами.

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

Для описания поверхности можно использовать не

только изолинии высоты, но и другие изолинии, например х- или y-изолинии.

Рис. Поверхность задана изолиниями и отметками высоты

Рис. Та же поверхность в аксонометрической проекции

Неравномерная сетка. Изолинии

В компьютерных системах изолинии часто описываются векторно - полилиниями.

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

Точки, которые составляют изолинии, и отдельные опорные точки располагаются неравномерно.

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

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

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

Положительные черты неравномерной сетки:

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

2.наглядность показа рельефа поверхности изолиниями на картах, планах.

Недостатки:

1.невозможность или сложность выполнения многих операций над поверхностями;

2.сложные алгоритмы преобразования в другие формы описания поверхностей.

Соседние файлы в предмете Компьютерная Графика