Processing math: 100%
Computergrafik

Bezier Curves

Parametrische Oberflächen | | De Casteljau

Basisfunktionen Bn(x) nicht Monome xn

Bezier: Bernstein Polynom

Bni(t)=(ni)(1t)niti

mit Binomialkoeffizient (ni)=n!i!(ni)!

Beispiel für n=4 und t=u:

B40(u)=u0(1u)4

B41(u)=4u1(1u)3

B42(u)=6u2(1u)2

B43(u)=4u3(1u)1

B44(u)=u4(1u)0

wikipedia.org

Kontrollpunkte Pi definieren das Kontrollpolygon einer Bezierkurve vom Grad n:

Kurve: F(t)=ni=0PiBni(t),t[0,1]

wikipedia.org

Eigenschaften:

  • Die Kurve liegt innerhalb der konvexen Hülle des Kontrollpolygons
  • Die Bernsteinpolynome vom Grad n summieren sich zu 1: ni=0Bni(t)=1
  • Die Kurve geht durch den ersten P0 und letzten Pn Kontrollpunkt
  • Die Tangente am Beginn und Ende der Kurve zeigt auf den zweiten und zweitletzten Kontrollpunkt

Beispiel kubische Bezierkurve, d.h. Grad n=3:

F(t)=3i=0(3i)ti(1t)3iPi=

=(1t)3P0+3t(1t)2P1+3t2(1t)P2+t3P3=
=(P0+3P13P2+P3)t3+(3P06P1+3P2)t2+(3P0+3P1)t+P0
t[0,1]

Wir erhalten nun einen bestimmten Punkt auf der Kurve, wenn wir den Parameter t auswerten, also in die Formel einsetzen.

t=0: F(t=0)=P0

t=0,5: F(t=0,5)=(0,5)3P0+30,5(0,5)2P1+30,52(0,5)P2+(0,5)3P3

t=1: F(t=1)=P3

Eine großartige Tutorialseite mit vielen interaktiven Beispielen bietet das Buch “A Primer on Bézier Curves” von Pomax: https://pomax.github.io/bezierinfo/

Parametrische Oberflächen | | De Casteljau

Options: