Sprachgestützte 3D-Visualisierung
- Type: lecture
- Semester: WS2013/2014
-
Time:
Dienstag, 22.10.13 Auftaktveranstaltung 17:30 - 19:00 Uhr Geb. 30.46, HS Neue Chemie
Mittwoch, 30.10.13 Erstes Gruppentreffen 10:30 - 12:00 Uhr Geb. 50.34, Raum 348
Donnerstags, 07.11.2013 - 20.03.2014 10:30 - 12:00 Uhr Geb. 50.34, Raum 348 - SWS: 4
Allgemeines
In „Praxis der Softwareentwicklung“ (PSE) lernen die Teilnehmer, ein vollständiges Softwareprojekt nach dem Stand der Softwaretechnik in einem Team mit 5 bis 6 Teilnehmern durchzuführen. Ziel ist es insbesondere, Verfahren des Software-Entwurfs und der Qualitätssicherung praktisch einzusetzen, Implementierungskompetenz umzusetzen, und arbeitsteilig im Team zu kooperieren.
Der erfolgreiche Abschluss der Module Grundbegriffe der Informatik [IN1INGI] und Programmieren [IN1INPROG] wird vorausgesetzt. Empfehlung: Die Veranstaltung sollte erst belegt werden, wenn alle Scheine aus den ersten beiden Semestern erworben wurden und Interesse im Bereich der Sprachverarbeitung sowie Computergrafik und Parallelität vorliegen.
Beschreibung
Ziel der Veranstaltung ist es, ein grafisches Werkzeug zu implementieren, das eine textuelle Beschreibung einer Szene in natürlichsprachlichem Englisch akzeptiert und diese automatisiert darstellt. Die Gesamtaufgabe wird durch 2 PSE-Teams bearbeitet:
- Sprachverarbeitung: Zunächst soll die erste Studentengruppe ein natürlichsprachliches Dialogsystem implementieren, das eine textuelle Eingabe analysiert, interpretiert und fehlende Informationen zur Szeneerzeugung dem Benutzer durch eine textuelle Ausgabe mitteilt. Die einzelnen Verarbeitungsschritte des Dialogsystems sollen durch eine graphische Ausgabe verdeutlicht werden. Ergebnis dieser Teilaufgabe enthält die Objekte samt Angaben zur Position, Farbe und anderen Eigenschaften. Als Programmiersprache wird C# vorgegeben.
- 3D-Darstellung der Szene:Die zweite Studentengruppe stellt aus der aufbereiteten Szenenbeschreibung des Dialogsystems eine 3D-Szene durch einfache parallelisierte Strahlverfolgung dar. Das Bildgenierungsverfahren erlaubt die Darstellung von geometrischen Primitiven, matten Oberflächen und einfachem Schattenwurf, wobei Parallelismus durch eine Programmierschnittstelle, wie z.B. OpenMP, erreicht werden kann. Optionale Erweiterungen sind spiegelnde Oberflächen und das Laden von komplexeren Modellen. Als Programmiersprache wird C++ vorgegeben.
Mögliche Eingaben an das Softwaresystem:
- Draw the red sphere under the light source.
- Set the size to 3 cm.
- Move it to the right.
- Make it bigger.
- Put the transparent sphere in front of red sphere.
- Make it smaller than red sphere.
Werkzeuge
- Visualisierungsprogramm für Prozessmodelle (z.B. Microsoft Office Visio)
- Visual Studio, CodeBlocks
- Parallele Programmierschnittstelle (z.B. OpenMP, Cuda)
- Versionsverwaltung (z.B. TFS, SVN, Git)
- Fehler-Verfolger (z.B. Bugzilla)
Erfolgskontrolle
Die Erfolgskontrolle erfolgt nach § 4 Abs. 2 Nr. 3 SPO Informatik Bachelor als benotete Erfolgskontrolle anderer Art. Die im Folgenden genannten Artefakte werden separat benotet und gehen mit folgendem Prozentsatz in die Gesamtnote ein:
- Pflichtenheft: 10%
- Entwurf: 30%
- Implementierung: 30%
- Qualitätssicherung: 20%
- Abschlusspräsentation: 10%
Bildquellen:
Fotolia, Jan Engel
The Monte Carlo Project, Daniel Ritchie, Lita Cho, http://www.stanford.edu/~dritchie/path/index.html
Echtzeit-Raytracing: Benedikt Müller, Jan Novák, http://cg.ibds.kit.edu/lehre/ws2010/seminar/