Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » algoks » Lösungsvorschlag   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
pruefungen:bachelor:algoks:loesungws15 [02.08.2017 09:50] Marcel[Inf]pruefungen:bachelor:algoks:loesungws15 [02.08.2017 10:48] Marcel[Inf]
Zeile 122: Zeile 122:
      
  **b)**\\  **b)**\\
-b_0 = (18, 8)^T +Affine Transformation \Phi(x, y) = (y, x)^T + (-2, 0)^T. 
-b_1 = (10, 0)^T + 
-b_2 = (2, 8)^T +b_0 = (14, 8)^T 
-b_3 = (58, 32)^T+b_1 = (6, 0)^T 
 +b_2 = (-2, 8)^T 
 +b_3 = (54, 32)^T
  
 **c)**\\ **c)**\\
Zeile 136: Zeile 138:
 **e)**\\ **e)**\\
  
 +Man skizziere sich drei Punkte und führe den De-Casteljau-Algorithmus aus.
 +Zuerst interpoliert man d_0 und d_1: 1/2 (d_0 + d_1)\\
 +Dann d_1 und d_2: 1/2 (d_1 + d_2)\\
 +Nun interpoliert man diese beiden Punkte und gelangt zu:\\
 +1/2 (1/2 (d_0 + d_1)) + 1/2 (1/2 (d_1 + d_2)) = 1/4 d_0 + 1/2 d_1 + 1/4 d_2
  
 ==== Aufgabe 7 (Programmierung: Bilineare Interpolation) ==== ==== Aufgabe 7 (Programmierung: Bilineare Interpolation) ====
 +<code> 
 +def getInterpolatedPixel(img, u, v): # img ist np array 
 +  xf = v * (img.shape[1] - 1) 
 +  yf = u * 8img.shape[0] - 1) 
 +  p00 = (floor(xf), floor(yf)) 
 +  p01 = (ceil(xf), floor(yf)) 
 +  p10 = (floor(xf), ceil(yf)) 
 +  p11 = (ceil(xf), ceil(yf)) 
 +  w0 = xf - p00[0] 
 +  w1 = yf - p11[1] 
 +  return w1 * ((1-w0) * img[p00] + w0 * img[p01]) + (1-w1) * ((1-w0) * img[p10] + w0 * img[p11])) 
 +</code>
 ==== Aufgabe 8 (Baryzentrische Koordinaten) ==== ==== Aufgabe 8 (Baryzentrische Koordinaten) ====
 **a)**\\ **a)**\\
Zeile 170: Zeile 188:
  
 **d)**\\ **d)**\\
-Der erste Uebergang leicht nach unten gebogen, dann linear:+Der erste Uebergang leicht nach unten gebogen (quadratisch), dann linear:
 (-1/2, 0) -> (3/2, 1) -> (3/2 + x, 1 + x) (-1/2, 0) -> (3/2, 1) -> (3/2 + x, 1 + x)
 +
 +Quadratisch kommt daher, dass man in das erste Dreieck hineinläuft. Die 'Slices' des Dreiecks, die man immer hinzufügt, werden größer und größer, sozusagen 1 + 2 + 3 + 4, was bekanntermaßen O(n^2) ist.\\
 +Es tritt dann bei x=0,5 vollkommene Überlappung auf. Nun haben wir ein Trapez, das mit größer werdendem x immer weiter nach rechts geschoben wird und oben durch f begrenzt wird. Formel für den Flächeninhalt eines Trapezes ist h * (a + c)/2. Die Höhe, oder hier die Breite des Trapezes, ändern wir nicht, sie bleibt konstant 1. Lediglich a und c ändern wir, diese sind aber gerade die Bilder unter f. Da diese immer 'gleichzeitig' nach rechts geschoben werden, ändert sich a + c auch nur linear. Der Flächeninhalt ist also linear in x. Nun braucht man nur zwei Punkte sich im Kopf kurz zu errechnen und zeichnet sich seine Gerade durch.
 +
 +**e)**\\
 +Unterscheide nach x < -2, -2 <= x <= 2, 2 < x < \infty.\\
 +(f*g_2)(x) =\\
 +0 falls x < -2,
 +1/8 (x+2)^2 falls 2 <= x <= 2,\\
 +x falls 2 < x < \infty (also sonst)
  
 ==== Aufgabe 10 (Hauptkomponentenanalyse) ==== ==== Aufgabe 10 (Hauptkomponentenanalyse) ====
 +
 +**a)**\\
 +
 +Schwerpunkt S = (1, 1)^T\\
 +A := (p_0 - S | p_1 - S | ... | p_4 - S)
 +
 +Dann ist C = 1/(5 - 1) * AA^T = 1/2 {{9, 0}, {0, 4}}.
 +
 +**b)**\\
 +<code>
 +det(B-\lambda Id) = (1-\lambda)(7-\lambda) // bitte a^2-b^2 = (a-b)(a+b) nutzen :)
 +
 +Eig(1) = span{(1, 1)^T}\\
 +Eig(7) = span{(-1, 1)^T}</code>
  
 ==== Aufgabe 11 (Numerische Integration) ==== ==== Aufgabe 11 (Numerische Integration) ====