Полигональная сетка: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
м r2.7.1) (робот изменил: ar:شبكة مضلعية |
Sealle (обсуждение | вклад) м clean up, replaced: В отличии → В отличие (2), typos fixed: еще → ещё (2), ее → её (3), в нем → в нём, объем → объём (2) с помощью AWB |
||
Строка 1:
[[Файл:Dolphin triangle mesh.png|thumb|250px|Пример полигональной сетки, изображающей дельфина.]]
'''Полигональная сетка''' ({{lang-en|polygon mesh}}) или [[неструктурированная сетка]] это совокупность вершин, ребер и граней которые определяют форму [[Многогранник|многогранного]] объекта в [[Трёхмерная графика|трехмерной компьютерной графике]] и объемном моделировании. Гранями обычно являются [[треугольник]]и, [[четырехугольник]]и или другие простые [[Выпуклый многоугольник|выпуклые многоугольники]] (полигоны), так как это упрощает рендеринг, но так же может состоять из наиболее общих вогнутых многоугольников, или многоугольников с дырками.
Учение о полигональных сетках это большой подраздел компьютерной графики и геометрического моделирования. Разные представления полигональных сеток используются для разных целей и приложений. Множество операций проводимых над сетками могут включать Булевую алгебру, сглаживание, упрощение и многие другие. Сетевые представления, такие как "потоковые" и "прогрессивные" сетки, используются для передачи полигональных сеток по сети. Объемные сетки отличаются от полигональных тем, что они явно представляют и поверхность и
== Элементы моделирования сетки ==
Строка 20:
* Список граней: описание граней происходит с помощью указателей в список вершин.
* "Крылатое" представление: в
* Полуреберные сетки: способ похож на "крылатое" представление, за исключением того, что используется информация обхода лишь половины грани.
* {{термин?|Четырехреберные сетки}}, которые хранят ребра, полуребра и вершины без какого-либо указания полигонов. Полигоны прямо не выражены в представлении, и могут быть найдены обходом структуры. Требования по памяти аналогичны полуреберным сеткам.
* Таблица углов, которые хранят вершины в предопределенной таблице, такой что обход таблицы неявно задает полигоны. В сущности, это "[[веер треугольников]]", используемый в аппаратном рендеринге. Представление более компактное и более производительное для нахождения полигонов, но операции по их изменению медленны. Более того, таблицы углов не представляют сетки полностью. Для представления большинства сеток нужно несколько таблиц углов (вееров треугольников).
Строка 36:
'''Вершинное представление''' описывает объект как множество вершин, соединенных с другими вершинами. Это простейшее представление, но оно не широко используемое, так как информация о гранях и ребрах не выражена явно. Поэтому нужно обойти все данные чтобы сгенерировать список граней для рендеринга. Кроме того, не легко выполняются операции на ребрах и гранях.
Однако, сетки ВП извлекают выгоду из малого использования памяти и эффективной трансформации. Рисунок 2 показывает пример параллелепипеда изображенный с использованием ВП сетки. Каждая вершина индексирует
Для более детального описания сеток ВП см. Smith (2006)(англ.).<ref name="Smith (2006)" />
Строка 46:
Сетка с использованием '''списка граней''' представляет объект как множество граней и множество вершин. Это самое широко используемое представление, будучи входными данными типично принимаемыми современным графическим оборудованием.
Список граней лучше для моделирования, чем вершинное представление тем, что он позволяет явный поиск вершин грани, и граней окружающих вершину. Рисунок 3 показывает пример параллелепипеда в виде сетки с использованием списка граней. Вершина v5 подсвечена, чтобы показать грани, которые
Для рендеринга грань обычно посылается в графический процессор как множество индексов вершин, и вершины посылаются как позиция/цвет/структуры нормалей (на рисунке дана лишь позиция). Поэтому изменения формы, но не геометрии, могут быть динамически обновлены просто переслав данные вершины без обновления связаности граней.
Моделирование требует легкого обхода всех структур. С сеткой использующей список граней очень легко найти вершины грани. Также, список вершин содержит список всех граней связанных с каждой вершиной. В
=== "Крылатое" представление ===
Строка 145:
== Другие представления ==
''Потоковые сетки'' хранят грани упорядочено, но независимо, так чтобы сетку можно было пересылать по частям. Порядок граней может быть пространственным, спектральным, или базированным на других свойствах сетки. Потоковые сетки позволяют рендерить очень большие сетки даже тогда, когда они
''Прогрессивные сетки'' передают данные о вершинам и гранях с повышающимся уровнем детализации. В
''Нормальные сетки'' передают постепенные изменения сетке как множество смещений нормалей от базовой сетки. С помощью этой техники, ряд текстур отображает желаемые нарастающие изменения. Нормальные сетки компактны, так как для выражения смещения нужно лишь одно скалярное значение. Однако, техника требует ряд сложных трансформаций чтобы создать текстуры сдвига.
|