
ALL
.pdf
Методы и алгоритмы трехмерной графики
Положительные черты векторной полигональной модели:
1.удобство масштабирования объектов. При увеличении или уменьшении объекты выглядят более качественно, чем при растровых моделях описания. Диапазон масштабирования определяется точностью аппроксимации и разрядностью чисел для представления координат вершин;
2.небольшой объем данных для описания простых поверхностей, которые адекватно аппроксимируются плоскими гранями;
3.необходимость вычислять только координаты вершин при преобразованиях систем координат или перемещении объектов;
4.аппаратная поддержка многих операций в современных графических видеосистемах, которая обуславливает достаточную скорость для анимации.
Недостатки полигональной модели:
1.сложные алгоритмы визуализации для создания реалистичных изображений; сложные алгоритмы выполнения топологических операций, таких, например, как разрезы;
2.аппроксимация плоскими гранями приводит к погрешности моделирования. При моделировании поверхностей, которые имеют сложную фрактальную форму, обычно невозможно увеличивать количество граней из-за ограничений по быстродействию и объему памяти компьютера.


Воксельная модель
Положительные черты воксельной модели:
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).
После триангуляции получаем полигональную поверхность, отображение которой сделать уже достаточно просто.


Неравномерная сетка. Изолинии
В компьютерных системах изолинии часто описываются векторно - полилиниями.
Используются также изолинии в виде сплайновых кривых.
Точки, которые составляют изолинии, и отдельные опорные точки располагаются неравномерно.
Это усложняет расчет координат точек поверхности. В графических компьютерных системах для выполнения многих операций, и в первую очередь — для показа поверхности, обычно необходимо преобразовывать описание поверхности в другую форму.
Преобразование изолиний в полигональную модель также выполняется методами триангуляции (здесь алгоритмы триангуляции сложнее, чем для триангуляции отдельных точек).
Для преобразования неравномерной сетки в равномерную используют специальную интерполяцию.
Положительные черты неравномерной сетки:
1.использование отдельных опорных точек, наиболее важных для заданной формы поверхности, обуславливает меньший объем информации по сравнению с другими моделями, например, с равномерной сеткой;
2.наглядность показа рельефа поверхности изолиниями на картах, планах.
Недостатки:
1.невозможность или сложность выполнения многих операций над поверхностями;
2.сложные алгоритмы преобразования в другие формы описания поверхностей.