Outils pour utilisateurs

Outils du site


nsi:tds:maths:splines:start

Splines

On rencontre des B-splines dans de très nombreux domaines. Les polices de caractères, les jeux vidéos, la modélisation physique… Pour un panorama, je vous recommande cette vidéo [un peu plus d'une heure en anglais].

Le mot

c'est un mot anglais que l'on utilise en français en prononçant généralement le i à la française [splin].

Il correspond à une réglette de bois souple appelée cerce en français bien que ce terme ne soit jamais utilisé.

L'idée est justement de former un morceau de courbe, à peu près arrondie, contrôlée par des points, comme si on forçait la baguette de bois à se tordre pour passer par certains points d'attache.

Courbe

Une spline est une courbe qui va être, d'une certaine façon contrôlée par des points. Dans le cas le plus simple, la courbe passe par ces points. Mais des points hors courbe peuvent être ajoutés pour ajuster plus finement la forme de la courbe.

La courbe est en fait une succession de morceaux de courbes joints bout à bout. L'expression est polynomiale, de degré 1 pour les plus simples et souvent de degré 3.

À gauche par exemple, une courbe formée d'une succession de segments. Chaque segment est un morceau de droite, donc a une expression affine, de degré 1. C'est le cas le plus simple mais on comprend qu'il n'est pas pleinement satisfaisant.

Exemple des courbes de Bézier

Wikipedia Les courbes de Bézier sont des courbes polynomiales paramétriques développées pour concevoir des pièces de carrosserie d'automobiles. Elles ont été conçues par Paul de Casteljau en 1959 pour Citroën et, indépendamment, par Pierre Bézier en 1962 pour Renault (les travaux de Paul de Casteljau étant confidentiels, c'est le nom de Bézier qui est passé à la postérité). Elles ont de nombreuses applications dans la synthèse d'images et le rendu de polices de caractères. Elles ont donné naissance à de nombreux autres objets mathématiques.

Il existait avant Bézier des courbes d'ajustement nommées splines, mais dont le défaut était de changer d'aspect lors d'une rotation de repère. Les splines conformes aux principes de Bézier seront par la suite nommées B-splines

Dans cet exemple, le morceau de courbe est déterminé par 4 points $P_0$, $P_1$, $P_2$ et $P_3$. Mais seuls $P_0$ et $P_3$ sont sur la courbe. $P1$ et $P_2$ sont des points de contrôle permettant d'ajuster les tangentes. C'est ce genre de courbe que l'on a dans les logiciels de dessin comme inkscape ou gimp ou même pour les dessins dans word.

Le détail du calcul est donné sur cette page.

Des critères de choix

Les choix faits par Bézier sont assez simples pour permettre une large utilisation. Mais il existe à présent beaucoup de splines différentes et on pour choisir on aura quelques critères selon l'application.

  • Souhaite-t-on que la spline passe par tous les points ? Ce n'est pas le cas de la courbe de Bézier à cause des points de contrôle.
  • Souhaite-t-on que la tangente soit continue ? Sur la courbe de Bézier, d'un morceau à l'autre, la tangente peut changer brusquement ce qui se traduit par la présence de coins saillants. Si par exemple on fait une animation, la tangente représente la vitesse et on ne veut pas de variations trop brusques.
  • On pourrait ajouter des critères sur la courbure.

Une spline de degré 3 est assez souple pour satisfaire les critères les plus courants. On peut bien sûr passer à l'ordre supérieur mais le surcroit de calcul n'est pas forcément payé par un surcroit équivalent de qualité.

nsi/tds/maths/splines/start.txt · Dernière modification : de goupillwiki