Eine Subdivision Surface (deutsch: Unterteilungsfläche) ist in der Computergrafik eine glatte (in der ersten oder mehrfachen Ableitung stetige) Fläche, die aus einem Ausgangsgitter (auch Kontroll-Polygonnetz genannt) erzeugt wurde. Eine Subdivision Surface ist ursprünglich als der Grenzwert (Limes) eines unendlichen, rekursiven Verfeinerungsschemas definiert. Dieses Verfeinerungsschema wird auch als Subdivision Schema bezeichnet; der Grenzwert als Limesfläche.
Das Gegenteil ist die Reduzierung der Polygonanzahl (engl. un-subdividing).
Entwicklung
- 1978 Subdivision Surfaces werden gleichzeitig von Edwin Catmull und Jim Clark sowie von Daniel Doo und Malcom Sabin entwickelt.
- 1985 Ulrich Reif entwickelt eine Methode für subdivision bei extraordinary Vertices (deutsch: außergewöhnliche Gitterpunkte bzw. Knoten).
- 1990 Nira Dyn, David Levine und John A. Gregory entwickeln das Butterfly Schema.
- 1996 Dennis Zorin und Peter Schröder stellen das modifizierte Butterfly Schema vor.
- 1998 Tony DeRose und Michael Kass stellen Methoden für den Einsatz von Subdivision Surfaces in der Character animation vor, insbesondere die Modifikation des Catmull-Clark Schemas zur Unterstützung von Falten und Ecken beliebiger Schärfe, Löchern und der stetigen Projektion von Texturen.
- 1998 Sederberg et al. entwickeln das erste nicht-gleichförmige Subdivison Schema.
- 1998 Jos Stam stellt die erste nichtrekursive Methode zur Berechnung von Catmull-Clark Subdivision Surfaces vor.
Verfeinerungsschemata
Verfeinerungsschemata können grob in zwei Kategorien eingeteilt werden: interpolierende und approximierende. Interpolierende Schemata werden benutzt, wenn die Limesfläche die Punkte des Ausgangsgitters interpolieren soll. Approximierende Schemata leisten dies nicht; die Limesfläche kann innerhalb oder außerhalb des Ausgangsgitters zu liegen kommen. Oft ist bei approximierenden Schemata das Ausgangsgitter die konvexe Hülle der Limesfläche. Generell erzeugen die meisten bekannten approximierenden Schemata ästhetisch ansprechendere Limesflächen.
Das andere Unterscheidungskriterium, das auch Verwendung findet, ist die Kategorisierung in Schemeta, die nur auf Gittern aus Polygonen mit bestimmter Punktzahl bestehen. Einige solcher Schemata benötigen beispielsweise ein Ausgangsgitter, das nur aus Dreiecken oder Vierecken besteht.
Viele Schemata sind auch nur auf mannigfaltigen Ausgangsgittern definiert.
Approximierende Schemata
Approximierend meint, dass die Limesfläche das Ausgangsgitter approximiert (annähert) und die bei jedem Rekursionschritt neu erzeugten Punkte in der Regel nicht auf der Limesfläche liegen. Beispiele für approximierende Schemata sind:
- Catmull-Clark
- Doo–Sabin
- Loop
- Mid-Edge
- v3
Interpolierende Schemata
Interpolierend heißt, dass die Punkte des Ausgangsgitters und die durch jeden Rekursionsschritt neu erzeugten Punkte immer auf der Limesfläche liegen. Beispiele für interpolierende Schemata sind:
- Butterfly Subdivision Surfaces: Das Butterfly Subdivision Surface ist ein interpolierendes Unterteilungsschema für Dreiecksnetze. Dabei werden pro Iterationsschritt für jedes Dreieck neue Punkte und Kanten erzeugt, um das Netz zu verfeinern.
- Kobbelt
Weblinks
- Kurse zum Thema (englisch)