Worum geht's?
Bevor wir und der Diskussion der Splines zuwenden, betrachten wir erst mal eine Kurve zwischen zwei Punkten, was einem Spline-Segment entspricht.
Eine kubische Kurve - eine Polynomfunktion dritten Grades - wird beschrieben duch die vier Koeffizienten a, b, c, d mit
f(x) = a + bx + cx2 + dx3
Bedingungen
Wenn zwei Punkte P0 = (x0,y0) und P1 = (x1,y1) gegeben sind, so ergeben sich die ersten beiden Bedingungen zu
a + bx0 + cx02 + dx03 = y0 | I |
a + bx1 + cx12 + dx13 = y1 | II |
Für ein bestimmtes Gleichungssystem sind zwei weitere Bedingungen erforderlich, z.B:
- Steigungen m0 und m1 in den beiden Punkten:
b + 2cx0 + 3dx02 = m0, b + 2cx1 + 3dx12 = m1 - Steigung in m0 und Krümmung u0 in Punkt P0:
b + 2cx0 + 3dx02 = m0, 2c + 6dx0 = u0 - Krümmungen u0 und u1 in den beiden Punkten:
2c + 6dx0 = u0, 2c + 6dx1 = u1
Fall 3: Krümmungen in den beiden Punkten
Die beiden Bedingungen für die Krümmungen können zusammen mit den beiden Gleichungen für y0 und y1 direkt als Gleichungssystem aufgestellt werden
y0 = a + bx0 + cx02 + dx03 | I |
y1 = a + bx1 + cx12 + dx13 | II |
u0 = 2c + 6dx0 | III |
u1 = 2c + 6dx1 | IV |
Hier bietet sich an, die Differenz der Krümmungen aus IV - III zu bestimmen:
u1 - u0 = 6d(x1 - x0) | IV - III |
d = (u1 - u0)/6(x1 - x0) |
Danach kann über Gleichungen III oder IV c bestimmt werden, und weiter über II-I b:
y1 - y0 = b(x1 - x0) + c(x12 - x02) + d(x13 - x03) | II-I |
b = ((y1 - y0) - c(x12 - x02) - d(x13 - x03))/(x1 - x0) |
a wird zuletzt über eine der Gleichungen I oder II bestimmt.
Graphen
Die obige und zwei weitere Möglichkeiten, eine Kurve 3. Ordnung zwischen zwei Punkte zu legen, sind in der untenstehenden Grafik dargestellt:
Bemerkungen :