Versand:
EUR 9,00
Von Deutschland nach USA
Anbieter: medimops, Berlin, Deutschland
Zustand: good. Befriedigend/Good: Durchschnittlich erhaltenes Buch bzw. Schutzumschlag mit Gebrauchsspuren, aber vollständigen Seiten. / Describes the average WORN book or dust jacket that has all the pages present. Artikel-Nr. M03941841750-G
Anzahl: 2 verfügbar
Anbieter: Versandantiquariat Ottomar Köhler, Hanau, Deutschland
kart., 743 S. : graph. Darst. ; 24 cm; sehr guter Zustand. 5,90 Versandkosten wegen des Gewichtes von ca. 1300 g. Die Lieferung erfolgt gegen Vorauskasse Die 3D-Computergrafik stellt vielfältige, zum Teil sehr hohe Anforderungen: Fundierte mathematische Kenntnisse sind hier ebenso gefordert wie Programmiererfahrung und nicht zuletzt ein Gefühl für gute Bilder.Dieses Buch vermittelt Einsteigern und fortgeschrittenen Anfängern ausführlich das notwendige Basiswissen: Neben den mathematischen Grundlagen lernen Sie die Praxis anhand der plattformunabhängigen OpenGL-Spezifikation kennen. Die Beispiele, hier in Java implementiert, sind leicht auf andere Sprachen wie C++, aber auch Runtime-Umgebungen wie Android übertragbar. Nach der Lektüre sind Sie in der Lage, eigene Projekte mit OpenGL zu realisieren, basierend auf VBOs für die Datenübergabe und der Shader-Programmierung. Eine umfassend kommentierte Referenz der im Buch verwendeten OpenGL-Funktionen rundet die Darstellung ab und empfiehlt das Buch für die Praxis wie auch für das Studium. (Verlagsinfo) // Inhaltsverzeichnis Über dieses Buch 13 1 Einführung 21 1.1 Programmbeispiele 22 1.2 Warum Java und OpenGL? 23 1.3 Warum nicht Java 3D? 24 1.4 Was macht OpenGL eigentlich? 25 1.4.1 Die Rendering Pipeline 26 1.4.2 Die Geometrie-Pipeline 29 1.4.3 Rasterung 30 1.4.4 Fragmentverarbeitung und Framebuffer 32 1.4.5 Shader 34 1.4.6 Was ist OpenGL nicht? 36 2 Der dreidimensionale Raum 37 2.1 Einführung 38 2.2 Transformationen 39 2.2.1 Translationen 42 2.2.2 Skalierungen 43 2.2.3 Kompositionen 44 2.2.4 Scherungen 46 2.2.5 Perspektivische Projektion 47 2.2.6 Rotationen 49 2.2.7 Drehungen an Ort und Stelle 51 2.2.8 Objekteigene Koordinatensysteme 54 2.2.9 Rotation um eine beliebige Achse 62 2.3 Projektionen 70 2.3.1 Projektionsarten 72 2.3.2 Darstellungsbereiche 74 2.3.3 Tiefenpuffer 78 2.3.4 Parallele Projektionen 80 2.3.5 Perspektivische Projektionen 88 2.4 Koordinatensysteme der Rendering-Pipeline 99 2.5 Projektionsklassen 101 2.5.1 Viewport-Transformation 102 2.5.2 Projektionsmatrizen 105 2.5.3 Multiviewport - Orthogonal 105 2.5.4 Multiviewport - Perspektive 110 2.6 Beobachter 112 2.6.1 Das Auge 112 2.6.2 Standort 115 2.6.3 Die Blickrichtung 117 2.6.4 Die Orientierung 119 2.6.5 Die Frustum-Flächen 121 2.6.6 Interaktive Projektion 124 2.7 Zusammenfassung 132 3 Der vernetzte Raum 133 3.1 Graphen 135 3.1.1 Einführung 135 3.1.2 Graphen und Relationen 136 3.2 Meshes 145 3.2.1 Einführung 145 3.2.2 Repräsentation und Navigation 150 3.2.3 Halfedges 153 3.2.4 Zusammenfassung 161 4 Objekte 163 4.1 Objekte an OpenGL übergeben 165 4.1.1 Vertex-Datenpuffer 166 4.1.2 Mapping und Meshdaten 183 4.1.3 Shader und generische Attribute 185 4.1.4 Framework mit generischen Attributen 189 4.1.5 Zusammenfassung 192 4.2 Objekte erzeugen 193 4.3 Externe Objekte 216 4.3.1 Dateiformate 216 4.3.2 Objekte einlesen 221 4.4 Kollisionen 227 4.4.1 Grenzflächen 228 4.4.2 Grenzvolumen 244 4.4.3 Von allen Seiten attackiert 259 4.5 Gitter und Raumteiler 272 4.6 Picking 277 4.6.1 Picking mit OpenGL 277 4.6.2 Picking Pipeline 279 4.6.3 Picking: Beispiel 283 4.7 Zusammenfassung 291 5 Licht und Farbe 293 5.1 Farbe 293 5.1.1 Farbmodelle 295 5.1.2 Farbpuffer 301 5.1.3 Nebel 301 5.2 Licht 304 5.3 Lichtquellen, Materialien 306 5.3.1 Umgebungslicht 313 5.3.2 Diffuses Licht 315 5.3.3 Spotlicht 318 5.3.4 Ausgedehnte Lichtquellen 323 5.3.5 Dunkelquellen 323 5.3.6 Lichtmodelle 324 5.4 Programmbeispiel 325 5.4.1 Quellcode 330 5.5 Zusammenfassung 345 6 Images, Texturen und Text 347 6.1 Images 347 6.1.1 Grundbegriffe 347 6.1.2 Vom Sample zum Image 348 6.1.3 Images und Image-Dateien 350 6.1.4 Images manipulieren und analysieren 354 6.1.5 Images laden und speichern 362 6.1.6 Bufferedlmage 364 6.2 Texturen 368 6.2.1 Texturarten 372 6.2.2 Texture Images 374 6.2.3 Texture Mapping 376 6.2.4 Mipmapping 381 6.2.5 Texturen als Datenquelle bei Shadern 386 6.2.6 Beispielprogramm 2D-Texturen 399 6.2.7 Beispielprogramm lD-Texturen 410 6.3 Text und Fonts 414 6.4 Zusammenfassung 420 7 Mathematische Grundlagen 421 7.1 Mengen und Gruppen 422 7.1.1 Algebraische Struktur 422 7.1.2 Funktion A nach B 423 7.1.3 Mengen 423 7.1.4 Kombinationen, Permutationen, Tupel 427 7.1.5 Gruppen 429 7.2 Zahlen .431 7.2.1 Binäre Darstellung einer Zahl 433 7.2.2 Gleitkommazahlen 433 7.2.3 IEEE 754 437 7.2.4 Hinweise 440 7.3 Matrizen 442 7.3.1 Darstellung . . . 442 7.3.2 Rechnen mit Matrizen 444 7.3.3 Inverse Matrix 446 7.3.4 Verfahren zur Matrixinvertierung 448 7.4 Vektoren 453 7.4.1 Einheitsvektor, Betrag eines Vektors 454 7.4.2 Vorstoß in die vierte Dimension 456 7.4.3 Vektoren und Matrizen 459 7.4.4 Normale und Matrizen 464 7.4.5 Skalares Produkt zweier Vektoren 467 7.4.6 Längen- und Winkelmessung 467 7.4.7 Gram-Schmidt-Verfahren 470 7.4.8 Gerade im Raum 472 7.4.9 Vektorprodukt in 3D 474 7.4.10 Mehrfachprodukte 477 7.4.11 Flächenberechnung 481 7.4.12 Ebenen im Raum 481 7.5 Baryzentrische Koordinaten 482 7.6 Basiswechsel 486 7.7 Drehungen und Winkel 490 7.7.1 Richtungskosinus 492 7.7.2 Kugelkoordinaten 493 7.7.3 Rotationsmatrizen 494 7.7.4 Ausrichtung eines Koordinatensystems 500 7.7.5 Bezugssystem und objekteigenes System 503 7.7.6 Cardan-Winkelsystem 505 7.7.7 Andere Winkelsysteme 506 7.7.8 Euler-Winkelsystem 507 7.7.9 Gimbal Lock 511 7.8 Quaternionen 515 7.8.1 Alternative schnelle Berechnung 527 7.8.2 Rechenregeln für Quaternionen 529 7.8.3 Drehungen und Interpolation mit Quaternionen . 530 7.8.4 Von der Matrix zum Quaternion 533 7.9 Zusammenfassung 534 8 Programmierung 537 8.1 Shader 537 8.2 Mathematikbibliothek 544 8.2.1 Grundklassen 548 8.2.2 Datenhaltung 548 8.2.3 Point 551 8.2.4 Vector 553 8.2.5 Line 556 8.2.6 Plane . . . . 560 8.2.7 Matrix und Transformationsklasse 564 8.2.8 Klassenübersicht 579 8.3 Java 581 8.3.1 Puffer in Java 581 8.3.2 Die Object-Klasse und 3D-Grafiksoftware 586 8.3.3 Zufallszahlen mit Java 597 8.3.4 Programme beschleunigen 600 8.3.5 Bindung an OpenGL 603 8.3.6 Programmierumgebung einrichten 612 8.3.7 Verzeic. Artikel-Nr. 38028
Anzahl: 1 verfügbar