Aufgabe 2: Building Geometry

Aus Nettundfroh
Wechseln zu: Navigation, Suche
Abbildung 1: Screenshot aus der WebGL-Implementierung Tetrahedron2Sphere mit einer Rekursionstiefe von 6.

Inhaltsverzeichnis

Aufgabe 2.1

Die Lösung der Aufgabe 2.1 bestand in der Veröffentlichung der Lösungsansätze im Web. Wir haben dafür dieses Wiki gewählt, da es für die Aufbereitung von Gruppenarbeiten in den letzten Jahren konsequent genutzt wurde.

Abbildung 2: Zeigt die Teilungsregel eines Dreiecks. Solange durch das Rekursionsdekrement nicht die 0 erreicht wird, werden die resultierenden Dreiecke erneut nach diesem Schema geteilt.

Aufgabe 2.2

  1. WebGL Lessons lesen und verstehen
  2. Tetrahedron bauen (Es wurde ein Koordinatensatz eines regular Tetrahedrons verwendet; siehe Quelle WebGL Example auf Ibiblio.org : Polyhedra)
  3. Tetrahedron-zu-Kugel-Funktion (sphereTesselator.sphereVertices(recursionDepth)) implementieren
    1. Rekursiv pro Dreieck(a,b,c) neuen mittleren Vertex jeder Seite nach folgendem Schema berechnen und normalisieren:
      ab = (a + b) / 2
      ab = ab / length(ab)
      Es entstehen aus jedem Dreieck vier neue Dreiecke. (Abbildung 2)
    2. Wird durch das Rekursionsdekrement 1 der Wert 0 erreicht, werden die Vertices in einem Array gespeichert auf dessen Grundlage die Puffer für die Vertices und Farben befüllt werden.
  4. In index.html sphereTesselator.sphereVertices aufrufen, erhaltene Vertices als neue Flächen zusammensetzen und anstelle der Pyramide darstellen.

Aufgabe 2.3

  1. Den Würfel durch acht Kugeln ersetzen und Transformationen entsprechend anpassen.
  2. Die Kugeln werden dabei in einer Schleife durch Translationen ausgehend vom Mittelpunkt des Würfels zum jeweiligen Eckpunkt positioniert und um den Faktor 0.5 skaliert.
  3. Die Kugeln an den Würfeleckpunkten kreisen um den Mittelpunkt des Würfels, der in der Rotationsmatrix angegeben wurde.
  4. Input Feld (FF) bzw. Slider (Chrome, Opera) für Eingabe der Rekursionsschritte von 0 bis 8.

Lösung

WebGL Implementierung

Quellen

Musings of Ninjarat Blog: Sphere Through Triangle Tesselation

WebGL Example auf Ibiblio.org : Polyhedra

Grundlagen

WebGL Lesson 4 – some real 3D objects




Zurück zur Real-Time Rendering Hauptseite

Master Semester 2