Podręcznik
10. Powierzchnie typu subdivision
Tworzenie powierzchni metodami typu subdivision ma najkrótszą historię w dziedzinie obrazowania, jakkolwiek zasady podpodziałów wywodzą się z zaprezentowanego w rozdziale 8 algorytmu de Casteljau. Dopiero jednak lata 90-te ub. stulecia stworzyły podstawy do użycia nowych matematycznych teorii w dziedzinie produkcji pełnometrażowych filmów animowanych, z których pierwszym był film Toy Story zrealizowany w studiu Pixar. Metody typu subdivision pozwoliły bowiem na znacznie większą elastyczność podczas modelowania, niż powierzchnie NURBS, które zdefiniowane są siatką regularną i wszelkie modyfikacje siatki wierzchołków kontrolnych (np. zwiększanie liczby wierzchołków) muszą się odbywać w odniesieniu do całych wierszy bądź kolumn siatki (co łatwo sprawdzić na aplecie z poprzedniego segmentu, obrazującym modelowanie powierzchni NURBS). Powierzchnie typu subdivision również definiowane są siatką wierzchołków (ale nie są to wierzchołki kontrolne), która może być o dowolnej, nieregularnej strukturze i którą można w dowolny sposób iteracyjnie zagęszczać, i to zagęszczać lokalnie, zmierzając do pożądanego kształtu.
Zasadę definiowania powierzchni metodą podpodziałów znakomicie obrazują animowane gif-y zamieszczone na stronach:
https://pixelandpoly.com/graphics/referenceimages/bay_natash_build_2.gif
https://pixelandpoly.com/graphics/referenceimages/bay_natash_build_3.gif .
oraz następujący rysunek:
Spośród szeregu algorytmów opracowanych podpodziałów na Rys. 88 przedstawiono jeden z najbardziej typowych:
Rysunek 89. Metoda Catmulla-Clarka.
Zasada ta odnosi się do wszelkich siatek przestrzennych. W odniesieniu do prostej siatki 2D można ją opisać następująco:
- nowy wierzchołek, oznaczony kolorem czerwonym, powstaje ze "starych" wierzchołków siatki, którym przypisuje się wagi, jak podano liczbowo.
- następnie, w zależności od nowych i starych wierzchołków, modyfikuje się stare wierzchołki, oznaczone kolorem niebieskim. Wartość k jest liczbą krawędzi siatki zbiegających się w danym wierzchołku.
Rysunek 90. Zasada podpodziałów powierzchni w metodzie Catmulla-Clarka. Początkowe trójkąty zostają zamienione na czworokąty i cały dalszy proces przebiega tylko na siatkach czworokątów.
Powierzchnie subdivision reprezentowane są jak widać siatką ścian. Algorytm Catmulla-Clarka należy do tych algorytmów, gdzie struktura half-edge ma wyjątkowe uzasadnienie ze względu na to, że dzięki niej cały obieg krawędzi w wierzchołku zapisuje się bardzo zwięźle i wykonuje niezwykle szybko, co daje radykalną poprawę efektywności w stosunku do prostszych struktur danych.
Rysunek 91. Tylko obszary w narożach, zaznaczone na niebiesko, nie pokrywają się z powierzchniami B-sklejanymi i nie mają zachowanej ciągłości G2 z sąsiednimi powierzchniami.
Metoda Catmulla-Clarka we wszystkich regularnych obszarach siatki jest zbieżna do bikubicznych powierzchni B-sklejanych, natomiast daje inne wyniki w tych obszarach, gdzie liczba krawędzi siatki zbiegających się w wierzchołku jest różna od czterech. Na Rys. 92 zamieszczono poglądowy przykład modelowania powierzchni metodą podpodziałów, zrealizowany z użyciem modelera Blender.
Rysunek 92. Metoda Catmulla-Clarka w Blenderze: krok 0, 1 , 2 i 4 algorytmu.
Inne algorytmy zdefiniowane są dla siatek trójkątów. Należy do nich algorytm opracowany przez C. Loopa oraz tzw. algorytm Butterfly:
Rysunek 93. Zasada podpodziałów w metodzie zwanej Butterfly. Nowy wierzchołek x powstaje ze "starych" wierzchołków siatki zgodnie z podanym wzorem.
Zasadniczym problemem, nad którym pracują obecnie matematycy, jest opracowanie zasad dokładnego wykonywania na nich operacji takich jak wyznaczanie wektorów normalnych, przecięć powierzchni itp. - mimo że nie mają one skończonej postaci opisu matematycznego, jak powierzchnie NURBS, a tylko są definiowane jako granica nieskończonej ilości podpodziałów. Wówczas powierzchnie typu "subdivision" nie tylko znajdą swoje miejsce również w systemach CAD/CAM obok powierzchni NURBS, jak to się już właśnie stopniowo dokonuje, ale być może je po prostu zastąpią jako ich uogólnienie.
Rysunek 94. Porównanie powierzchni NURBS i powierzchni „subdivision” zdefiniowanych sześcienną siatką wierzchołków