Johann Wolfgang Goethe-Universität Frankfurt am Main Fachbereich Informatik und Mathematik Institut für Informatik Graphische Datenverarbeitung Prof. Dr.-Ing. Detlef Krömker Tobias Breiner Varrentrappstraße 40-42 60486 Frankfurt am Main Telefon +49 (0)69 979 95-140 Fax +49 (0)69 979 95-199 Email [email protected] Ausgabe: Bearbeitung: 25.05.2006 09.06.2006 Vorlesung GDV, SS 2006 VRML-Übung In Aufgabe 1 bis 4 soll das Modell eines Vogels in VRML erstellt werden (siehe Abb. in Aufgabe 4). Zu diesem Zweck soll in mehreren Schritten vorgegangen werden: Aufgabe 1: (Einfache VRML-Szene) Erzeugen Sie nacheinander drei einfache VRML-Szenen und sehen Sie diese in einem VRML Browser an: a) Schreiben Sie eine VRML Szene, die den Körper des Vogels darstellt (langer Quader in der Mitte d. Abbildung)! Benutzen Sie hierfür einen VRML Box Knoten. Der Quader soll 8 Einheiten lang, 1 Einheit hoch und 2 Einheiten tief sein. b) Schreiben Sie eine VRML Szene, die einen Kegel mit runder Grundfläche darstellt! Benutzen Sie hierfür den VRML Knoten Cone. Der Radius der Grundfläche soll eine Einheit betragen, die Höhe 2 Einheiten. c) Schreiben Sie eine VRML Szene, die den Schwanz des Vogels darstellt (Weißes Prisma in den Abbildungen)! Benutzen Sie hierzu einen IndexedFaceSet Knoten. Die lange Grundseite des Prismas soll 4 Einheiten lang sein, die kurze Grundseite 2 Einheiten. Das Prisma soll 3 Einheiten lang sein. Das Prisma soll 1 Einheit hoch sein. Aufgabe 2: (Zusammengesetzte VRML-Szene) Mit Hilfe der in Aufgabe 1 erzeugten Geometrien soll werden. Dazu sind folgende Vorarbeiten zu erledigen: a) Benutzen Sie einen Transform Knoten, um aus Grundfläche einen Kegel mit ovaler Grundfläche Grundfläche soll 2 Einheiten lang sein, die kurze nun ein einfaches Vogelmodell erzeugt dem oben erzeugten Kegel mit runder zu generieren! Die lange Achse der Achse 1 Einheit. 1 b) Erzeugen Sie 2 gleichartige Quader (5x1x3 Einheiten), die mittels Transform-Knoten voneinander verschoben werden! Verwenden Sie für die Beschreibung der Geometrie nur einen Box Knoten und nutzen Sie für den zweiten Quader den DEF / USE Mechanismus von VRML aus. Setzen Sie den Vogel, bestehend aus Kopf (Kegel), Körper (langer Quader), Flügel (die beiden gleichartigen Quader) und Schwanz (Prisma) mit Hilfe von Transform-Knoten zu einer Szene zusammen! Aufgabe 3: (Animation) Animieren Sie die Flügel des Vogels derart, dass jeder Flügel innerhalb von 3 Sekunden einmal auf und ab schwingt! Benutzen Sie hiefür einen TimeSensor-Knoten und zwei OrientationInterpolator- Knoten (ein Interpolator pro Flügel). Diese Animation soll als Endlosschleife ablaufen. Aufgabe 4: (Interaktion) Erstellen Sie eine Szene, in welcher der Vogel mit der Animation beginnt sobald ein Mouseclick auf ihn erfolgt. Ein weiterer Mouseclick soll die Animation stoppen; bei einem dritten Mouseclick soll der Vogel ein Ausgangsstellung verharren (ausgebreitete Flügel). Beim nächsten Mouseclick soll wieder die Animation beginnen usw. Hierzu ist es nötig einen Script-Knoten einzusetzen. 2 Aufgabe 5: In einem VRML Transform-Knoten haben folgende Knotenfelder folgende Werte: Translation: 2 3 -2 Rotation: 0 0 1 Scale: 3 4 2 1.57 a) Durch welche Transformationsmatrix lässt sich die Wirkung dieses Knotens beschreiben? Wohin würde der Punkt (1,1,1) transformiert? Aufgabe 6: Realisieren Sie ein vereinfachtes Sonnensystem in VRML! Betrachten Sie lediglich die Gestirne Sonne, Erde und Mond. Die Erde soll sich in 365 s um die Sonne drehen, der Mond soll sich in 29 s um die Erde drehen. Aufgabe 7: Auf eine Fläche soll eine Textur aufgebracht werden. Das Bild, das als Textur verwendet werden soll, ist rechteckig. a) Applizieren (= aufbringen, mappen) Sie das Bild so auf eine Rechteck-Fläche, dass das Bild genau einmal zu sehen ist! b) Applizieren Sie das Bild so auf die Rechteckfläche, dass das Bild vier mal nebeneinander (übereinander) zu sehen ist! c) Lassen Sie das Bild auf der Rechteckfläche rotieren. d) Applizieren Sie das Bild auf eine Dreiecksfläche! Dazu ist ein dreieckiger Ausschnitt aus dem Bild zu wählen. 3