Computer Science, 2008-08-12

Module: 
Computer Science
Examiner: 
Oliver Vornberger
Assessor: 
Patrick Fox
Date: 
Tue, 2008-08-12

Formalia

Modulprüfung: InfoA und Computergrafik
Fachsemester: 5
Prüfer: Oliver Vornberger Prüfungsdatum: 12.08.2008
Wiederholungsprüfung? NEIN
Note: 1.0
Bereiche nach Zeit: 10/15 InfoA/CG

/********** Keine Garantie auf Korrektheit der Angaben ************/

Fragensammlung: wie lauteten die Fragen im einzelnen?

**** Info A ****
- Was ist Rekursion? Mit Beispielen:
// Fakultät, GGT, Hanoi, Mergesort, Quicksort, Traversierungen
- Ok, was für Traversierungen gibt es?
// Inorder, Preorder, Postorder
- Erklären sie an einem Beispiel Preorder:
// Kleiner Baum gemalt und Knoten in entsprechender Reinfolge nummeriert
- Wie würde ich Preorder ohne Rekursion implementieren?
// Tiefensuche, mit einem Keller
- Was ist wann in dem Keller bei der Preorder-Traversierung?
// Keller gemalt und die Nummerierten Knoten rein geschrieben und rausge-
// strichen. - Brauch einiege Zeit um die richtiege Reihenfolge zu finden
- Wie ist das Implementiert?
// Also Verweise im Keller zu den Knoten gemalt, verstehe nicht so ganz was
// er will...
// Nach einiegem unsieren gucken, soll ich wohl noch einen Baum malen, also
// Knoten mit Verweisen und dem Schlüssel gezeichnet
- Angenommen sie haben einen Suchbaum, und wollen diesen in sortierter Folge
ausgeben, welcher Traversierung entspricht das? Was sind die Eigenschaften
vom Suchbaum?
// rechte Söhne größer als Vater, linke kleiner. Traversierung: Mit viel
// Nachhilfe - Inorder
- Wie schnell kann ich etwas im Suchbaum finden
// O(log n)
- Immer?
// Nicht bei Entartung zur Liste, dann O(n)
- Wie das Verhindern?
// AVL-Baum: Alle Knoten sind ausgeglichen, dh die Höhen sind max. um 1 ver-
// schieden.
- Wie erreiche ich das alle Knoten ausgeglichen sind?
// Über Rotierungen
- Wie aufwändig ist das?
// Einzelne Rotierung in konstanter Zeit, allerdings beim Löschen weit oben im
// Baum können mehrere Rotierungen anfallen, dann O(log n)
- Dann vergleichen sie doch nochmal die HashMap mit dem AVL-Baum mir ihren Vor-
und nachteilen:
// HashMap - Konstanter Zugriff, nur abhängig von Belegungsdichte, bei alfa =
// 0.8 und erfolgreicher Suche 2 Schritte, und erfolgloser Suche 5 Schritte
// Doof umzuschreiben, wenn größe des Arrays nicht ausreicht, hingegen Baum
// dynamisch erweiterbar
- "Dann kommen wir jetzt zu Computergrafik..."

