Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung |
Alle letzten Änderungen dieser Webseite sind
durch rote Schrift gekennzeichnet!
letzte Änderung: 22. Juni 2001
Eingeschobene Seiten sind nach dem Muster 10,
10a, 10b, 11 nummeriert. Ändere ich Skripte im Nachhinein z.B. wegen
Fehlern, stelle ich zusätzlich eine kommentierende HTML-Datei in das
jeweilige Verzeichnis. Mangels Zeit ausgelassene Stellen markiere ich mit
einer Wellenlinie am rechten Rand. Diese Stellen sollten Sie zwar zur Kenntnis
nehmen, Teil von Prüfungen sind sie aber nicht.
Es ist sinnvoll, dass Sie den Laborteil in Zweiergruppen absolvieren. Einer"gruppen" lasse ich zwar zu; die Anforderungen bleiben aber dieselben.
Die Anwesenheit bei den Laborterminen ist verpflichtend, außer:
Der Laborteil dient sowohl dem Lernen als auch der Bewertung -- zwei Ziele, die sich oft beißen. Deshalb möchte ich das eine so weit wie möglich von dem anderen trennen. Und zwar auf folgende Weise:
Durchführung ohne Bewertung. Ich stehen Ihnen bis zum nächsten Labortermin (s. nächster Punkt) für Fragen zur Verfügung, auch per E-Mail. Ich werde aber darauf achten, Ihnen nur Denkanstöße z.B. zur Fehlersuche zu geben, keinesfalls fertige Lösungen. Um von dem Laborteil zu profitieren, sollten Sie keine fremden Programme abkupfern. Weil Sie diese im Zweifelsfall nicht so gut verstehen wie ihre selbstgeschriebenen, bringt Ihnen das auch bei der Benotung Nachteile.
Bewertung des Resultats. Spätestens
beim nächsten Labortermin (also im Normalfall nach 14 Tagen) muss
die Gruppe ihr Programm gemäß Aufgabenstellung vorlegen. Die
laut Prüfungsordnung geforderte Dokumentation ist Teil des Programms,
wie sich aus dem Folgenden ergibt. Für das Programm vergebe ich 0
bis 3 Punkte, und zwar die kleinste Punktzahl aus den vier Kategorien folgender
Tabelle:
Punktzahl | Problemlösung | Strukturierung/Klassen | Wahl der Bezeichner | Kommentierung |
0 | wesentlicher Teil fehlt | konfus | konfus | praktisch nicht vorhanden |
1 | weitgehend, aber z.B. wichtige Ausnahmefälle nicht behandelt | teilweise logische Mängel | teilweise verwirrend | Das Programm ist seine eigene Dokumentation. Jede Klasse und jede Methode enthält eine Beschreibung des Algorithmus und wichtiger Variablen (ca. 100 Wörter für die Hauptklasse bis hinab zu ca. 10 Wörtern für eine wichtige Methode einer Hilfsklasse). |
2 | praktisch vollständig | logisch | verständlich | Zusätzlich: Alle kritischen Stellen sind kommentiert |
3 | vollständig | stark modular, leicht zu erweitern und anzupassen | selbsterklärend | Zusätzlich: Alle nicht auf den ersten Blick einleuchtenden Stellen sind kommentiert. |
Ergeben sich in allen Kategorien 3 Punkte und geht das Programm deutlich über die Aufgabenstellung hinaus, indem es z.B. in größerem Rahmen Java Swing, Java-Objektmodell oder Exceptions nutzt, vergebe ich 4 Punkte für das Programm.
Außerdem stelle ich Fragen an jedes Gruppenmitglied, um festzustellen, inwieweit es das Programm verstanden hat. Auch das bewerte ich mit Punkten:
Gerade zum Thema Computergrafik kann man sich kostenlos im Web informieren:
einfach den Namen des Algorithmus in eine Suchmaschine eintippen. Am zuverlässigsten
sind die einschlägigen Kurse von US-Universitäten. Quellen für
Algorithmen sowie für aktuelle Nachrichten aus der Spiele-Entwicklerszene
sind flipCode, Gamasutra
und GameDev.net.
14..Mär | Mi | globale Beleuchtung: stochastisches Raytracing (Distribution Raytracing), Backward Raytracing (Photon Tracing), Radiosity-Grundlagen |
15. Mär | Do | Labor, Gruppen A: Raytracer |
21. Mär | Mi | Texturierung, Teil 1: Farbe, Bump, Displacement etc.; Projektionsarten (plan, zylindrisch, sphärisch, Wrap, UV) |
22. Mär | Do | Labor, Gruppen B: Raytracer |
28. Mär | Mi | Texturierung, Teil 2: trilineare Interpolation, SAT, MIP-Map; Grundlagen prozeduraler Texturen |
29. Mär | Do | Labor, Gruppen A: Textur-Projektion, prozedurale Texturen |
18. Apr | Mi | Texturierung, Teil 3: Fortsetzung prozedurale Texturen; Perlin-Noise; Hypertexturen |
19. Apr | Do | Labor, Gruppen B: Textur-Projektion, prozedurale Texturen |
25. Apr | Mi | Modellierung, Teil 1: explizite Flächen f(x,y), parametrische Grundkörper, Boundary Representation, Boolesche Operationen (CSG), Metaballs, implizite Flächen (Marching Cubes), 3D-Scan |
26. Apr | Do | Labor, Gruppen A: (Fortsetzung) |
02. Mai | Mi | Modellierung, Teil 2: NURBS-Flächen, relationale Modellierung, Subdivision Surfaces |
03. Mai | Do | Labor, Gruppen B: (Fortsetzung) |
09. Mai | Mi | Zehnjahresfeier Technische Informatik |
10. Mai | Do | Labor, Gruppen A: (Fortsetzung) |
16. Mai | Mi | Animation, Teil 1: Interpolation von Position, Lage, Größe und anderen Parametern, Keyframes, Objekt-Hierarchien; natürliche Interpolation von Drehungen |
17. Mai | Do | Labor, Gruppen B: (Fortsetzung) |
28. Mai | Mo | Terminänderung, 3. Block, E404 Animation, Teil 2: Physik (Rigid Body Dynamics, Soft Body Dynamics, Collision Detection, Partikel, Cloth), prozedurale Animation (Expressions) |
30. Mai | Mi | Animation, Teil 3: Motion Capture, Motion Tracking, Morphing, Bones, Inverse Kinematik, Non-Linear Animation |
31. Mai | Do | Labor, Gruppen A: Subdivision Surfaces |
06. Jun | Mi | Echtzeit-Rendering, Teil 1: Rendering-Pipeline, Immediate/Retained Mode, Double Buffering; OpenGL-Grundlagen |
07. Jun | Do | Labor, Gruppen B: Subdivision Surfaces |
13. Jun | Mi | Echtzeit-Rendering, Teil 2: OpenGL-Details: Display-Listen, Vertex-Arrays, Texturen, Select-Rendermodus |
14. Jun | Do | Labor, Gruppen A: Keyframe-Animation |
20. Jun | Mi | Echtzeit-Rendering, Teil 3: DirectX, Java3D und OpenInventor im Überblick |
21. Jun | Do | Labor, Gruppen B: Keyframe-Animation |
27. Jun | Mi | 3D-Dateiformate: DXF, VRML, MPEG-4, 3DS, RIB, "Web3D" |
28. Jun | Do | Labor, Gruppen A: OpenGL |
04. Jul | Mi | Post-Processing-Effekte: Halo, Blendenflecke, Bewegungsunschärfe, Tiefenunschärfe |
05. Jul | Do | Labor, Gruppen B: OpenGL |