Bezier-Kurven -...

50
Einf¨ uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve Ableitungen von Bezier-Kurven Bezier-Kurven Hamid Fetouaki, Emma Skopin Universit¨ at Kassel FB Mathematik/Informatik 28. Januar 2009 Hamid Fetouaki, Emma Skopin Bezier-Kurven

Transcript of Bezier-Kurven -...

Page 1: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Bezier-Kurven

Hamid Fetouaki, Emma Skopin

Universitat KasselFB Mathematik/Informatik

28. Januar 2009

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 2: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Motivation

Bis in den spaten 50er Jahren:

Zeichnung der Kurven am Papier

Fertigung der Modelle aus Holz und Ton

Einsetzung der Master-Modelle aus Gips fur dieKopiermaschinen

Seit 1955

Entwicklung und Einsetzung der (Numerical Control)NC-Maschinen

Interpretation der geometrischen Daten

Ubertragung dieser Daten auf die Maschinen

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 3: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Paul de-Casteljau

19. November 1930 geboren

Studium der Mathematik und Physik an der ENS

Wehrdienst im Algerienkrieg

1958 - Anfang der 1990 bei Citroen

Als Physiker in der Groupe DeterminationMathematique des Carrosseries

Veroffentlichung der Ergebnisse beim INPI

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 4: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Pierre Bezier

1. September 1910 geboren

25 November 1999 gestorben

1930 Diplom an der ENS d’arts et Metiers

1931 Diplom an der Ecole Superieured’electricite

1933 – 1975 Ingenieur bei Renault

1977 Dr. Title in der Mathematik von derUniversitat Paris

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 5: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Historie

Parallele Entdeckung der selben Formel

Rechtsstreit: de-Casteljau ⇔ Bezier

Die allgemeine Formel und damit die Kurven wird folglichnach Pierre Bezier benannt (Bernstein-Bezier-Polynom,Bezier-Kurve/Flache)

Das zugrunde liegende Konstruktionsprinzip wird nachde-Casteljau (de-Casteljau-Algorithmus) benannt.

Jahre spater konnten die Bezier-Kurven unmittelbar zur Steuerungvon NC-Frasen herangezogen werden.Z Anstoß zu parallelen Weiterentwicklungen in anderenIndustriebereichen wie Schiffsbau und Luftfahrt.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 6: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

1 Einfuhrung

2 Der Algorithmus von de-CasteljauParabelnde-Casteljau-Algorithmus

3 Die Bernsteinform einer Bezier-KurveBernsteinpolynomeEigenschaften von Bezier-Kurven

4 Ableitungen von Bezier-KurvenDie Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 7: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

Lineare Interpolation

Gegeben seien zwei verschiedene Punkte a, b ∈ E3

Die Menge aller Punkte x ∈ E3 der Form

x = x(t) = (1− t)a + tb; t ∈ R (∗)

wird Gerade durch die Punkte a und b genannt.

Fur t ∈ [a, b] liegt der Punkt x zwischen a und b

(∗) stellt eine baryzentrische Kombination zweier Punkte im E3

dar. Diese ist als gewichtete Summe von Punkten definiert, wobeidie Gewichte sich zu Eins aufaddieren mussen.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 8: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

Lineare Interpolation

Abbildung: Lineare Interpolation: Punkte a, b beschreiben eine Gerade,die durch Sie durchgeht.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 9: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

Parabel Konstruktion

Seien nun b0, b1, b2 drei beliebige Punkte im E3, und sei t ∈ R.

Wir bilden nun:

b10 (t) = (1− t) b0 + tb1, (1)

b11 (t) = (1− t) b1 + tb2, (2)

b20 (t) = (1− t) b1

0 (t) + tb11 (t) . (3)

Durch einsetzen von (1) und (2) in (3) erhalten wir:

b20 (t) = (1− t) b1

0 (t) + tb11 (t)

= (1− t) [(1− t) b0 + tb1] + t[(1− t) b1 + tb2]

= (1− t)2 b0 + 2t (1− t) b1 + t2b2.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 10: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

Parabeln

b20(t) ist ein quadratischer Ausdruck in t (der hochgestellte

Index gibt den Grad an).

Fur t ∈ (−∞,∞) erzeugt er somit eine Parabel, die wir mitb2 bezeichnen.

Diese Konstruktion ist nicht weiter als wiederholte lineareInterpolation.

Parabeln sind immer ebene Kurven, da b2(t) immer einebaryzentrische Kombination dreier Punkte ist.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 11: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