**** Computergrafik *****
- Wie stelle ich Kurven da?
// Also das aller einfachste Idee ist...
- ok, damit nicht anfangen, eine weiter:
// Qubische Splines: male ein Bildchen und erzähle alles was mir einfällt,
// dass die an den Stützpunkten gleich bis in die 2te Ableitung sind, dass an
// den Eckpunkten f''(x) = 0 und dass das zu 4*2*n Unbekannten und Gleichungen
// führt und deswegen schwer zu lösen ist
// Die nächste Stufe sind dann Beziérs, erzähle was von konvexer Hülle,
// Bernsteinpolynomen und weiß nicht so recht was noch erzählen...
- Dann malen Sie für n=3 mal die Bernsteinpolynome:
// wird gemacht und erzähle dazu, dass das ite und dasn (n-i)te symmetrisch
// sind, die für ein gegebenes t alle zusammen 1 ergeben und die Maximas bei
// i/n liegen
- Und der Nachteil?
// der Polynomgrad der Bernsteinpolynome hängt von n ab, also besser B-Splines
// wo durch k und einen Knotenvektor nur einzelne Knoten mit in die Berechnung
// mit einfließen
- Temenwechsel: Was kommt am ende der Viewingpipline heraus, wenn wir ein Drei-
eck durchschicken?
// Puh, frage viel (endet die VP bei dem NPC oder dem DC?) nach und kostet
// viel hinführen bis ich weiß was er will, also es kommt ein Dreieck mit den
// Faces raus, und die Koordinanten mit x,y, und z Wert. Der z Wert ist zB
// für Backface removal wichtig.
- Wie geht Backface-Removal?
// Wieder lange überlegt und viel nachhilfe: z-Buffer - pixel für Pixel, oder
// mit der Hessischen Normalform..
- Was brauche ich dafür?
// da ich auf im unendlichen der z-Achse sitze muss ich mir bei der Flächengl-
// eichung Ax+By+Cz+D=0 nur den C-Wert ansehen, ob der größer null oder
// kleiner ist. Und (A,B,C)^t ist ja die Normale
- Was brauche ich also, was kommt am Schluss der VP raus?
// Aso, natürlich auch die Normalen für die Faces!
- Wie kann ich den jetzt das Dreieck Pixel für Pixel befüllen?
// Flat-Shading (aber: Mach-Band-Effekt), Gouraud-Shading oder Phong-Shading
- "Joa, ich merke schon ich finde nix was Sie nicht wissen! Dann darf ich Sie
kurz nach draußen bitten."

Was mußte schriftlich gelöst werden?

s.O (gefordert wurde nur kleiner Baum malen, Bernsteinpolynome)

Welche Beispiele wurden wofür abgefragt?

keine, ich habe sie selber gegeben

Persönlicher Kommmentar, Was war toll? Was war doof? Was war auffällig?

Ich hatte nicht das Gefühl, dass eine kühle oder distanzierte Atmosphäre geherrscht hätte, sie war locker und entspannt. Ich war mir häufig nicht sicher, nachfragen hat geholfen. Auch hatte ich längst nicht das Gefühl alles zu wissen (Stichwort Normalen...). Ich glaube es hat wircklich geholfen,
dass ich immer gleich alles erzählt habe, was mir eingefallen ist und auch alle Deteils die ich wusste sofort dazu gesagt habe (HashMap Laufzeiten, etc.), weil so hat er nicht selber noch nachgefragt. Überhaupt, kamen gerade in Computer-
grafik längst nicht so viele Deteils dran wie befürchtet (Bernsteinpolynom-gleichungen und Kurvengleichung, ...).

Wie waren Einstieg, Ablauf, Ende, Bewertung und Begründung?

Einstieg: Ich stand vorm falschen Raum, und irrgendwann kam Hr. Vornberger und bat mich in sein Büro mit dem Komentar "Sie müssen sich doch melden!" - als ich antwortete, man habe mir diesen Raum gesagt, war es total ok, eigentlich ein sehr entspannter einstieg, wieder erwarten!
Ablauf: s.o.
Ende: s.o. - Nach der Notenbekanntgabe noch kurzer Smaltalk, Wie haben Sie gelernt, alleine oder zu zweit? Und was machen Sie nun? Bei wem schreiben Sie ihre BA-Arbeit?
Bewertung und Begründung: Knapp aber aussreichend

Lässt sich der Prüfer von den Antworten leiten?

Ich hatte schon sehr das Gefühl, dass er auf die Beispiele dich ich angegeben habe eingegangen ist und auch so nachgefragt hat, dass am Schluss ich selber frühere Fehler bemerke und korrigieren kann!

Zum Verhalten des Prüfers

fair, freundlich, professionell