Master Seminar How to make a PIXAR Movie Modeling Michael Hingel 10. Februar 2011 Zusammenfassung: In dem Vortrag Modeling und der dazugeh¨origen Ausarbeitung werden die verschiedenen Repr¨asentationsm¨oglichkeiten f¨ ur 3D-Modelle vorgestellt: Punktwolken, Volumenmodelle, Oberfl¨achenmodelle, wobei sich letztere in Polygonmodelle, Parametrische Oberfl¨achen und Subdivision Surfaces aufteilen lassen. Dabei wird auf die Eigenschaften, Vorteile und Anwendungsm¨ oglichkeiten eingegangen. Es werden konkrete Einsatzbeispiele aus Film, Industrie und Medizin gezeigt. 1 MODELING 1 2 VOLUMENMODELLE Punkwolken Unter einer Punktwolke versteht man die Menge ungeordneter kartesischer 3DKoordinaten (3-stellige Wertetupel), die Positionen oder Punkte im euklidischen R3 repr¨ asentieren. Diese Punkte bilden eine Teilmenge der Oberfl¨ache eines dreidimensionalen Objektes. Die Erstellung von Punktwolken geschieht u ¨blicherweise entweder mit 3D-Modellierungswerkzeugen oder mittels Abtastung von Oberfl¨ achen mit 3D-Scannern. Letztere unterscheidet man durch die zur Bestimmung der Punktwolken zugrunde liegenden Technik: Pulslaufzeit, Phasendifferenz und Triangulation. Beispiele f¨ ur Einsatz von Punktwolken findet man in der der Rekonstruktion oder Erhaltung von Monumenten, historischen Bauwerken, Artefakten oder dem Einscannen von Objekten oder Personen f¨ ur Filme oder Computerspiele. 1.1 Surface Reconstruction Zur weiteren Verwendung der Punktwolken werden diese u ¨blicherweise in andere Repr¨ asentationsformen gebracht. Grund hierf¨ ur k¨onnen Rauschen in den f¨ ur 3D-Scanner typischen Ausgangsdaten sein, oder effizientere Datenstrukturen (z.B. Dreiecksnetze, die optimal zur Ausgabe durch Grafikkarten geeignet sind) Hierf¨ ur gibt es verschiedene Ans¨atze: Marching Cubes, B´ezier and B-Spline Surfaces, The Delaunay Triangulation, Ball Pivoting Algorithmus. 2 Volumenmodelle In den meisten F¨ allen repr¨asentieren die zu visualisierenden Daten ein reales Objekt (z.B. ein Organ, Gewebe, Geschwindigkeits Feld). Diese Daten sind normalerweise nur an einer endlichen Menge von Positionen bekannt. F¨ ur die Erstellung eines Volumenmodells wird der relevante Teil des Raumes in kleine W¨ urfel unterteilt, welche die bekannten Positionen des realen Objektes repr¨asentieren. Diese Elementarw¨ urfel werden als Voxel bezeichnet (siehe Abbildung 1). Pixel + Volumen = Voxel. Voxel bilden das r¨aumliche Analogon zu Pixeln, die eine Diskretisierung von zweidimensionalen Bildern darstellen. Volumenmodelle lassen sich grunds¨atzlich auf zwei verschiedene Arten visualisieren: Direct volume rendering: Durch jeden Pixel wird ein Strahl geschossen. Entlang dieser Strahlen werden Farbinformationen durch L¨osen des vo” lume rendering integrals“gesammelt. Indirect volume rendering: Das Volumenmodell wird in eine andere Darstellungsform gebracht. Ein bekanntes Verfahren, bei dem ein Voxelgitter in ein Polygonmesh transformiert wird, ist der Marching Cubes Algorithmus. 2 MODELING 2 (a) Voxelisierung eines W¨ urfels VOLUMENMODELLE (b) Voxelisierung von Mario Abbildung 1: Voxelisierung 2.1 Marching Cubes Der Marching Cubes Algorithmus von W. Lorensen und H. Cline ( Marching ” Cubes: A high resolution 3D surface construction algorithm, SIGGRAPH 1987.“) n¨ ahert eine Voxelgrafik durch eine Polygongrafik. Dadurch ist das Ausnutzen effizienter Hardwarunterst¨ utzung durch die Darstellung von Polygonmodellen m¨ oglich. Der Algorithmus l¨asst sich in 7 Schritte aufteilen: 1. Aufteilen des Voxelgitters in W¨ urfel mit 8 Voxeln als Eckpunkte. 2. Klassifieziere jeden Voxel des W¨ urfels ob er innerhalb oder außerhalb des Objektes liegt. 3. Erstelle einen Index aus diesen Informationen. 4. Zugriff auf Polygontabelle u ¨ber den Index. Erstelle Kantenliste aus dieser Tabelle. Die 256 Schnittm¨oglichkeiten eines W¨ urfels k¨onnen durch Spiegelung/Rotation aus 15 Basisf¨allen abgeleitet werden. 5. Berechne Vertex Position an Kanten durch lineare Interpolation. 6. Berechne Normale zu jedem Eckpunkt. 7. Berechne Polygon Normale durch lineare Interpolation. 2.2 Physikalische Modellierung Ein Bereich in dem Volumenmodelle außerdem verwendet werden ist in der physikalischen Modellierung. Abbildung 2 zeigt zwei Ausschnitte aus aktuellen Filmen in denen Wolken und Tornados mithilfe von Volumenmodellen visualisiert wurden. In den beiden F¨allen wurde zun¨achst mit oberfl¨achenbasierten 3 MODELING 3 ¨ OBERFLACHENMODELLE Primitiven gearbeitet. Diese erlaubt dem Animator ein Feintuning der Filmsequenzen ohne aufwendige Simulationen laufen lassen zu m¨ ussen. F¨ ur die finalen Filmaufnahmen werden die Oberfl¨achenmodelle in ein Voxelgitter rasterisiert. (a) Burger-Wolken aus dem Film Wolkig mit Aussicht auf Fleischb¨ allchen (b) Tornados aus dem Film Hancock Abbildung 2: Physikalische Modellierung 3 Oberfl¨ achenmodelle Volumenmodelle ben¨ otigen bei hoher Voxelgitteraufl¨osung schnell sehr viel Speicherplatz. Vorteil bieten hier Oberfl¨achemodelle, bei denen Objekte nur durch ihre ¨ außere Begrenzung definiert werden. 3.1 Polygonmodelle . Ein Polygon besteht aus einer Menge von Punkten V0 , ..., Vn im dreidimensionalen Raum und einem Polygonzug Q = (V0 , V1 ), (V1 , V2 ), ...(Vn−2 , Vn−1 ), der die Punkte mit einander verbindet, mit Vn−1 = V0 . Die einfachste Form des Polygons stellt das Dreieck dar, bei dem immer 3 Punkte durch 3 Kanten verbunden sind. Ein Dreiecksnetz besteht aus einer Menge von Eckpunkten V = vi , vi ∈ R3 , Kanten E = eij , eij = vi vj = [vi , vj ] = i, j und Dreiecken T = tijk (i, j, k), tijk = 4(vi , vj , vk ) = [vi , vj , vk ] = i, j, k mit i <= j <= k Die Anzahl der f¨ ur ein Modell ben¨otigten Polygone ist abh¨angig vom gew¨ unschten Detailgrad. So werden bei Computerspielen¨ uberlichwerweise lowPolygon-modelle verwendet (siehe Abbildung 3a, 1993). Sind dagegen Modelle mit hohen Detailgrad, erforderlich, u ¨blich in Filmen, steigt die Anzahl der Polygone schnell auf mehrere Millionen. Das Beispiel aus Abbildung 3b zeigt ein Modell aus dem Film Transformers 2, bestehend aus u ¨ber 11 Millionen Polygonen. 4 MODELING 3 (a) Einzug von Polygonmodellen in Computerspielen ¨ OBERFLACHENMODELLE (b) Aufwendige Polygonmodelle in heuten Filmproduktionen (c) Vergleich Polygonmodell - NURBS Abbildung 3: Polygonmodelle 3.2 Parametrische Oberfl¨ achen Ein Nachteil der Polygonmodelle ist die mit hohem Detailgrad ben¨otigte Anzahl an Polygonen, die Modelle werden schnell sehr komplex und speicheraufwendig. Gewisse Objekte lassen sich bei gleicher Detailtreue (siehe Abbildung 3c) mit weniger Aufwand durch sogenannte Parametrische Oberfl¨achen modelieren. Bei Parametrischen Oberfl¨achen werden die Fl¨achen im R3 durch Parameter definiert. Zu den einfachsten Parametrischen Oberfl¨achen stellen z¨ahlen Quadratische Gleichungen, durch welche sich Kugeln (1) und Zylinder (2) darstellen lassen. 3.2.1 (x − x0 )2 + (y − y0 )2 + (z − z0 )2 = r2 (1) (x − x0 )2 (y − y0 )2 + =1 a2 b2 (2) B´ ezierkurven, B-Splines und NURBS B´ezierkurven wurden Anfang der 1960er Jahre von Pierre B´ezier und Paul de Casteljau zur Definition von Kurven und Fl¨achen entwickelt. Sie finden dabei vorallem Anwendung in CAD-Programmen, Vektorgrafiken und zur Beschreibung von Schriften. Eine B´ezierkurve ist durch n + 1 Kontrollpunkte und die Bernsteinpolynome der Form n i Bi,n = t (1 − t)n−i (3) i definiert. Diese bilden das Kontrollpolygon C(t) = n X i=0 5 Bi,n (t)Pi (4) MODELING 3 ¨ OBERFLACHENMODELLE , B´ezierkurve genannt. Werden diese B´ezierkurven durch Gewichtung der Bernstein Polynome in die Form Pn wi Bi,n (t)Pi (5) C(t) = Pi=0 n i=0 wi Bi,n (t) gebracht, ergibt das rationale B´ezierkurven, u ¨ber welche eine Anziehungskraft der einzelnen Kontrollpunkte angegeben werden kann. Somit sind konische Kurven m¨ oglich, die mit einfachen B´ezierkurven nicht darzustellen sind. Ein Problem bei komplexeren Kurven und damit mehr Kontrollpunkten ist der Anstieg des Grades des Kontrollpolynoms. Daher kann eine Kurve in einzelne Kurvenst¨ ucke aufgeteilt werden. Diese st¨ uckweise zusammengesetzte Kurve ¨ wird Spline genannt. Damit die Anderung einzelner Kontrollpunkte keine Auswirkung auf die gesamte Kurve hat, werden sogenannte B-Splines verwendet. Bei B-Splines werden im wesentlichen die einzelnen Kurvensegmente auf Grund ¨ der B-Spline-Basisfunktionen berechnet. Der Vorteil hierbei ist, dass eine Anderung einzelner Koeffizienten nur lokale Auswirkungen hat. Eine Verallgemeinerung von B´ezierkurven und B-Splines stellen die NonUniform Rational B-Spline (NURBS) Kurven dar. Mit diesen werden durch Hinzuf¨ ugen einer weiteren Richtung Fl¨achen dargestellt, welche aufgrund mathematischer Genauigkeit vor allem in der industriellen Produktion eingesetzt werden. Um hohe Grade der Polynome bei komplexen Oberfl¨achen zu vermeiden, werden diese in einzelne Patches aufgeteilt. ¨ F¨ ur den Ubergang zwischen den einzelnen Kurventeilen und Patches lassen sicht Glattheitskriterien, Kontinuit¨at genannt, festlegen. Diese sind vor allem bei NURBS in der Automobielindustrie von großer Bedeutung, um aus vielen Einzelteilen zusammengesetzte Oberfl¨achen als eine zusammengeh¨orige erscheinen zu lassen (realistische Reflexionen). Folgende Kontinuit¨aten werden unterschieden: C −1 : Kurven enthalten Diskontinuit¨ aten C 0 : Kurven sind verbunden C 1 : Erste Ableitungen sind gleich C 2 : Erste und zweite Ableitungen sind gleich C n : Erste bis nte Ableitungen sind gleich 3.3 Subdivision Surfaces Ein Verfahren zur Beschreibung von Modellen, dass die Vorteile von Polygonmodellen (intuitive Modellierung) und NURBS (glatte Oberfl¨achen) vereint, ohne ihre Nachteile zu u ¨bernehmen sind Subdivision Surfaces. 6 MODELING 3 ¨ OBERFLACHENMODELLE In einem iterativen Prozess wird das Objekt, welches als Polygonmodell vorliegen muss, schrittweise gegl¨attet. Die vorhandenen Polygone werden geteilt und neu positioniert. Subdisivon Surfaces sind non-destruktiv, das heißt es wird u ¨berlicherweiße mit dem Ausgangsmodell weiter gearbeitet, w¨ahrend dem Programm die Verfeinerung u ¨berlassen wird. Das iterative Subdivision Surface Verfahren l¨ asst sich in zwei Phasen aufteilen: 3.3.1 Verfeinerungsphase Das Ausgangsnetz wird in ein feineres Netz geteilt. Bei der Unterteilung wird zwischen vertex insertion und corner cutting unterschieden. Beim vertex insertion werden in die Kanten der Polygone neue Knoten eingef¨ ugt. Beim corner cutting werden die Polygone zun¨achst verkleinert, erhalten jedoch ihre Form. In einem zweiten Schritt werden die entstandenen L¨ ucken durch neue Polygone gef¨ ullt. 3.3.2 Gl¨ attungsphase Die neuen und ggf. alten Knoten werden verschoben und gegl¨attet. Beim Verschieben der Knoten wird zwischen approximierenden und interpolierenden Algorithmen unterschieden. In der approximierenden Variante werden alle alten und neuen Knoten verschoben. In der interpolierenden Variante dagegen bleiben die alten Knoten unver¨andert. Der Vorteil interpolierender Algorithmen ist die Best¨ andigkeit der Topologie, die Position einmal gesetzter Knoten ver¨andert sich auch nach beliebiger Iterationstiefe nichtmehr. Approximierende Verfahren dagegen liefern nach weniger Schritten qualitativ bessere Ergebnisse, sind jedoch schwerer kontrollierbar. Abbildung 4 zeigt den Unterschied der beiden Verfahren. F¨ ur die interpolierende Variante wurde der von Zorin, Schr¨oder und Schweldens entwickelte Modified Butterfly Scheme Algorithmus verwendet. Das approximierende Beispiel wird mit dem von Charles Loop entwickelten Loop Subdivision Verfahren berechnet. Abbildung 4: Vergleich interpolierender und approximierender Subdisivion Surface Algorithmen Einer der wichtigstens Subdivision Surface Algorithmen ist das 1978 von Edwin Catmull und Jim Clark entwickelte Catmull-Clark Verfahren. 7 MODELING LITERATUR Literatur [1] Fausto Bernardini, Joshua Mittleman, Holly Rushmeier, Cl´audio Silva, Gabriel Taubin, The Ball-Pivoting Algorithm for Surface Reconstruction [2] E Catmull, J Clark, Recursively generated B-spline surfaces on arbitrary topological meshes [3] Denis Zorin, Peter Schr¨oder, Subdivision for Modeling and Animation, SIGGRAPH 2000 Course Notes [4] Ruwen Schnabel, Roland Wahl, Reinhard Klein, Efficient RANSAC for Point-Cloud Shape Detection [5] Tony Rogers, Managing Director, APR Services Ltd, St Albans Cathedral, Case Study [6] George Burshukov, ESC Entertainment, Making of THE Superpunch [7] Simon Winkelbach, Sven Molkenstruck, Friedrich M. Wahl, Low-Cost Laser Range Scanner and Fast Surface Registration Approach [8] Charles Teorell Loop, Smooth Subdivision Surfaces Based on Triangles [9] Devon Penney, PDI/DreamWorks Animation Volumetric Modeling and Rendering [10] Magnus Wrenninge, Volume Rendering at Sony Pictures Imageworks [11] Christian Teutsch, Model-based Analysis and Evaluation of Point Sets from Optical 3D Laser Scanners [12] William E. Lorensen, Harvey E. Cline, MARCHING CUBES: A HIGH RESOLUTION 3D SURFACE CONSTRUCTION ALGORITHM, Computer Graphics, Volume 21, Number 4, July 1987 8
© Copyright 2024