kurse:efcomputergrafik:exam-teil2

Prüfung am Donnerstag 20. Februar 2020

Folgende Liste von Fragen ist weder vollständig noch wirklich repräsentativ.

Einige Fragen sind ganz absichtlich unterbestimmt, d.h. es liegt an Ihnen, fehlende Angaben zu erkennen und sinnvoll durch Platzhalter zu ersetzen.

  • Auf Papier sind 4 Punkte $P_0$ bis $P_3$ gegeben. Konstruieren Sie den Punkt auf der dadurch definierten kubischen Bezierkurve mit Parameter $t=\frac{1}{3}$.
  • Gegeben sind 4 Punkte $P_0$ bis $P_3$. Geben Sie die Parameterdarstellung $P(t)$ der dadurch definierten kubischen Bezierkurve an.
  • Von einer quadratischen Bezierkurve kennt man den Startpunkt $P_0$ und den Endpunkt $P_2$, sowie die Richtungen der Tangenten in diesen Punkten. Beschreiben Sie, wie man geometrisch den Kontrollpunkt $P_1$ bestimmt.
  • Von einer kubischen Bezierkurve kennt man den Startpunkt $P_0$ und den Endpunkt $P_3$, sowie die orientierten Richtungen der Tangenten in diesen Punkten. Skizzieren Sie Gebiete der Ebene, in denen kein Kurvenpunkt liegen kann. Beschreiben Sie zwei verallgemeinerbare, qualitativ unterschiedliche Fälle. Ok, ok, ist nicht wirklich eine geeignete Prüfungsfrage. Aber spannend ist die Frage schon!
  • Gegeben sind 4 Punkte $P_0$ bis $P_3$ einer kubischen Bezierkurve. Bestimmen Sie die Ableitung nach $t$ der Parameterdarstellung $P(t)$. Geben Sie die Parameterdarstellung $P(t)$ der dadurch definierten kubischen Bezierkurve an.
  • Erklären Sie in ca. 4 Sätzen, was in Python eine Klasse und was eine Instanz ist.
  • Gegebenes Code-Beispiel mit einer Klasse erklären.
  • Um einen (geometrischen) Vektor in Python zu programmieren, könnte ein einfaches Array mit 2 (oder 3) Einträgen verwendet werden und die nötigen Funktionen, die gewünschte Vektoroperationen ausführen. Oder es könnte eine Klasse Vector implementiert werden. Erläutern Sie 3 Vorteile und 2 Nachteile der Programmierung mit Klassen gegenüber einfachen Arrays in je 1-2 stichwortartigen Sätzen.
  • Gegeben ist ein unvollständiges Code-Beispiel einer Klasse. Sie sollen dazu eine fehlende Methode implementieren.
  • Gegeben sind zwei Bounding-Boxen $B_1$ und $B_2$ wobei angenommen wird, dass die Seitenverhältnisse gleich sind. Erklären Sie, wie die affine Transformation (in der Form Streckung gefolgt von Verschiebung), die die Box $B_1$ auf die Box $B_2$ abbildet, bestimmt werden kann.
  • Lösen Sie das inverse Problem für den Whiteboard-Plotter, d.h. gegeben sind zwei Radien $r_1$ und $r_2$, bestimmen Sie daraus die $x$- und $y$-Koordinaten des Stifts.
  • Erklären Sie, wie formal exakt die Länge einer Bezierkurve mit einem Integral geschrieben werden kann. Programmieren Sie einen kleinen Python-Code, der die Länge einer Bezierkurve angenähert berechnet. Gehen Sie davon aus, dass Methoden zur Berechnung der Position $x(t)$ und der Ableitlung $x'(t)$ gegeben sind.
  • Erklären Sie, wie für einen gegebenen Parameter $t$ bei Geschwindigkeitsbetrag 1 die Bahnbeschleunigung auf einer Bezierkurve formal berechnet werden kann und wie diese in einem kleinen Python-Code berechnet werden kann. Gehen Sie davon aus, dass Methoden zur Berechnung der Position $x(t)$ und der Ableitlung $x'(t)$ gegeben sind.
  • Gegeben sind ein Parameter $t$ für einen Punkt auf einer Bezier-Kurve und ein Geschwindigkeitsbetrag $v$ für diesen Punkt. Beschreiben Sie, wie die neue Geschwindigkeit und der neue Parameter für den Punkt berechnet werden kann, der sich um die Distanz $s$ weiter auf der Kurve befindet. Einmal ohne Reibungsverluste, einmal mit Reibungsverlusten.
  • Gesucht ist eine Funktion $f: [0,1] \to \mathbb{R}$, wobei für $x=0$ und $x=1$ die Werte der Funktion und deren Ableitung gegeben sind. Erklären Sie, wie so eine Funktion bestimmt werden kann, einmal ohne und einmal mit der Hermit'schen Basis.
  • Erklären Sie, was die Hermit'sche Basis für Polynome dritten Grades ist und leiten Sie diese her.
  • kurse/efcomputergrafik/exam-teil2.txt
  • Last modified: 2020/02/05 21:06
  • by Ivo Blöchliger