UE Einführung in die Computergraphik

 WS 2.0 h (3 ECTS), 186.832

 Werner Purgathofer, Michael Wimmer

Quicklinks:

Aktuelles

Die Vorbesprechung findet am 03.10.2016 um 15:00 im EI 8 statt.

Das Repetitorium findet am 25.10.2016 um 17:00 im EI 9 statt.

Laborbetreuung

Die folgenden Termine werden laufend aktualisiert!
Bitte daher unbedingt am Tag vor dem Erscheinen überprüfen!

DatumUhrzeit
12.10.201617:00-19:00
25.10.201615:00-17:00
9.11.201617:00-19:00
30.11.201617:00-19:00
14.12.201617:00-19:00
11.01.201717:00-19:00

In den Wochen vor jedem Abgabetermin stehen Tutoren zur persönlichen Betreuung von Studenten zur Verfügung. Dabei können theoretische Verständnisprobleme oder Schwierigkeiten beim Programmieren gemeinsam besprochen werden. Eine Anmeldung ist nicht notwendig. Die Betreuung findet im Vislab am Institut für Computergraphik statt. Dieser Raum ist auf diesem Lageplan links unten als 186200 VISLAB zu finden.

Allgemeine Informationen

Inhalt:

Die Übung Einführung in die Computergrafik dient dazu, die im Computergrafik-Teil der VU Einführung in Visual Computing vorgestellten Konzepte praktisch anzuwenden und zu vertiefen.

In der Laborübung sollen sechs aufeinander aufbauende Programmieraufgaben gelöst werden. Dabei werden folgende Themen behandelt:

  • Linien zeichnen (line rasterizer).
  • 2D/3D Objekt Transformationen.
  • Polygon Begrenzung (polygon clipping).
  • Virtuelle Kameras, Transformationszusammensetzung und Projektionen. (viewing pipeline, Z-buffer).
  • Flächen zeichnen (fill rasterizer).
  • Beleuchtung und Schattierung von Flächen (phong & gouraud shading, lambert & phong illumination).
  • Texturierung

Durch das sukzessive Lösen der Beispiele wird der Renderer eines simplen, aber komplett interaktiven 3D Viewers vervollständigt. Übungsziel ist es, einen Überblick über die verschiedenen Komponenten eines solchen Systems zu gewinnen, und ihr Zusammenspiel an einem selbst programmierten Exemplar zu erproben. Das Rendering-System bietet zahlreiche Parametern, die in dem Tool interaktiv manipuliert werden können. Dadurch wird das Verständnis für viele Themen der Vorlesung stark verbessert.

Mehr Informationen zu dem Tool und der Übung sind im ECG-Wiki online gestellt, und werden auch in der LU-Vorbesprechung vorgetragen.

Übungsmodus:

Zu allen 6 oben erwähnten Bereichen sollen im Laufe des Semesters nacheinander Programmieraufgaben in einem vorgegebenen Programmgerüst in Java gelöst werden. (die in der VU "Grundlagen der Programmkonstruktion" erworbenen Kenntnisse sollten dafür ausreichen) Die im Zuge dieser Arbeit entstandenen Source-Dateien werden nach dem Ende jeder Aufgabe abgegeben. Die Bewertung findet in zwei Abgabegesprächen statt.

Die Laborübung sollen auf dem eigenen Computer gelöst werden, es gibt daher keine Anwesenheitstermine außer den Abgabegesprächen. Es sollte auch möglich sein, die Übungsaufgaben in den Benutzerräumen zu lösen. Falls es diesbezüglich Probleme geben, kontaktieren Sie uns bitte.

An- und Abmeldung:

Die Anmeldung zur Laborübung findet durch die Abgabe des 1. Beispiels statt. Dafür ist es notwendig sich im TISS für diese Lehrveranstaltung anzumelden (186.832) Das Abgabesystem ist 3.10.2016 erreichbar.

Eine Abmeldung von der Lehrveranstaltung ist nicht notwendig. Jeder der das erste Beispiel abgibt bekommt auch ein Zeugnis ausgestellt.

Abgabe der Übungsbeispiele:

Alle Abgaben finden über das ECG-Abgabesystem im Web statt. Nach der erstmaligen Anmeldung hat man dort die Möglichkeit, das jeweilige Beispiel abzugeben (und im Abgabezeitraum auch zu überschreiben).

