Kubische Kurve durch zwei Punkte

Eine kubische Polynomkurve durch zwei Punkte mit zwei freien Parametern

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 = y1II

Für ein bestimmtes Gleichungssystem sind zwei weitere Bedingungen erforderlich, z.B:

  1. Steigungen m0 und m1 in den beiden Punkten:
    b + 2cx0 + 3dx02 = m0, b + 2cx1 + 3dx12 = m1
  2. Steigung in m0 und Krümmung u0 in Punkt P0:
    b + 2cx0 + 3dx02 = m0, 2c + 6dx0 = u0
  3. 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 + dx13II
u0 = 2c + 6dx0III
u1 = 2c + 6dx1IV

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:

Drei Varianten der Bestimmung

 

Kommentare und Antworten

×

Name ist erforderlich!

Geben Sie einen gültigen Namen ein

Gültige E-Mail ist erforderlich!

Gib eine gültige E-Mail Adresse ein

Kommentar ist erforderlich!

Sei der erste der kommentiert
Top