Computergrafik Ein anwendungsorientiertes Lehrbuch Bearbeitet von Michael Bender, Manfred Brill 1. Auflage 2003. Taschenbuch. 528 S. Paperback ISBN 978 3 446 22150 5 Format (B x L): 16,9 x 24,1 cm Gewicht: 984 g Zu Leseprobe schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, ebooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.
CARL HANSER VERLAG Michael Bender, Manfred Brill Computergrafik Ein anwendungsorientiertes Lehrbuch 3-446-22150-6 www.hanser.de
Inhaltsverzeichnis Vorwort... XI 1 Einleitung... 1 1.1 Die Entwicklung der Computergrafik...... 1 1.2 Computergrafik-Architekturen...... 2 1.3 Wegweiser durch das Buch.... 7 2 Grundlegende Verfahren und Techniken... 9 2.1 Transformationen und Koordinatensysteme... 10 2.1.1 Punkte und Vektoren.... 10 2.1.2 Affine Kombinationen... 11 2.1.3 Homogene Koordinaten und affine Abbildungen...... 14 2.1.4 Hierarchien und Szenengraphen..... 23 2.2 Projektionen und Kameramodelle.... 25 2.2.1 Parallelprojektion...... 26 2.2.2 Zentralprojektion...... 31 2.2.3 Die virtuelle Kamera.... 36 2.3 Clipping und Rasterung...... 39 2.3.1 Pixel und mehr........ 40 2.3.2 Die Window-Viewport-Transformation........ 42 2.3.3 Clipping und Culling... 44 2.3.4 Rasterung und Scan Conversion..... 55 2.4 Sichtbarkeit...... 64 2.5 Zusammenfassung Die Computergrafik-Pipeline...... 71
VI Inhaltsverzeichnis 2.6 Fallstudien... 73 2.6.1 Affine Transformationen und Hierarchien in OpenGL.... 74 2.6.2 Hierarchien in VRML und AliasWavefront MAYA...... 80 2.6.3 Die virtuelle Kamera in OpenGL..... 82 2.6.4 Clipping in OpenGL.... 87 3 Geometrisches Modellieren mit Kurven und Flächen... 91 3.1 Modellieren geometrischer Objekte.... 91 3.2 Parameterkurven... 97 3.3 Polynomiale Kurven........ 104 3.4 Bézier-Kurven und -Kurvensegmente...... 109 3.4.1 Bernstein-Basis und Bernstein-Polynome....... 110 3.4.2 Der de Casteljau-Algorithmus...... 113 3.4.3 Eigenschaften von Bézier-Kurven(segmenten).... 116 3.5 Interpolation und Splines..... 128 3.5.1 Das Interpolationsproblem.... 130 3.5.2 Parametrisierungen.... 130 3.5.3 Polynomiale Interpolation..... 132 3.5.4 Hermite-Interpolation... 136 3.5.5 Spline-Kurven........ 137 3.5.6 Catmull-Rom- und Kochanek-Bartels- (TCB-)Splines.... 138 3.5.7 Gewöhnliche kubische Splines...... 141 3.6 B-Spline-Kurven.... 145 3.6.1 B-Spline-Basisfunktionen..... 147 3.6.2 Der de Boor-Algorithmus..... 155 3.6.3 Eigenschaften von B-Spline-Kurven... 156 3.6.4 Rationale Darstellungen NURBS.... 164 3.7 Parametrische Flächendarstellungen... 167 3.7.1 Häufig verwendete Typen von Flächen........ 167 3.7.2 Tensorproduktflächen... 170 3.7.3 Getrimmte Parameterflächen... 175 3.8 Freiformvolumen und FFDs.... 176 3.9 Zusammenfassung......... 179 3.10 Fallstudien... 179 3.10.1 Freiformgeometrie in OpenGL...... 180
Inhaltsverzeichnis VII 3.10.2 NURBS-Geometrie in AliasWavefront MAYA..... 184 3.10.3 Interpolation mit Kurven..... 185 4 Polygonale Netze... 191 4.1 Polygone und Polyeder....... 191 4.2 Speicherung von polygonalen Netzen...... 196 4.2.1 Ecken- und Kantenlisten...... 197 4.2.2 Die doppelt verkettete Kantenliste.... 198 4.2.3 Normalenvektoren..... 200 4.3 Dreiecksnetze..... 203 4.3.1 Datenstrukturen für Dreiecksnetze.... 204 4.3.2 Konstruktion von Triangle Strips..... 207 4.3.3 Konstruktion von Generalized Triangle Meshes... 210 4.4 Modellieren mit Netzen...... 211 4.4.1 Tesselation von Objekten..... 212 4.4.2 Globale Deformationen...... 216 4.4.3 Extrusions- und Rotationskörper..... 220 4.4.4 Subdivision Modeling für polygonale Netze..... 223 4.5 Level-of-Detail und Vereinfachen von Netzen......... 233 4.5.1 Vereinfachen von polygonalen Netzen......... 234 4.5.2 Ausdünnen von Netzen...... 236 4.5.3 Progressive Meshes..... 237 4.6 Zusammenfassung......... 242 4.7 Fallstudien... 243 4.7.1 Dreiecksnetze in OpenGL..... 243 4.7.2 Platonische und archimedische Körper........ 247 4.7.3 Netze und Subdivision in AliasWavefront MAYA...... 253 5 Bildsynthese... 259 5.1 Wahrnehmung, Licht und Farbe...... 260 5.1.1 Licht und Farbe....... 260 5.1.2 Die menschliche Wahrnehmung..... 261 5.1.3 Farbmodelle......... 263 5.2 Beleuchtung, Reflexion, Transmission,....... 272 5.2.1 Die Strahlenoptik...... 273 5.2.2 Das Reflexionsgesetz.... 274
VIII Inhaltsverzeichnis 5.2.3 Das Brechungsgesetz.... 277 5.2.4 Weitere Einflussfaktoren...... 278 5.3 Beleuchtung und Schattierung...... 280 5.3.1 Das Lambert-Beleuchtungsmodell.... 281 5.3.2 Das Phong-Beleuchtungsmodell..... 282 5.3.3 Weiterführende Modellbetrachtungen......... 288 5.4 Schattierungsverfahren für polygonale Netze......... 290 5.4.1 Flat-Shading......... 291 5.4.2 Gouraud-Shading..... 292 5.4.3 Phong-Shading....... 293 5.5 Programmierbare Shader...... 294 5.6 Mapping-Techniken......... 299 5.6.1 Texture-Mapping...... 300 5.6.2 Weiterführende Verfahren..... 307 5.7 (Anti-)Aliasing..... 311 5.7.1 Ein wenig Signaltheorie...... 311 5.7.2 Signale und Computergrafik... 320 5.8 Zusammenfassung......... 330 5.9 Fallstudien... 331 5.9.1 Beleuchtung, Materialien und Schattierung in OpenGL... 331 5.9.2 Cg Vertex-Shader in OpenGL... 337 5.9.3 Mapping in OpenGL.... 342 6 Visualisierung... 351 6.1 Wissenschaftliches Rechnen und Visualisierung....... 352 6.2 Datenstrukturen.... 354 6.3 Algorithmen für skalare Attribute.... 359 6.3.1 Farbtabellen......... 359 6.3.2 Höhenfelder, Konturlinien und Konturflächen.... 363 6.3.3 Der Marching Cubes-Algorithmus.... 365 6.4 Direkte Volumen-Visualisierung..... 372 6.4.1 Rekonstruktion....... 374 6.4.2 Transferfunktionen..... 377 6.4.3 Ein Beleuchtungsmodell für das Volume-Rendering..... 379 6.4.4 Compositing........ 382 6.4.5 Ray-Casting......... 385
Inhaltsverzeichnis IX 6.5 Visualisierung von Vektorfeldern..... 390 6.5.1 Modellieren von Vektorfeldern...... 394 6.5.2 Visualisierung von Trajektorien und Stromlinien... 396 6.5.3 Line Integral Convolution..... 399 6.5.4 Visualisierung von Vektorfeldern mit Flächen.... 401 6.6 Zusammenfassung......... 405 6.7 Fallstudien... 406 6.7.1 Die Visualisierungs-Pipeline in VTK... 406 6.7.2 Volumen-Visualisierung mit der VTK......... 414 6.7.3 Visualisierung von Vektorfeldern mit VTK...... 419 7 Computer-Animation... 425 7.1 Computer-Animation........ 426 7.2 Basistechnologien und Interpolation... 430 7.2.1 Key Frames......... 430 7.2.2 Rotationen und Key Framing... 436 7.2.3 Pfad-Animation....... 443 7.2.4 Animation von Deformationen...... 447 7.3 Animation hierarchischer Objekte.... 451 7.3.1 Beschreibung hierarchischer Objekte... 452 7.3.2 Inverse Kinematik..... 457 7.4 Prozedurale Animationstechniken.... 464 7.4.1 Partikelsysteme....... 464 7.4.2 Schwärme und Boids.... 473 7.5 Zusammenfassung......... 478 7.6 Fallstudien... 479 7.6.1 Key-Framing und Pfad-Animation in AliasWavefront MAYA 479 7.6.2 Expressions in AliasWavefront MAYA......... 483 7.6.3 Partikelsysteme in AliasWavefront MAYA...... 489 Literaturverzeichnis... 495 Stichwortverzeichnis... 503