Vorlesung im Sommersemester 2004


Geometrische Modellierung

Wolfgang K. Seiler

Ort und Zeit: Montag, 15.30 - 17.00 Uhr, C012, und Donnerstag, 8.30 - 10.00 Uhr, A1.01


Worum geht es? Die geometrische Modellierung beschäftigt sich mit der Konstruktion, Manipulation und bildlichen Darstellung dreidimensionaler geometrischer Objekte für Anwendungen wie Konstruktion, Design, Fertigung, Visualisierung, photorealistische Graphik und special effects bei Filmen. Die Vorlesung möchte einen Überblick über die wichtigstgen dabei verwendeten mathematischen Methoden geben und diese auch anhand praktischer Beispiele (hauptsächlich in OpenGL) demonstrieren.

Voraussetzungen und Zielgruppe: Die Vorlesung richtet sich an Studenten des Integrierten Studiengangs Mathematik und Informatik im Hauptstudium. Vorausgesetzt werden nur Grundstudiumskenntnisse aus Analysis, Linearer Algebra und Numerik; alles andere wird in der Vorlesung selbst entwickelt.

Prüfungsrelevanz: Die Vorlesung kann als Teil des Vertiefungsfachs Geometrie gewählt werden in Kombination mit Vorlesungen und Seminaren über Algebraische und/oder Differentialgeometrie; eine Vorlesung aus dem Bereich der algebraischen Geometrie werde ich voraussichtlich im nächsten Sommer anbieten. Zusammen mit einer solchen Vorlesung kann sie gegebenenfalls auch f"ur das Vertiefungsgebiet Algebra gezählt werden.

Bei passendem Vertiefungs- und/oder Anwendungsfach kann die geometrische Modellierung natürlich auch für das Fach Brücke gehört werden.

Was ist geometrische Modellierung?

Bis vor etwa dreißig Jahren gab es an jedem mathematischen Institut eine Vorlesung Darstellende Geometrie, die vor allem für Ingenieure zum Pflichtteil ihrer Ausbildung gehörte. Dort lernte man, wie man am Zeichentisch Pläne für Gebäude, technische Geräte und ähnliches entwirft, geometrisch betrachtet also, wie man zweidimensionale Bilder dreidimensionaler Objekte konstruiert. Diese Objekte waren naturgemäß sehr einfach; abgesehen von Kegeln, Zylindern und Kugeln gab es praktisch nur Körper mit ebenen Begrenzungsflächen.

Drahtmodell einer Teekanne

Als dann die Zeichentische durch CAD-Systeme ersetzt wurden, setzte sich langsam durch, anstelle der zweidimensionalen Zeichnung gleich eine Beschreibung der dreidimensionalen Objekte zu erzeugen. Daraus konnte der Computer nicht nur beliebige zweidimensionale Ansichten erzeugen, sondern man konnte die Daten auch gleich zur numerischen Simulation der konstruierten Objekte benutzen (ohne diese selbst teuer bauen zu müssen), und man konnte sie, wenn man nach mehreren Ansätzen mit den Simulationsergebnissen zufrieden war, an numerisch gesteuerte Fertigungsmaschinen weitergeben, die das Objekt dann wirklich konstruierten. Für dieses Arbeiten mit den dreidimensionalen geometrischen Objekten der darstellenden Geometrie bürgerte sich der Name solid modeling ein.

Kupferteekanne

Die geometrische Modellierung ist die natürliche Weiterentwicklung des solid modeling, die mit Objekten beliebiger Form arbeitet; diese werden durch ihre Randflächen beschrieben, die entweder als parametrische Flächen (Splines) oder als implizite Flächen (Nullstellen eines Polynoms) gegeben sind. Dadurch sind auch Anwendungen im Design möglich sowie (in Verbindung mit Beleuchtungsalgorithmen) in der photorealistischen Graphik bis hin zu special effects bei Filmen.

Roboter

Inhalt der Vorlesung

Die Vorlesung beginnt mit den verschiedenen Beschreibungs- und Darstellungsformen für dreidimensionale Objekte und einer ersten Diskussion der Vor- und Nachteile der verschiedenen Verfahren. Ein genaueres Bild ergibt sich anschließend bei der erheblich umfangreicheren Behandlung der Algorithmen für die Manipulation dieser Strukturen.

Auch wenn es einige experimentelle Systeme gibt, die mit Methoden der Computeralgebra und somit exakt arbeiten, gibt es doch für die meisten Anwendungen aus Effizensgründen keine Alternative zum numerischen Rechnen. In einer Gleitkommaarithmetik gelten aber andere Rechenregeln als in den reellen Zahlen; es gibt Phänomene wir verzopfte Geraden, die in der gewohnten Geometrie keine Entsprechung haben, und es kann von der Reihenfolge der Rechenoperationen abhängen, ob zwei durch geometrische Bedingungen beschriebene Punkte numerisch gleich sind oder nicht, so daß selbst die einfache Frage nach dem Schnittpunkt zweier Geraden keinesfalls nur als Problem der linearen Algebra betrachtet werden kann:

