Benutzer-Werkzeuge

Webseiten-Werkzeuge


techniken:catmullrom

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
techniken:catmullrom [2014/12/02 12:06]
c.jaedicke
techniken:catmullrom [2016/01/21 12:45] (aktuell)
Zeile 13: Zeile 13:
 {{ :​techniken:​romecatmull3.png?​nolink&​500 |}} {{ :​techniken:​romecatmull3.png?​nolink&​500 |}}
  
-Eine umfassende Herleitung des Algorithmus findet ihr [[http://​www.cs.cmu.edu/​~fp/​courses/​graphics/​asst5/​catmullRom.pdf|hier]]. Dieses [[http://​www.cemyuksel.com/​research/​catmullrom_param/​catmullrom.pdf|Paper]] von Yuksel et. al. beschäftigt sich mit der Parametrisierung von Catmull-Rom-Kurven. Wie etwa die Centripetal-Parametrisierung,​ welche garantiert dass sich die Kurve innerhalb eines Abschnittes nicht selbst schneidet. ​+Eine umfassende Herleitung des Algorithmus findet ihr [[http://​www.cs.cmu.edu/​~fp/​courses/​graphics/​asst5/​catmullRom.pdf|hier]]. Dieses [[http://​www.cemyuksel.com/​research/​catmullrom_param/​catmullrom.pdf|Paper]] von Yuksel et. al. beschäftigt sich mit der Parametrisierung von Catmull-Rom-Kurven, wie etwa die Centripetal-Parametrisierung,​ welche garantiert dass sich die Kurve innerhalb eines Abschnittes nicht selbst schneidet. ​
  
-$+===Algorithmus=== 
 +Aus der oben genannten Herleitung erhalten wir die Basisfunktionen (In der numerischen analysis auch "​blending functions"​ genannt) der Kurve: 
 + 
 +\begin{equation*} 
 +Mu = 
 +\begin{bmatrix} 
 +−\tau u+2\tau u^2 −\tau u^3  \\ 
 +1+(\tau−3)u^2+(2−\tau)u^3 ​ \\ 
 +\tau u+(3−2\tau)u^2 +(\tau −2)u^3 ​ \\ 
 +−\tau u^2 +\tau u^3  
 +\end{bmatrix} 
 +\end{equation*} 
 + 
 +Dabei bezeichnet ​$\tau$ die "​tension"​ (Glätt-Faktor) welche Werte im Intervall $[0,1]$ annimmt und $u$ den Zeitpunkt an dem die Funktionen ausgewertet werden. Zu welchen Zeitpunkten die Funktionen ausgewertet werden hängt von der Parametrisierung ab, zum Beispiel wird bei der uniform-Parametrisierung eine feste Anzahl von Punkten gewählt. 
 +Die interpolierte Koordinate ergibt sich nun aus dem Produkt der Matrix eurer Stützpunkte und dem Vektor eurer Basisfunktionen. 
 + 
 +\begin{equation*} 
 +\begin{bmatrix} 
 +x \\ 
 +
 +\end{bmatrix} 
 + = 
 +\begin{bmatrix} 
 +x_{p_0} & x_{p_1} & x_{p_2} & x_{p_3} ​ \\ 
 +y_{p_0} & y_{p_1} & y_{p_2} & y_{p_3} ​  
 +\end{bmatrix} 
 +\cdot
 \begin{bmatrix} \begin{bmatrix}
-a_1 & a_2 & a_3 & a_4 \\\\ +\tau u+2\tau u^2 −\tau u^3  ​\\ 
-b_1 & b_2 & b_3 & b_4 \\\\ +1+(\tau−3)u^2+(2−\tau)u^3  ​\\ 
-c_1 & c_2 & c_3 & c_4 \\\\ +\tau u+(3−2\tau)u^2 +(\tau −2)u^3  ​\\ 
-d_1 & d_2 & d_3 & d_4+−\tau u^2 +\tau u^3 
 \end{bmatrix} \end{bmatrix}
-+\end{equation*} ​
techniken/catmullrom.1417518373.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)