Beispiel

Abbildung: Konstruktion einer Parabel durch wiederholte lineareInterpolation.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 12: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

1 Einfuhrung

2 Der Algorithmus von de-CasteljauParabelnde-Casteljau-Algorithmus

3 Die Bernsteinform einer Bezier-KurveBernsteinpolynomeEigenschaften von Bezier-Kurven

4 Ableitungen von Bezier-KurvenDie Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 13: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

de-Casteljau-Algorithmus

Gegeben:b0, b1, b2, . . . , bn ∈ E3, t ∈ R,

Setze:

bri (t) = (1− t) br−1

i (t) + tbr−1i+1 (t) fur

{r ∈ {1, . . . , n} und

i ∈ {0, . . . , n − r}(4)

b0i (t) = bi . (5)

Ausgabe:bn0(t) ist der Punkt auf der Bezier-Kurve bn, der dem

Parameterwert t entspricht.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 14: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

Bezeichnungen

Das Polygon P, das durch die Punkte b0, b1, . . . , bn

dargestellt wird, wird Bezierpolygon oder Kontrollpolygonder Kurve bn genannt.

Die Polygonecken bi werden Kontrollpunkte oderBezierpunkte genannt.

Die Zwischenpunkte bri (t) konnen wir in einer Dreiecksform

anordnen, dem sogenannten de-Casteljau-Schema.

Als Beispiel betrachten wir den Fall fur eine planare kubischeKurve an der Stelle t = 1

2 :

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 15: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

Beispiel fur t = 12

b0 =[ 0

0

]b10 =

[ 01

]b1 =

[ 02

]b20 =

[ 232

]b11 =

[ 42

]b30 =

[ 72

32

]b2 =

[ 82

]b21 =

[ 532

]b12 =

[ 61

]b3 =

[ 40

]Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 16: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Parabelnde-Casteljau-Algorithmus

Beispiel fur t = 12

Abbildung: Das Berechnen eines Punktes auf einer Bezier-Kurve mit demde-Casteljau-Algorithmus.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 17: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

1 Einfuhrung

2 Der Algorithmus von de-CasteljauParabelnde-Casteljau-Algorithmus

3 Die Bernsteinform einer Bezier-KurveBernsteinpolynomeEigenschaften von Bezier-Kurven

4 Ableitungen von Bezier-KurvenDie Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 18: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Bernsteinpolynome

Definition 3.1

Das i-te Bernsteinpolynom vom Grad n ist definiert durch:

Bni (t) :=

(n

i

)t i (1− t)n−i , (6)

wobei die Binomialkoeffizienten durch:(n

i

)=

{n!

i!(n−i)! falls 0 ≤ i ≤ n

0 sonst

gegeben sind.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 19: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Eigenschaften der Bernsteinpolynome

Satz 3.2

1 Bernsteinpolynome genugen folgender Rekursionsformel:

Bni (t) = (1− t)Bn−1

i (t) + tBn−1i−1 (t) (7)

mit

B00 (t) ≡ 1 und (8)

Bnj (t) ≡ 0 fur j /∈ {0, . . . , n}. (9)

2 Die Bernsteinpolynome bilden eine Teilung der Eins, d.h. esgilt:

n∑j=0

Bnj (t) ≡ 1. (10)

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 20: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Eigenschaften der Bernsteinpolynome

Beweis:Es gilt:

(ni

)=(n−1

i

)+(n−1

i−1

). Fur die Bernsteinpolynome gilt somit:

Bni (t) =

(n

i

)t i (1− t)n−i

=

(n − 1

i

)t i (1− t)n−i +

(n − 1

i − 1

)t i (1− t)n−i

=

(n − 1

i

)t i (1− t)n−i−1︸ ︷︷ ︸

= Bn−1i (t)

(1− t) +

(n − 1

i − 1

)t i−1(1− t)n−i︸ ︷︷ ︸

= Bn−1i−1 (t)

t

= (1− t)Bn−1i (t) + tBn−1

i−1 (t).

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 21: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Eigenschaften der Bernsteinpolynome

B00 (t) =

(00

)t0(1− t)0 = 1

Bnj (t) = 0 fur j /∈ {0, . . . , n} nach Definition der

Binomialkoeffizienten.

Mit Hilfe des binomischen Lehrsatzes folgt:

n∑j=0

Bnj (t) =

n∑j=0

(n

j

)t j(1− t)n−j = (t + 1− t)n = 1.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 22: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Berechnung der Bernsteinpolynome

Beispiel: Die Bernsteinpolynome vom Grad 4

B40 (t) =

(4

0

)t0(1− t)4 = (1− t)4

B41 (t) =

(4

1

)t1(1− t)3 = 4t(1− t)3

B42 (t) =

(4

2

)t2(1− t)2 = 6t2(1− t)2

B43 (t) =

(4

3

)t3(1− t)1 = 4t3(1− t)

B44 (t) =

(4

4

)t4(1− t)0 = t4

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 23: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Bernsteinpolynome

Abbildung: Die quartischen Bernsteinpolynome.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 24: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Satz 3.3

Fur die Zwischenpunkte bri , die beim de-Casteljau-Algorithmus

auftreten, gilt:

bri (t) =

r∑j=0

bi+jBrj (t), fur

{r ∈ {0, . . . , n} und

i ∈ {0, . . . , n − r}.(11)

Fur r = n, ist der de-Casteljau-Punkt gerade der Punkt auf derKurve, und ist gegeben durch:

bn (t) = bn0 (t) =

n∑j=0

bjBnj (t). (12)

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 25: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Beweis:(12) ergibt durch direktes Einsetzen von r = n in (11).IA: r = 0

b0i (t)

(5)= bi

(8)= biB

00 (t) =

0∑j=0

bi+jB0j (t).

IV: Die Behauptung gelte fur r − 1IS: r − 1→ r Fur r = 1, . . . , n und i = 0, . . . , n − r gilt:

bri (t)

(4)= (1− t) br−1

i (t) + tbr−1i+1 (t)

(IV )= (1− t)

r−1∑j=0

bi+jBr−1j (t) + t

r−1∑j=0

bi+1+jBr−1j (t)

= (1− t)i+r−1∑

j=ibjB

r−1j−i (t) + t

i+r∑j=i+1

bjBr−1j−i−1(t)

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 26: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

bri (t) = (1− t)

i+r−1∑j=i

bjBr−1j−i (t) + t

i+r∑j=i+1

bjBr−1j−i−1(t)

(9)= (1− t)

i+r−1∑j=i

bjBr−1j−i (t) + (1− t)B r−1

r (t)

+ ti+r∑

j=i+1bjB

r−1j−i−1(t) + tB r−1

−1 (t)

= (1− t)i+r∑j=i

bjBr−1j−i (t) + t

i+r∑j=i

bjBr−1j−i−1(t)

=i+r∑j=i

bj

[(1− t)B r−1

j−i (t) + tB r−1j−i−1(t)

]=

r∑j=0

bj+i

[(1− t)B r−1

j (t) + tB r−1j−1 (t)

](7)=

r∑j=0

bj+iBrj (t).

�Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 27: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Beobachtung

Bezier-Kurven stellen baryzentrische Kombinationen derKontrollpunkte dar.

Beweis:Folgt aus Satz 3.3, Definition von baryzentrischen Kombinationenund (10). �

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 28: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Satz 3.5

Bezier-Kurven lassen sich mittels der Zwischenpunkte bri wie folgt

darstellen:

bn (t) =r∑

i=0

bn−ri (t)B r

i (t), wobei r ∈ {0, . . . , n} . (13)

1 D.h. berechne zuerst die n − r Stufen desde-Casteljau-Algorithmus in abhangigkeit von t,

2 betrachte die resultierenden Punkte bn−ri (t) als

Kontrollpunkte einer Bezier-Kurve vom Grad r ,

3 werte diese an der Stelle t aus.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 29: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 30: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

1 Einfuhrung

2 Der Algorithmus von de-CasteljauParabelnde-Casteljau-Algorithmus

3 Die Bernsteinform einer Bezier-KurveBernsteinpolynomeEigenschaften von Bezier-Kurven

4 Ableitungen von Bezier-KurvenDie Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 31: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Affine Invarianz

Definition

Eine Abbildung Φ : E3 → E3 heißt affine Abbildung, wenn sie

baryzentrische Kombinationen invariant lasst.

D.h: Seien x =∑αjaj ; x , aj ∈ E3 eine baryzentrische

Kombination und Φ eine affine Abbildung

⇒ Φ(x) =∑αjΦ(aj), Φ(x), Φ(aj) ∈ E3.

Bezier-Kurven sind baryzentrische Kombinationen

⇒ affine Invarianz

D.h., die folgenden Vorgehensweisen liefern dasselbe Resultat:

1 Berechne bn(t), wende affine Abbildung an2 Wende affine Abbildung auf das Kontrollpolygon an, werte

das transformierte Kontrollpolygon an t aus.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 32: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Invarianz unter baryzentrischen Kombinationen

Gegeben: zwei Bezier-Kurven bn und cn.

Fur α + β = 1 gilt:

αn∑

j=0bjB

nj (t) + β

n∑j=0

cjBnj (t) =

n∑j=0

(αbj + βcj)Bnj (t)

Berechnung des gewichteten Mittels zweier Bezier-Kurven:

1 Berechne das gewichtete Mittel der Kurvenpunkte

2 Bilde das gewichtete Mittel der Kontrollpunkte und berechnedie Kurve.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 33: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Lineare Prazision

Es gilt:n∑

j=0

jnBn

j (t) = t.

Kontrollpunkte: bj =(

1− jn

)p + j

nq, j = 0, . . . , n

⇒ bn (t) =n∑

i=0

[(1− j

n )p + jnq]Bn

j (t)

= pn∑

j=0Bn

j (t)− pn∑

j=0

jnBn

j (t) + qn∑

j=0

jnBn

j (t)

= p + t(q − p)

Die Kurve, die durch dieses Polygon erzeugt wird, ist genaudie Gerade zwischen p und q, d.h. die Originalgerade wirdreproduziert.

Diese Eigenschaft wird lineare Prazision genannt.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 34: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Weitere Eigenschaften

Invarianz unter affinen ParametertransformationenFur u ∈ [a, b] definiere: t = u−a

b−a

⇒n∑

i=0biB

ni (t) =

n∑i=0

biBni

(u−ab−a

).

Konvexe-Hullen-EigenschaftFur t ∈ [0, 1] liegt die Kurve bn(t) in der konvexen Hulle desKontrollpolygons.

Endpunkte-InterpolationDie Bezier-Kurve verlauft durch die Punkte b0 und bn.

Symmetrie

Pseudo-lokale-KontrolleBn

i besitzt nur ein Maximum und nimmt dieses an der Stellet = i

n an.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 35: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

BernsteinpolynomeEigenschaften von Bezier-Kurven

Bernsteinpolynome

Abbildung: Die quartischen Bernsteinpolynome.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 36: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

1 Einfuhrung

2 Der Algorithmus von de-CasteljauParabelnde-Casteljau-Algorithmus

3 Die Bernsteinform einer Bezier-KurveBernsteinpolynomeEigenschaften von Bezier-Kurven

4 Ableitungen von Bezier-KurvenDie Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 37: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Satz 4.1

Die Ableitung eines Bernsteinpolynoms Bni (t) ist gegeben durch:

d

dtBn

i (t) = n[Bn−1

i−1 (t)− Bn−1i (t)

], (14)

wobei i ∈ {0, . . . , n}.

Satz 4.2

Fur eine Bezier-Kurve bn(t) gilt folgendes:

d

dtbn(t) = n

n−1∑j=0

[bj+1 − bj ]Bn−1j (t) (15)

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 38: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Definition

Der Vorwartsdifferenzenoperator 4r ist definiert durch:

4rbj =

{4r−1bj+1 −4r−1bj , fur r ∈ Nbj , fur r = 0.

(16)

Mit der obigen Definition erhalten wir fur die Ableitung einerBezier-Kurve:

d

dtbn(t) = n

n−1∑j=0

4bjBn−1j (t); 4bj ∈ R3. (17)

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 39: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Die Ableitung einer Bezier-Kurve ist somit selbst wieder eineBezier-Kurve, deren Kontrollpolygon durch Differenzieren desoriginalen Polygons gegeben ist.

Abbildung: Bezier-Kurve aus dem erste Beispiel und ihre erste Ableitungals Kurve (verkleinert um den Faktor drei)

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 40: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

1 Einfuhrung

2 Der Algorithmus von de-CasteljauParabelnde-Casteljau-Algorithmus

3 Die Bernsteinform einer Bezier-KurveBernsteinpolynomeEigenschaften von Bezier-Kurven

4 Ableitungen von Bezier-KurvenDie Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 41: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Beispiel: Die ersten Vorwartsdifferenzen:

40bi = bi

41bi = bi+1 − bi

42bi = 41bi+1 −41bi = bi+2 − 2bi+1 + bi

43bi = 42bi+1 −42bi = bi+3 − 3bi+2 + 3bi+1 − bi

Satz 4.4

Die Vorwartsdifferenzen lassen sich berechnen durch:

4rbi =r∑

j=0

(r

j

)(−1)r−jbi+j (18)

Beweis:

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 42: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Satz 4.5

Fur die r − te Ableitung einer Bezier-Kurve gilt:

d r

dtrbn(t) =

n!

(n − r)!

n−r∑j=0

4rbjBn−rj (t). (19)

Beweis:Durch wiederholte Anwendung von (17)

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 43: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Bemerkung 4.6

1 t = 0 : d r

dtr bn(0) = n!(n−r)!4

rb0, wegen Bn−rj (0) = δj ,0

2 t = 1: d r

dtr bn(1) = n!(n−r)!4

rbn−r , wegen Bn−rj (1) = δj ,n−r

Abbildung: Die erste und die zweite Ableitung fur t = 0.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 44: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

1 Einfuhrung

2 Der Algorithmus von de-CasteljauParabelnde-Casteljau-Algorithmus

3 Die Bernsteinform einer Bezier-KurveBernsteinpolynomeEigenschaften von Bezier-Kurven

4 Ableitungen von Bezier-KurvenDie Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 45: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Satz4.7

Die r − te Ableitung einer Bezier-Kurve kann durch dieZwischenpunkte, die beim de-Casteljau-Algorithmus auftreten,folgendermaßen ausgedruckt werden:

d r

dtrbn(t) =

n!

(n − r)!4rbn−r

0 (t). (20)

Beweis:Zuerst zeigen wir, dass Summation und Differenzenbildungkommutieren:

n−1∑j=0

4bj =n−1∑j=0

[bj+1 − bj ] =n∑

j=1

bj+1 −n−1∑j=0

bj = 4n−1∑j=0

bj .

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 46: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Somit erhalten wir:

d r

dtrbn(t) =

n!

(n − r)!

n−r∑j=0

4rbjBn−rj (t) (21)

=n!

(n − r)!4r

n−r∑j=0

bjBn−rj (t) (22)

=n!

(n − r)!4rbn−r

0 (t) (23)

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 47: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

(21) und (22) liefern zwei verschiedene Methoden, die r−teAbleitung einer Bezier-Kurve zu berechnen.

Methode (21): Bilde alle r -ten Vorwartsdifferenzen derKontrollpunkte, iterpretieren diese als ein neues Bezierpolygonvom Grad n − r und werte dieses an der Stelle t aus.

Methode (22): Berechne die r -te Ableitung als einNebenprodukt des de-Casteljau-Algorithmus.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 48: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Beispiel: Die Ableitung der Bezier-Kurve aus dem erstenBeispiel

Wir bilden zuerst die ersten Differenzen der Kontrollpunkte:

4b0 = b1 − b0 =[ 0

2

]−[ 0

0

]=[ 0

2

],

4b1 = b2 − b1 =[ 8

2

]−[ 0

2

]=[ 8

0

],

4b2 = b3 − b2 =[ 4

0

]−[ 8

2

]=[ −4−2

].

Dann werten wir die entstehende quadratische Kurve an der Stellet = 1

2 aus:

B20

(1

2

)=

1

4, B2

1

(1

2

)=

1

2, B2

2

(1

2

)=

1

4.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 49: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Somit erhalten wir:

d

dtb3

(1

2

)=

3!

2!

(1

4

[ 02

]+

1

2

[ 82

]+

1

4

[ −4−2

])=[ 9

0

].

Als Alternative berechnen wir 4b20(1

2):

4b20

(1

2

)= b2

1

(1

2

)− b2

0

(1

2

)=[ 5

32

]−[ 2

32

]=[ 3

0

].

Multiplikation mit 3 liefert das Ergebnis.

Hamid Fetouaki, Emma Skopin Bezier-Kurven

Page 50: Bezier-Kurven - uni-kassel.depool-serv1.mathematik.uni-kassel.de/~fetouaki/seminar/presentation... · Einf uhrung Der Algorithmus von de-Casteljau Die Bernsteinform einer Bezier-Kurve

EinfuhrungDer Algorithmus von de-Casteljau

Die Bernsteinform einer Bezier-KurveAbleitungen von Bezier-Kurven

Die Ableitung einer Bezier-kurveAbleitungen hoherer OrdnungAbleitungen und der de-Casteljau-Algorithmus

Vielen Dank fur ihre Aufmerksamkeit

Hamid Fetouaki, Emma Skopin Bezier-Kurven