Vorlesung im Sommersemester 2001


Geometrische Modellierung

Wolfgang K. Seiler

Ort und Zeit: Dienstag, 13.45 - 15.15 Uhr und Freitag, 10.15 - 11.45 Uhr, C015


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 mit mathematische Ausrichtung des Hauptstudiums. 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 Vertiefungsfach gewählt werden. Möglich ist einerseits eine Vertiefung in Geometrie in Kombination mit Vorlesungen und Seminaren über Algebraische und/oder Differentialgeometrie; andererseits kann sie auch gezählt werden für eine Vertiefung in Algebra beispielsweise zusammen mit der in diesem Semester angebotenen Vorlesung Kommutative Algebra und Algebraische Geometrie oder der voraussichtlich im nächsten Semester angebotenen Computeralgebra.

Studenten, die vor der Wahl eines Vertiefungsfachs stehen, seien daran erinnert, daß die Prüfungsordnung zu diesem Zweck eine Studienberatung vorsieht, in der auch über passende Anwendungsfächer und Vorlesungen aus dem Prüfungsgebiet Brücke zum Anwendungsfach gesprochen wird. Wer eine Vertiefung in Geometrie oder Algebra plant, kann dazu gerne zu mir kommen.

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
Darstellung von Polyedern, 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
Bézierflächen, Splines auf PL-Mannigfaltigkeiten, Krümmung und geometrische Stetigkeit, NURBS, ...
Kap. V: Implizite Flächen
polygonale Approximation durch Unterteilung, Schnittkurven, Umrechnung parametrischer Flächen in implizite, Umkehrproblem, 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: Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide, Academic Press, 41996
deutsche Übersetzung:
Kurven und Flächen im Computer Aided Geometric Design, Vieweg, 1994

Jean Jacques Risler: Mathematical methods for CAD, Cambridge University Press, 1992

Impliziten Flächen gewidmet ist

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

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, 22000

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