AnalyseNotion · Glossaire
B-Spline
Une B-Spline est une courbe paramétrée polynomiale par morceaux, déterminée par des points de contrôle, un degré et une suite non décroissante de nœuds. Elle combine ces points par des fonctions de base à support limité : déplacer un point ne modifie qu’une portion de la courbe, ce qui facilite les retouches en CAO et en infographie.
Sommaire
Ce que vous allez apprendre
- Identifier le rôle des points de contrôle, du degré et des nœuds.
- Recalculer trois points d'une B-Spline quadratique.
- Relier multiplicité d'un nœud et continuité garantie.
- Distinguer une B-Spline d'une courbe de Bézier unique.
En clair
Imaginez une latte souple guidée par quelques repères. La courbe est influencée par ces points de contrôle sans devoir les traverser. Elle se compose d'un ou de plusieurs arcs polynomiaux, dont les raccordements sont généralement réguliers, sous réserve de la multiplicité des nœuds.
Le grand avantage est local : déplacer un repère ne déforme qu'une partie de la ligne. On peut donc retoucher un profil en CAO ou une forme en infographie sans reconstruire toute la courbe.
Définition
Une courbe B-Spline polynomiale est déterminée par des points de contrôle, un degré et une suite non décroissante de nombres appelée vecteur de nœuds. Les nœuds découpent le domaine du paramètre en intervalles. Sur chaque intervalle non vide, la courbe est un arc polynomial du degré choisi ; cet arc peut aussi être écrit sous forme de Bézier.
Le paramètre est noté u, les points de contrôle sont notés Pi, le degré est noté p et les fonctions de base associées aux nœuds sont notées Ni,p. La courbe C est la combinaison pondérée suivante :
Les fonctions de base sont positives ou nulles et leur somme vaut 1 sur le domaine usuel de la courbe. Chacune est nulle hors d'un nombre limité d'intervalles : modifier Pi n'agit donc que là où Ni,p est non nulle. À un nœud intérieur simple, une B-Spline de degré p possède au moins une continuité d'ordre p − 1. Répéter ce nœud diminue la continuité garantie à la jonction.
Un exemple, pas à pas
Construisons une B-Spline quadratique plane. Les données sont : le degré p = 2 ; les points P0 = (0 ; 0), P1 = (1 ; 2), P2 = (3 ; 2) et P3 = (4 ; 0) ; le vecteur de nœuds (0, 0, 0, 1, 2, 2, 2).
1. Pour un paramètre 0 < u < 1, les trois fonctions de base non nulles, associées à P0, P1 et P2, valent respectivement (1 − u)2, 2u − 1,5u2 et 0,5u2. Le poids associé à P3 vaut 0, et la somme des quatre poids vaut bien 1.
2. En remplaçant u par 0,5, les poids de P0, P1, P2 et P3 sont 0,25 ; 0,625 ; 0,125 ; 0. Le point obtenu est :
3. Pour u = 1, les poids de P0, P1, P2 et P3 sont 0 ; 0,5 ; 0,5 ; 0 : ainsi C(1) = 0,5P1 + 0,5P2 = (2 ; 2). Pour u = 1,5, ils sont 0 ; 0,125 ; 0,625 ; 0,25 : ainsi C(1,5) = 0,125P1 + 0,625P2 + 0,25P3 = (3 ; 1,5). La symétrie des trois résultats contrôle le calcul, puisque les points de contrôle et les nœuds sont eux-mêmes symétriques.
La figure associe le polygone de contrôle aux points calculés. Elle montre que la courbe est guidée par P0, P1, P2 et P3, sans passer nécessairement par chacun d'eux.
En pratique
En CAO, le concepteur place des points de contrôle autour du profil recherché, puis déplace celui qui gouverne la zone à corriger. Le reste du profil demeure inchangé hors du support de la fonction de base correspondante.
En infographie, le même geste sert à lisser ou retoucher une longue forme composée de plusieurs arcs. Les nœuds permettent de répartir ces arcs et de régler leur raccordement.
Pour un arc unique, une courbe de Bézier peut suffire. Une B-Spline devient préférable lorsque la forme comporte plusieurs portions et que les retouches doivent rester locales.
À ne pas confondre
Une B-Spline ne se confond pas avec une courbe de Bézier unique. Une Bézier est un seul arc polynomial gouverné par tous ses points de contrôle. Une B-Spline est constituée d'un ou de plusieurs arcs polynomiaux selon son vecteur de nœuds : si le déplacement d'un point doit laisser intacte une portion éloignée, le contrôle local de la B-Spline fournit le critère qui tranche.
Limites et pièges
Les points de contrôle ne sont pas, en général, des points d'interpolation. Si une courbe attendue doit traverser une position donnée, placer simplement un point de contrôle à cette position ne suffit pas ; il faut imposer la condition d'interpolation dans la construction.
La continuité dépend de la multiplicité des nœuds. Pour un degré p et un nœud intérieur de multiplicité m au plus égale à p, la continuité garantie est d'ordre p − m. Une multiplicité égale à p ne garantit donc que la continuité de la position, pas celle de la tangente.
Le paramètre u ne mesure pas automatiquement une longueur parcourue. Des pas égaux de u peuvent produire des distances différentes sur la courbe ; pour avancer à vitesse géométrique constante, il faut utiliser une paramétrisation adaptée à la longueur d'arc.
Pour aller plus loin
La courbe de Bézier permet d'étudier l'arc polynomial qui constitue chaque portion d'une B-Spline et le rôle géométrique de ses points de contrôle.
Explorez les mathématiques autrement
Retrouvez nos magazines, podcasts et jeux pour explorer les mathématiques autrement.
Découvrir les offres
