|
||||||||||||
Fermer
Théorie des Courbes de Bézier
SPlines et B-SplinesUne Spline de type régulier est une ligne courbe passant par 3 points. Il s'agit d'une parablole. Trois points suffisent car par 3 points (A, B, C) il ne passe qu'une parabole. La fonction f(x) ci dessous est une d'équation paramétrique du decond degré (degré 2) représentant une parabole, où t est le paramètre (figure 1)
Les Splines sont très pratiques pour tracer des lignes arrondies passant
par 2 points ( voir figures 2 et 3). En cliquant sur les points ou sur la
courbe on peut les déformer en consevant une allure arrondie
(lissée). Mais les Splines sont limitées dans leurs
possibilités: En conséquence, on utilise plutôt des B-Splines, qui sont des courbes de Bézier. Elles n'ont pas ces inconvénients. Pour obtenir plus de possibilités, on passe donc naturellement au degré supérieur (courbes de degré 3). Ce sont donc des cubiques que les américains nomment B-Splines. Interpolation linéaireL'interpolation linéaire consite à calculer un point intermédiaire entre deux points donnés, en fonction d'un coefficient réel. La figure ci-dessous montre le point c intermédiaire calculé entre a et b avec un coefficient de 0,25. Avec un coefficient de 0,5 le point c serait au milieu du segment (a, b).
Construction de de Casteljau
Les points P0 et P3 sont les extrémités de la courbe de
Bézier. P1 et P2 sont les points de contrôle. Leur position
angulaire et leur éloignement(poids) par rapport à P0 et P3
déterminent l'apparence de la courbe. Exemples de construction de de Casteljau pour 4 points P0 P1 P2 P3 , avec t = 0.5 et t = 0.25
Le programme de démonstration Pcastel.exe montre la construction de de Casteljau. Cochez la case Construction de de Casteljau, cliquez sur le curseur de règlage, et faites le varier. Les touches flèchées permettent une variation plus régulière.
Equations de BézierLes équations de Bézier utilisent 4 points: deux points de la courbe P0 et P3 et deux points de contrôle P1 ("à droite" de P0) et P2 ("à gauche" de P3). Les équations de Bézier sont des équations paramétriques (t), symétriques en x et y, et d'ordre 3 (troisième degré). Bx(t) = (1-t)^3*P1x + 3*(1-t)^2*t*PC1x + 3*(1-t)*t^2 PC2x + t^3*P2x By(t) = (1-t)^3*P1y + 3*(1-t)^2*t*PC1y + 3*(1-t)*t^2 PC2y + t^3*P2y Le paramètre t (qui varie entre 0.0 à 1.0) sert à découper l'intervalle P0, P3 selon la précision voulue pour le résultat, par exemple on peut prendre 16 intervalles, ou calculer cet intervalle en fonction de la dimension de la portion de courbe à dessiner.
Si t = 0 on a comme résultat B.x = P0.x et By= P0.y Polybezier
Jusqu'ici, nous avons utilisé une courbe simple, avec un point de
départ et un point d'arrivée. Nous pouvons maintenant traiter
les courbes de Bézier passant par plusieurs points, que nous nommerons
Polybézier pour reprendre le vocabulaire Windows. Si nous avons NB1
points par lesquels la courbe doit passer, il nous faudra NB2 = NB1 x 3 +
1 points au total, puisqu'entre chaque point P de la courbe nous construirons
2 points de contrôle. BB := array[0..NB] of Tpoints; On peut aussi dire qu'un point P de la courbe, non situé à une extrémité, sera précédé dans le tableau de son point de contrôle "à gauche" , et suvi de son point de contrôle "à droite" .
|