BTU Cottbus
Institut für Informatik
Prof. Dr. W. Kurth, Dr. E. Roth

Computergrafik, WS 2001/02
Übungsblatt 6

Bearbeitung durch je 2 Personen gemeinsam erlaubt + erwünscht (bitte nur 1 mal pro Gruppe abgeben).
Abgabe der Lösung (Java-Programm) bis Freitag, den 08. 02. 2002, 12:00 Uhr per e-mail an Herrn Zhao,
dzhao@informatik.tu-cottbus.de.
Verbindliches zu den e-mails: Nur je eine e-mail pro Gruppe (spätere Korrektur-e-mails werden nicht mehr akzeptiert). Subject:
CG-Uebungsblatt 6. Erste Zeile der e-mail: Namen der beiden AutorInnen und Matrikelnummern. Java-Quellcode bitte als Attachment anfügen.

 

Aufgabe:

Es soll eine Szene in Java 3D aufgebaut werden. Dabei sollen die folgenden Schritte umgesetzt werden. Jeder Schritt stellt eine Erweiterung der bereits erstellten Szene dar.

(a) Instanziierung und Darstellung eines Würfels mit der Kantenlänge 0,4 auf Position (-0,6; 0; 0) und einer Kugel mit dem Radius 0,2 auf Position (0,6; 0; 0). Vom Würfel sollen - in der Default-Ansicht - drei Seitenflächen sichtbar sein. (5 P.)
Hinweis: Anders als vielleicht erwartet, sind die beim Box-Konstruktor angebbaren Längenspezifikationen die halben Seitenlängen der Box.

(b) Einfügen eines selbstgestalteten Tetraeders mit einer Ecke in (0; 0; 0). (4 P.)

(c) Ändern des Aussehens des Tetraeders durch Spezifikation der Farbe Gelb für die Seitenflächen. (1 P.)

(d) Einfügen einer weißen ambienten und einer roten punktförmigen Lichtquelle. Beide Lichtquellen sollen das Aussehen zumindest des Würfels und der Kugel beeinflussen. (4 P.)

(e) Durch den Einsatz eines Rotationsinterpolators soll die Punktlichtquelle in 3 Sekunden um die bestehenden Objekte kreisen. (4 P.)

Zusatzaufgabe:
(f) Stellen Sie sicher, dass auch das Aussehen des Tetraeders von der rotierenden Punktlichtquelle beeinflusst wird.
(Informieren Sie sich dazu in der Java3D 1.2 API Dokumentation im Internet (Klasse GeometryArray, Methode setNormals) oder in der Literatur, wie Sie die Ecken Ihres Tetraeders mit den für die Beleuchtungsrechnung benötigten Normalenvektoren versehen können, und spezifizieren Sie dafür geeignete, nach außen gerichtete Vektoren für die Ecken. Um ein brauchbares Rendering-Ergebnis zu liefern, brauchen diese sich nicht exakt rechnerisch aus den Flächennormalen zu ergeben.) (2 P.)