Considérons une courbe de Bézier définie par les points de contrôles
Comme on peut le voir sur l'image, en calculant les barycentres de paramètres {t,1 − t} des points de contrôle consécutifs de la courbe, puis les barycentres de même paramètres de ces barycentres et ainsi de suite itérativement, on définit de cette manière une suite de listes de points que l'on va indexer
En pseudo-code, ceci donne:
// Calcul des points intermédiaires Pour j de 1 à N faire | | Pour i de 0 à N-j faire | | | | T[i][j] = t*T[i+1][j-1] + (1-t)*T[i][j-1] | | | Afficher T[0][N] // Afficher (ou stocker) le point
Pour démontrer l'algorithme, il faut prouver par récurrence limitée que
Et d'appliquer la formule en i = n, ce qui nous donne le résultat directement.
La récurrence se démontre facilement en utilisant la propriété de construction des points
L'exécution d'une étape de l'algorithme est quadratique en nombre de points de contrôle de la courbe (la boucle imbriquée donne lieu à
Une surface de Bézier est définie par une double somme de points:
Le principe de l'algorithme est de réécrire la formule sous la forme:
et en renommant
En remarquant que les Qi(t2) sont des points de courbes de Bézier, le principe de l'algortithme arrive. A chaque itération de l'algorithme