Ein System zur geometrischen Modellierung muß sicherstellen, daß die gleiche Frage immer auf die gleiche Antwort führt; wie die Erfahrung zeigt, führen logische und geometrische Inkonsistenzen fast immer zum Absturz des Systems oder zu unsinnigen Ergebnissen, da es über kurz oder lang beispielsweise zu einer Division durch Null oder etwas ähnlichem kommen wird.

Wir werden einige allgemeine Strategien zum Umgang mit diesem Problem diskutieren und anhand eines konkreten, in C implementierten Systems sehen, wie zumindest im Rahmen des solid modeling eine einfache Lösung möglich ist, indem man nur sogenannten Euler-Operationen als primitive Konstruktionsschritte zuläßt.

Ein wesentlicher Aspekt der geometrischen Modellierung ist die Darstellung der erzeugten Objekte auf Bildschirm, Drucker und anderen Ausgabegeräten. Dazu muß zunächst eine Projektion in die Ebene festgelegt werden, wofür insbesondere bei technischen Anwendungen gewisse Standards normiert sind; danach muß das zweidimensionale Bild in Rastergraphik umgesetzt werden, was bereits für Geraden und Kreise nicht völlig offensichtliche Algorithmen erfordert. Außerdem müssen sogenannte alias-Effekte vermieden werden, die durch ein für Teile der Zeichnung zu grobes Raster entstehen können.

Interessiert man sich nicht nur für eine technische Zeichnung, sondern für ein photorealistisches Bild, muß schließlich noch die Beschaffenheit von Oberflächen ins Modell aufgenommen werden. Außerdem muß die Art der Beleuchtung festgelegt und ihr Effekt auf die dargestellt Szene berechnet werden.

Gliederung

Kap. I: Charakterisierungen dreidimensionaler Objekte
Polyeder, Octrees, B-Rep-Darstellung, CSG-Darstellung, Robustheitsfragen, ...
Kap. II: Solid Modeling
PL-Mannigfaltigkeiten, Euler-Operationen, Quadriken, fraktale Landschaften, ...
Kap III: Graphische Darstellung dreidimensionaler Objekte
Projektionen und andere Transformationen in der Graphikpipeline, Rasterung, Antialiasing, physikalische und physiologische Eigenschaften von Farben, Beleuchtungsmodelle, photorealistische Darstellung, Animation, ...
Kap. IV: Parametrische Flächen
Krümmung und geometrische Stetigkeit, NURBS, ...
Kap. V: Implizite Flächen
Algebraische Kurven und Flächen, Schnitte, A-patches, ...

Literatur

Einen sehr guten ersten Überblick über das Gesamtgebiet gibt

Christoph M. Hoffmann: Geometric and solid modeling, Morgan Kaufmann, 1993

Bücher ähnlichen Inhalts, die allerdings nicht ganz so breit angelegt sind, sind unter anderem

Wolfgang Boehm, Hartmut Prautzsch: Geometric Concepts for Geometric Design, A K Peters, 1994

Andreas Hartwig: Algebraic 3-D Modelling, A K Peters, 1996

Speziell mit solid modeling bis hin zur vollständigen Implementierung eines Systems beschäftigt sich

Martti Mäntylä: Introduction to solid modeling, Computer Science Press, 1988

Bei den folgenden beiden Büchern liegt das Hauptgewicht auf der Modellierung mit Splines:

Gerald Farin: NURBS: from projective geometry to practical use, AK Peters, 21999

Les Piegl, Wayne Tiller: The NURBS book, Springer, 21997

Impliziten Flächen gewidmet sind

Jules Bloomenthal, Chandrajit L. Bajaj [Hrsg.]: Introduction to implicit surfaces, Morgan Kaufmann, 1997

Luiz Velho, Jonas Gomes, Henrique de Figueiredo: Implicit objects in computer graphics, Springer, 2002

Fortgeschrittene Techniken der reell-algebraischen Geometrie, von denen in der Vorlesung höchstens die ersten Anfänge kurz angedeutet werden können, findet man bei

Riccardo Benedetti, Jean Jacques Risler: Real algebraic and semi-algebraic sets, Hermann, Paris, 1990

Mit der graphischen Umsetzung geometrischer Modelle beschäftigen sich unter anderem die Bücher

Edward Angel: Interactive Computer Graphics. A top-down approach with OpenGL, Addison Wesley, 32003

James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes: Computer Graphics. Principles and Practice, Addison-Wesley, 21995

David F. Rogers: Procedural Elements for Computer Graphics, McGraw-Hill, 1985

OpenGL Architecture Review Board: OpenGL programming guide, Addison-Wesley, 31999