Nach der Abgabe wird das Beispiel automatisch kompiliert, und man bekommt das Ergebnis per E-Mail zugestellt. Dies kann, je nach Auslastung des Abgabesystems einige Minuten dauern.

Es gibt keine Ergebnisse der Abgaben, die Beispiele werden erst in den Abgabegesprächen bewertet. Für eine positive Note müssen aber zumindest 5 von den 6 Beispielen abgegeben werden.

Die Abgabe wird automatisch kompiliert, man sollte sich aber auch vergewissern, welche Dateien wirklich auf dem Abgaberechner gelandet sind! Bei Problemen meldet euch bitte vor dem Abgabetermin per mail, ansonsten können wir eine verspätete Abgabe nicht akzeptieren. Eine Abgabe nach der Veröffentlichung der Musterlösung (jeweils 2 Tage nach der Abgabe) ist natürlich nicht mehr möglich.

Bis zum Abgabetermin kann man ein Beispiel beliebig oft hochladen. Es gilt immer die zuletzt hochgeladene Version.

Achtung: Um die genauen Abgabespezifikationen einzuhalten ist der Artikel How to submit a Task Solution im ECG-Wiki zu lesen!

Repetitorium:

Vor der Abgabe des Beispiels 3 (Termin siehe oben) gibt es ein Repetitorium, wo ein paar Dinge erklärt werden und auf alle möglichen Fragen eingegangen wird (auch in Einzelbetreuung!).

Abgabegespräche:

Die Bewertung der abgegebenen Beispiele wird in 2 Abgabegesprächen bei den Assistenten des Instituts durchgeführt; es gibt keine schriftlichen Übungstests. Die Abgabegespräche finden an einigen Tagen während der 2 Wochen, die dem Abgabetermin von Beispiel 3 bzw. 6 folgen, statt. Die genauen Termine erfahrt ihr, sobald ihr euch über das Abgabesystem anmelden könnt, jeweils 7 Tage vor dem Abgabetermin von Beispiel 3 bzw. 6 (wer sich früh anmeldet, hat mehr Termine zur Auswahl, und die Anmeldefrist wird relativ kurz sein).

Zum Abgabegespräch mitzubringen sind ein gültiger Studentenausweis. Wahlweise kann man auch die von einem selbst verfaßten Teile des Source-Codes in ausgedruckter Form mitbringen, das kann die Navigation im Code erleichtern, der Prüfer muß aber nicht darauf eingehen.

Inhalt des Gesprächs sind die selbst programmierten Beispiele, sowie ein genaues Verständnis der Algorithmen und theoretischen Grundlagen auf denen sie beruhen (nur das Verständnis des Code reicht also nicht aus!).

Die Punkte, die man auf ein Abgabegespräch bekommen hat, kann man dann am nächsten Tag im Abgabesystem nachsehen.

Achtung: Es kann sein, dass das Abgabegespräch in Englisch gehalten wird!

Benotung:

Die Punkteaufteilung für die Beispiele sieht folgendermaßen aus:
BeispielPunkte
16
28
314
412
512
68
Für eine positive Endnote muß jedes der beiden Abgabegespräche positiv absolviert werden (d.h. 14 Punkte im ersten, und 16 Punkte im zweiten Abgabgespräch)! Beachte hierzu auch die Regelung über Nachfristen weiter unten!

Die Endnote ergibt sich dann nach folgendem Notenschlüssel:

PunkteNote
>= 541
>= 472
>= 383
>= 304
sonst5

Kommunikation:

Jeder Teilnehmer sollte die LVA im TISS zu den eigenen LVA-Favoriten hinzufügen. Außerdem sollte die E-Mail Benachrichtigung von LVA News in der entsprechenden LVA-Kategorie im TISS aktiviert sein. Informationen über die Laborübung werden auf dieser Webpage kundgetan, worüber ihr dann automatisch über TISS per mail informiert werdet.

Als Kommunikationsplattform für die Laborübungsteilnehmer untereinander hat sich die ECG-Gruppe im Informatikforum sehr bewährt, wo auch regelmäßig unsere Tutoren zu Eurer Verfügung stehen.

Kurzfristige dringende Neuigkeiten werden als TISS News angkündigt.

