Bézierkromme

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Een Bézierkromme met graad 3 (vier punten)

Een Bézierkromme (of Béziercurve) is in de wiskunde een type parametrische kromme, bepaald door twee of meer punten in een vlak of ruimte, die het eerste punt verbindt met het laatste, vertrekkend in de richting van het tweede punt, steeds de richting aanpassend naar een volgend punt, en aankomend bij het laatste vanuit de richting van het voorafgaande punt. De parametrische voorstelling wordt gegeven door het algoritme van Paul de Casteljau. In hogere dimensies bestaan ook Bézier-oppervlakken met overeenkomstige eigenschappen.

Geschiedenis[bewerken]

Pierre Bézier was een Franse ingenieur die deze krommen in de automobielindustrie (Renault) gebruikte.

Definitie[bewerken]

De Béziercurve van graad n, bepaald door de n+1 punten P0, ...,Pn in \R^3, is de parametrische kromme B(t), gegeven door:

B(t)= \sum_{i=0}^n b_{i,n}(t)P_i \mbox{ , } t \in [0,1],

waarin bi,n zgn. Bernsteinpolynomen zijn, gedefinieerd als:

b_{i,n}(t)= {n \choose i} t^i (1-t)^{n-i} \mbox{ , } i=0,\ldots n.

Voorbeelden[bewerken]

Linear v2
Quadratic v2
Cubic v2
Quartic v2

Lineaire Bézierkromme[bewerken]

De Bézierkromme van graad 1, opgebouwd uit twee punten P0 en P1, is niets anders dan de verbindende rechte lijn tussen deze twee punten:

B(t)=(1-t)P_0 + tP_1 \mbox{ , } t \in [0,1].

Gesloten vorm voor 2D geeft met  P_0=(x_0,y_0,z_0) en  P_1=(x_1,y_1,z_1):


(x-x_0)(y_1-y_0)-(y-y_0)(x_1-x_0)=0

(y-y_0)(z_1-z_0)-(z-z_0)(y_1-y_0)=0

(z-z_0)(x_1-x_0)-(x-x_0)(z_1-z_0)=0

Twee van de 3 vergelijkingen zijn nodig om de curve te beschrijven. In 2 dimensies houden we 1 van deze 3 vergelijkingen over.

Kwadratische Bézierkromme[bewerken]

De Bézierkromme van graad 2, opgebouwd uit de drie punten P0, P1 en P2:

B(t) = (1 - t)^{2}P_0 + 2t(1 - t)P_1 + t^{2}P_2 \mbox{ , } t \in [0,1].

Gesloten vorm in 2D:

P_0=(x_0,y_0) etc.

 (x-x_0)^2(y_0+y_2-2y_1)^2+
 (y-y_0)^2(x_0+x_2-2x_1)^2
 -2(x-x_0)(y-y_0)(y_0+y_2-2y_1)(x_0+x_2-2x_1)+
 4[(x-x_0)(y_1-y_0)-(y-y_0)(x_1-x_0)][(x_1-x_0)(y_0+y_2-2y_1)-(y_1-y_0)(x_0+x_2-2x_1)]
 =0

In 3D hebben we P_0=(x_0,y_0,z_0) etc. Dit kan niet gereduceerd worden tot 1 enkele vergelijking. In plaats daarvan hebben we naast de bovenstaande nog een van de twee volgende vergelijkingen nodig:


 (x-x_0)^2(z_0+z_2-2z_1)^2+
 (z-z_0)^2(x_0+x_2-2x_1)^2
 -2(x-x_0)(z-z_0)(z_0+z_2-2z_1)(x_0+x_2-2x_1)+
 4[(x-x_0)(z_1-z_0)-(z-z_0)(x_1-x_0)][(x_1-x_0)(z_0+z_2-2z_1)-(z_1-z_0)(x_0+x_2-2x_1)]
 =0

 (y-y_0)^2(z_0+z_2-2z_1)^2+
 (z-z_0)^2(y_0+y_2-2y_1)^2
 -2(y-y_0)(z-z_0)(z_0+z_2-2z_1)(y_0+y_2-2y_1)+
 4[(y-y_0)(z_1-z_0)-(z-z_0)(y_1-y_0)][(y_1-y_0)(z_0+z_2-2z_1)-(z_1-z_0)(y_0+y_2-2y_1)]
 =0

Derdegraads Bézierkromme[bewerken]

De Bézierkromme van graad 3, opgebouwd uit de vier punten (in een vlak, of in de ruimte) P0, P1, P2 en P3, is:

B(t)=(1-t)^3P_0 + 3t(1-t)^2P_1+ 3t^2(1-t)P_2+t^3P_3 \mbox{ , } t \in [0,1].

Toepassingen[bewerken]

Derdegraads Bézierkrommen worden veel gebruikt. Zij verbinden het beginpunt P0 met het eindpunt P3 en kunnen door de keuze van de tussengelegen punten P1 en P2 zo aangepast worden dat de gewenste begin- en eindrichting verkregen wordt, en de kromme ook nog door een gewenst punt gaat.

Praktisch worden ze gebruikt:

  • voor afbeeldingen, om gladde krommen te tekenen;
  • voor lettertypes: TrueType-lettertypes gebruiken eenvoudige kwadratische Bézierkrommes
  • voor digitale animatie (CGI), om een zo natuurlijk mogelijke beweging te simuleren.