Введение
Криволинейная поверхность, полученная из грубой полигональной сетки.
В области 3D компьютерной графики, поверхность подразделения (обычно сокращаемая до SubD поверхность или Subsurf) — это криволинейная поверхность, представленная спецификацией более грубой полигональной сетки и создаваемая рекурсивным алгоритмическим методом. Криволинейная поверхность, а также лежащая в основе внутренняя сетка, могут быть вычислены из грубой сетки, известной как управляющая сетка или внешняя сетка, как функциональный предел итеративного процесса подразделения каждой полигональной грани на более мелкие грани, которые лучше аппроксимируют конечную криволинейную поверхность. Менее распространенным является простой алгоритм добавления геометрии к сетке путем подразделения граней на более мелкие без изменения общей формы или объема. Обратным процессом является уменьшение количества полигонов или отмена подразделения.
Обзор
Алгоритм поверхности подразделения рекурсивен по своей природе. Процесс начинается с базовой многоугольной сетки. Затем к этой сетке применяется схема уточнения. Этот процесс берет сетку и подразделяет её, создавая новые вершины и новые грани. Положения новых вершин в сетке вычисляются на основе положений соседних старых вершин, ребер и/или граней. Во многих схемах уточнения также изменяются положения старых вершин (возможно, на основе положений новых вершин). Этот процесс создает более плотную сетку, чем исходная, содержащую большее количество многоугольных граней (часто в четыре раза больше). Полученную сетку можно многократно пропускать через ту же схему уточнения, чтобы получить всё более и более детализированные сетки. Каждая итерация часто называется уровнем подразделения, начиная с нуля (до начала любого уточнения). Предельная поверхность подразделения – это поверхность, полученная в результате бесконечного итеративного применения этого процесса. Однако на практике этот алгоритм применяется лишь ограниченное и относительно небольшое количество раз. Математически, окрестность экстраординарной вершины (узла, не имеющего валентность 4 для сеток, уточненных по четырехугольникам) поверхности подразделения представляет собой сплайн с параметрически особой точкой.
Системы переработки
Схемы уточнения поверхности подразделений можно широко классифицировать на две категории: интерполирующие и аппроксимирующие. Интерполирующие схемы должны точно соответствовать исходному положению вершин в исходной сетке. Аппроксимирующие схемы этого не требуют; они могут и будут изменять эти положения по мере необходимости. В целом, аппроксимирующие схемы обеспечивают большую гладкость, но пользователь имеет меньше общего контроля над результатом. Это аналогично сплайнам и сплайновым кривым, где кривые Безье должны интерполировать определенные управляющие точки, а B-сплайны этого не требуют (и являются более аппроксимированными). Схемы поверхности подразделений также можно классифицировать по типу многоугольника, с которым они работают: некоторые лучше всего подходят для четырехугольников (квадов), в то время как другие в основном работают с треугольниками (трисами).
Схемы сближения
Приближение означает, что предельные поверхности аппроксимируют исходные сетки, и что после подразделения вновь сгенерированные контрольные точки не лежат на предельных поверхностях. Существует пять схем аппроксимирующего подразделения: Catmull и Clark (1978), Quads – обобщает вставку бикубического однородного B-сплайна. Для произвольных исходных сеток эта схема генерирует предельные поверхности, которые являются C2-непрерывными везде, за исключением экстраординарных вершин, где они являются C1-непрерывными (Peters и Reif 1998). Doo-Sabin (1978), Quads – Вторая схема подразделения была разработана Ду и Сэбином, которые успешно расширили метод усечения углов Чайкина (George Chaikin, 1974) для кривых на поверхности. Они использовали аналитическое выражение биквадратичной равномерной B-сплайн поверхности для генерации своей процедуры подразделения, чтобы получить предельные поверхности C1 с произвольной топологией для произвольных исходных сеток. Вспомогательная точка может улучшить форму подразделения Ду-Сэбина. После подразделения все вершины имеют валентность 4. Loop (1987), Triangles – Loop предложил свою схему подразделения, основанную на квартичном бокс-сплайне из шести направленных векторов, чтобы предоставить правило для генерации C2-непрерывных предельных поверхностей везде, кроме экстраординарных вершин, где они C1-непрерывны (Zorin 1997). Схема подразделения средней кромки (1997–1999) – Схема подразделения средней кромки была предложена независимо Петерсом и Рейфом (1997) и Хабибом и Уорреном (1999). Первый использовал середину каждой кромки для построения новой сетки. Второй использовал четырехнаправленный бокс-сплайн для построения схемы. Эта схема генерирует C1-непрерывные предельные поверхности на исходных сетках с произвольной топологией. (Подразделение средней кромки, которое можно назвать "√2-подразделением", поскольку два шага уменьшают расстояния вдвое, можно считать самым медленным.) √3 схема подразделения (2000), Triangles – Эта схема была разработана Коббельтом и предлагает несколько интересных особенностей: она обрабатывает произвольные треугольные сетки, она C2-непрерывна везде, за исключением экстраординарных вершин, где она C1-непрерывна, и она предлагает естественное адаптивное уточнение при необходимости. Она обладает по крайней мере двумя особенностями: это двойная схема для треугольных сеток и она имеет более медленную скорость уточнения, чем первичные схемы.
Catmull and Clark (1978), Quads – generalizes bi cubic uniform B spline knot insertion. For arbitrary initial meshes, this scheme generates limit surfaces that are C2 continuous everywhere except at extraordinary vertices where they are C1 continuous (Peters and Reif 1998). Doo Sabin (1978), Quads – The second subdivision scheme was developed by Doo and Sabin, who successfully extended Chaikin's corner cutting method (George Chaikin, 1974) for curves to surfaces. They used the analytical expression of bi quadratic uniform B spline surface to generate their subdivision procedure to produce C1 limit surfaces with arbitrary topology for arbitrary initial meshes. An auxiliary point can improve the shape of Doo Sabin subdivision. After a subdivision, all vertices have valence 4. Loop (1987), Triangles – Loop proposed his subdivision scheme based on a quartic box spline of six direction vectors to provide a rule to generate C2 continuous limit surfaces everywhere except at extraordinary vertices where they are C1 continuous (Zorin 1997). Mid Edge subdivision scheme (1997–1999) – The mid edge subdivision scheme was proposed independently by Peters Reif (1997) and Habib Warren (1999). The former used the mid point of each edge to build the new mesh. The latter used a four directional box spline to build the scheme. This scheme generates C1 continuous limit surfaces on initial meshes with arbitrary topology. (Mid Edge subdivision, which could be called "√2 subdivision" since two steps halve distances, could be considered the slowest.) √3 subdivision scheme (2000), Triangles – This scheme was developed by Kobbelt and offers several interesting features: it handles arbitrary triangular meshes, it is C2 continuous everywhere except at extraordinary vertices where it is C1 continuous and it offers a natural adaptive refinement when required. It exhibits at least two specificities: it is a Dual scheme for triangle meshes and it has a slower refinement rate than primal ones.
Основные события
1978: Поверхности подразделения были описаны Эдвином Кэтмуллом и Джимом Кларком (см. поверхность подразделения Кэтмулла — Кларка), а также Дэниелом Ду и Малкомом Сабином (см. поверхности подразделения Ду — Сабина). 1995: Ульрих Рейф исследовал поведение поверхностей подразделения вблизи экстраординарных вершин. 1998: Джос Стамм предложил метод точного вычисления поверхностей подразделения Кэтмулла — Кларка при произвольных значениях параметров.