Achtung: Dass im Informatik-Forum kein Source-Code gepostet wird stellt für uns eine Grundbedingung für den aktuellen Modus der Lehrveranstaltung dar. Sollte sich jemand nachhaltig nicht daran halten, dann schadet er im Effekt allen anderen Übungsteilnehmern, weil wir dann einerseits die Betreuung im Forum einstellen müssten als auch den Modus der Abgabegespräche entsprechend verschärfen.

Unterlagen:

Als Unterlage dient das online-Skriptum von VU Einführung in Visual Computing.

Das Programmgerüst:

Das Programmgerüst ist vollständig in Java geschrieben, und besteht aus zwei Teilen: im ersten Teil werden im Zuge der einzelnen Beispiele Ergänzungen vorgenommen. Das betrifft Komponenten, die für das Rendering, simple lineare Algebra und das Datenmodell der Szene verantwortlich sind. Die zu verändernden Codestellen sind in der Angabe markiert, und eine Übersicht dieser Stellen findet sich in Dokumentation zum Programmgerüst. Der zweite Teil beinhaltet die grafische Benutzeroberfläche, Datenanbindung und mehr. Dieser ist von uns implementiert und muss nicht verändert werden.

Das Programmgerüst ist im Wiki vollständig dokumentiert und kann auch von dort heruntergeladen werden.

Wir haben Musterlösungen zu den Beispielen vorbereitet, die man immer 48h nach dem vorhergehenden Abgabetermin herunterladen kann. Die Musterlösungen dienen einerseits der Kontrolle, andererseits erlauben sie auch, von einer richtigen Lösung für die Implementierung des nächstens Beispiels auszugehen, selbst wenn man beim vorigen Beispiel nicht alles richtig hat. Wer möchte, kann von der 1. Beispielangabe weg mit dem Programmgerüst selbständig alle Beispiele programmieren (auf diese Weise kann man schon vorausarbeiten). Man kann aber auch nach jedem Beispiel von der Musterlösung zum vorigen Beispiel aus weiterprogrammieren (auf diese Weise ist man auf der sicheren Seite).

Abgabetermine:

Hier findet sich eine Übersicht über die Abgabetermine für die einzelnen Beispiele. Die 6 Aufgabenstellungen sind genau im Wiki beschrieben.

Beispiel... Abzugeben bis (jeweils 23:42 Uhr)
Beispiel 1 Line drawing 14.10.2016
Beispiel 2 2D/3D object transformations 28.10.2016
Beispiel 3 Clipping, Viewing and Projection 11.11.2016
Beispiel 4 Triangle Rasterization and Visibility 2.12.2016
Beispiel 5 Lighting and Shading 16.12.2016
Beispiel 6 Texturing and Custom Shaders 13.01.2017

Nachfristen

Es gibt bei jeder Beispielabgabe eine Nachfrist. Konkret kann jedes Beispiel auch bis zum Erscheinen der Musterlösung abgegeben werden. Jedoch gibt es dann Punkteabzüge, und zwar 2 Punkte, wenn man es bis zu 24 Stunden später abgibt, und 3 Punkte wenn man es bis 48h später abgibt.

Handhabung der Nachfristen: die Nachfristen werden vom Abgabesystem automatisch kontrolliert (minutengenau!) und die Punkte automatisch notiert. Die Punkte für die Abgabegespräche werden unabhängig von den Abzugspunkten vergeben. Die Abzugspunkte werden am Ende der Laborübung von der Gesamtpunktezahl abgezogen, um die endgültige Note zu ermitteln. Um positiv zu sein, muß man also beide Abgabegespräche jeweils VOR Abzug der Abzugspunkte positiv absolviert haben, sowie die gesamte Laborübung NACH Abzug der Abzugspunkte! Die Abzüge sind auch ihm Abgabesystem ersichtlich.

Übergangsregelung

Folgende Übergangsregelung gilt ausschließlich für Studierende, die am 1.7.2011 bereits für Medieninformatik inskribiert waren („Althörer”):

Für das Modul "Übungen zu Visual Computing" müssen 2 Übungen absolviert werden:

Jede Kombination ist erlaubt. Bei Unklarheiten wenden Sie sich bitte an Prof. Werner Purgathofer.