[TIP] Interpolare dei punti con una Spline

Le Spline sono curve controllate dai punti di controllo: usando WPF è immediato disegnare una spline definendone i punti di controllo associati.

E' leggermente più complicato invece disegnare una Spline partendo dai punti per cui la curva deve passare. In questo caso è sufficiente utilizzare l'algoritmo di interpolazione Catmull-Rom, così definito:

Let c(i) be the points you wish to interpolate through. Let b(i) be the Bezier control points. Then:

B(0) = c(i)

B(1) = (c(i+1)-c(i-1))/6 + c(i)

B(2) = (c(i)-c(i+2))/6 + c(i+1)

B(3) = c(i+1)

Note that the very first or very last interpolation point won’t actually be interpolated. You can work around this by creating a dummy interpolation point at the beginning.

Nel caso in cui siate interessati una implementazione pratica del codice non esitate a contattarmi (eventualmente scriverò un articoletto per UGI).

 

Print | posted on domenica 28 gennaio 2007 15:29

Comments have been closed on this topic.