Bézierkromme

Bézierkromme met graad drie, bepaald door 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 meer dimensies bestaan ook bézier-oppervlakken met overeenkomstige eigenschappen.

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

Definitie

De béziercurve van graad n {\displaystyle n} , bepaald door de n + 1 {\displaystyle n+1} punten P 0 , , P n {\displaystyle P_{0},\ldots ,P_{n}} in de R 3 {\displaystyle \mathbb {R} ^{3}} , is de parametrische kromme gegeven door:

B ( t ) = i = 0 n b i , n ( t ) P i {\displaystyle B(t)=\sum _{i=0}^{n}b_{i,n}(t)P_{i}} met t [ 0 , 1 ] {\displaystyle t\in [0,1]}

Daarin zijn de b i , n {\displaystyle b_{i,n}} bernsteinpolynomen gedefinieerd als:

b i , n ( t ) = ( n i ) t i ( 1 t ) n i {\displaystyle b_{i,n}(t)={\tbinom {n}{i}}t^{i}(1-t)^{n-i}} met i = 0 , , n {\displaystyle i=0,\ldots ,n}

Voorbeelden

Lineaire bézierkromme
Kwadratische bézierkromme
Derdegraads bézierkromme
Vierdegraads bézierkromme

Lineaire bézierkromme

De bézierkromme van de graad een, bepaald door de twee punten P 0 {\displaystyle P_{0}} en P 1 , {\displaystyle P_{1},} is het verbindende lijnstuk tussen deze twee punten:

B ( t ) = ( 1 t ) P 0 + t P 1 {\displaystyle B(t)=(1-t)P_{0}+tP_{1}} met t [ 0 , 1 ] {\displaystyle t\in [0,1]}

Kwadratische bézierkromme

De bézierkromme van de graad twee, bepaald door de drie punten P 0 , P 1 {\displaystyle P_{0},P_{1}} en P 2 {\displaystyle P_{2}} , is de kromme:

B ( t ) = ( 1 t ) 2 P 0 + 2 t ( 1 t ) P 1 + t 2 P 2 {\displaystyle B(t)=(1-t)^{2}P_{0}+2t(1-t)P_{1}+t^{2}P_{2}} met t [ 0 , 1 ] {\displaystyle t\in [0,1]}

De kromme ligt in het vlak door de gegeven drie punten. De drie punten uitgedrukt in coödinaten in dit vlak zijn:

P 0 = ( x 0 , y 0 ) ,   P 1 = ( x 1 , y 1 ) ,   P 2 = ( x 2 , y 2 ) {\displaystyle P_{0}=(x_{0},y_{0}),\ P_{1}=(x_{1},y_{1}),\ P_{2}=(x_{2},y_{2})}

De vergelijking van de betreffende bézierkromme is uitgeschreven

( x x 0 ) 2 ( y 0 + y 2 2 y 1 ) 2   + {\displaystyle (x-x_{0})^{2}(y_{0}+y_{2}-2y_{1})^{2}\ +}
( y y 0 ) 2 ( x 0 + x 2 2 x 1 ) 2   {\displaystyle (y-y_{0})^{2}(x_{0}+x_{2}-2x_{1})^{2}\ -}
2 ( x x 0 ) ( y y 0 ) ( y 0 + y 2 2 y 1 ) ( x 0 + x 2 2 x 1 )   + {\displaystyle 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 ) ]   {\displaystyle 4[(x-x_{0})(y_{1}-y_{0})-(y-y_{0})(x_{1}-x_{0})]\ *}
[ ( x 1 x 0 ) ( y 0 + y 2 2 y 1 ) ( y 1 y 0 ) ( x 0 + x 2 2 x 1 ) ] {\displaystyle [(x_{1}-x_{0})(y_{0}+y_{2}-2y_{1})-(y_{1}-y_{0})(x_{0}+x_{2}-2x_{1})]}
= 0 {\displaystyle =0}

De kromme ligt ook in drie dimensies in het vlak door de gegeven drie punten, die zijn gegeven door P i = ( x i , y i , z i ) {\displaystyle P_{i}=(x_{i},y_{i},z_{i})} . De vergelijkingen voor de kromme kunnen ook daarvoor worden opgesteld, maar zijn nogal wijdlopig.

Derdegraads bézierkromme

De bézierkromme van graad drie, opgebouwd uit de vier punten P 0 ,   P 1 ,   P 2 {\displaystyle P_{0},\ P_{1},\ P_{2}} en P 3 {\displaystyle P_{3}} , die in een vlak of in de ruimte liggen, is:

B ( t ) = ( 1 t ) 3 P 0 + 3 t ( 1 t ) 2 P 1 + 3 t 2 ( 1 t ) P 2 + t 3 P 3 {\displaystyle B(t)=(1-t)^{3}P_{0}+3t(1-t)^{2}P_{1}+3t^{2}(1-t)P_{2}+t^{3}P_{3}} met t [ 0 , 1 ] {\displaystyle t\in [0,1]}

Algemene vorm

Definieer B P 0 P 1 P k {\displaystyle B_{P_{0}P_{1}\ldots P_{k}}} als de bézierkromme die door de punten P 0 ,   P 1 ,     ,   P k {\displaystyle P_{0},\ P_{1},\ \ldots \ ,\ P_{k}} is bepaald. Dan zijn

B P 0 ( t ) = P 0 {\displaystyle B_{P_{0}}(t)=P_{0}\quad } en
B ( t ) = B P 0 P 1 P n ( t ) = ( 1 t )   B P 0 P 1 P n 1 ( t ) + t B P 1 P 2 P n ( t ) {\displaystyle B(t)=B_{P_{0}P_{1}\ldots P_{n}}(t)=(1-t)\ B_{P_{0}P_{1}\ldots P_{n-1}}(t)+tB_{P_{1}P_{2}\ldots P_{n}}(t)}

Hiermee zijn de bézierskrommes op een recursieve manier gedefinieerd, die door een willekeurig aantal punten zijn bepaald.

Toepassingen

Derdegraads bézierkrommen worden veel gebruikt. Zij verbinden het beginpunt P 0 ,   P 1 ,   P 2 {\displaystyle P_{0},\ P_{1},\ P_{2}} en eindpunt P 3 {\displaystyle P_{3}} en kunnen door de keuze van de tussengelegen punten P 1 {\displaystyle P_{1}} en P 2 {\displaystyle P_{2}} zo met de gewenste begin- en eindrichting worden aangepast, zodat de kromme ook nog door een gewenst punt gaat.

Praktisch worden ze gebruikt:

  • voor afbeeldingen in grafisch programma's om gladde krommen te tekenen
  • in TrueType-lettertypes, die worden met eenvoudige kwadratische bézierkrommes geschreven
  • voor digitale animatie om een zo natuurlijk mogelijke beweging te simuleren
Mediabestanden
Zie de categorie Bezier Curves van Wikimedia Commons voor mediabestanden over dit onderwerp.