Spline
Dans le domaine mathématique de l'analyse numérique, une spline est une fonction définie par morceaux par des polynômes.
Dans les problèmes d'interpolation, la méthode des splines est souvent préférée à l'interpolation polynomiale, car on obtient des résultats similaires en se servant de polynômes ayant des degrés inférieurs, tout en évitant le phénomène de Runge.
Dans le domaine du design, en construction automobile par exemple, les splines sont utilisées pour approcher des contours complexes. Leur simplicité d'implémentation les rend très populaires et elles sont fréquemment utilisées dans les logiciels de dessin.
Sommaire |
Définition[modifier]
Une courbe spline est une fonction polynomiale par morceaux définie sur un intervalle [a,b] divisé en sous intervalles
tels que :
:
on la note donc
.
Sur chaque intervalle
on définit un polynôme
,
Cela nous donne, pour une spline à k intervalles :
Degré[modifier]
Le degré de la spline est défini comme étant celui du polynôme
de plus haut degré. Si tous les polynômes ont le même degré, on dit que la spline est uniforme. Dans le cas contraire, elle est non uniforme.
Continuité[modifier]
Sachant que la continuité d'un polynôme est infinie, la continuité d'une spline dépend de la continuité au niveau de la jointure des courbes polynômes.
Si pour tout i
et pour tout j tel que
l'égalité suivante est vérifiée :
.
Alors la spline est de continuité n, notée 
Exemples[modifier]
Ligne polygonale[modifier]
La fonction spline la plus simple est de degré 1, ce qui correspond à une ligne polygonale, couramment appelé ligne brisée.
Graphiquement, ce seront des segments qui relieront chaque point
.
La continuité d'une telle spline sera
sauf dans le cas particulier ou tous les points sont alignés.
Splines cubiques[modifier]
Le cas le plus courant des splines est la spline cubique. Elle est uniforme et définie par des polynômes de degré 3.
Un polynôme de degré 3 s'écrivant
,
il nécessite 4 contraintes (a,b,c,d) pour être défini.
Ces 4 contraintes par intervalle vont nous permettre d'interpoler des courbes splines passant par un ensemble de points donnés, dans différents cas :
Soit un ensemble de points
que nous souhaitons interpoler par une spline cubique. Nous définissons un paramètre
associé à chaque point
, qui seront les valeurs pour lesquelles
. De là, nous avons de multiples manières d'interpoler
Interpolation avec les tangentes[modifier]
Nous connaissons les tangentes
associées à chaque point
.
Nous pouvons donc écrire que, pour chaque polynôme
, nous avons :
Ces quatre contraintes par intervalle permettent de calculer chaque polynôme et donc de définir complètement la spline.
La continuité d'une telle spline sera donc 
Interpolation avec méthode de Catmull–Rom[modifier]
Cette fois ci, nous n'avons pas les tangentes, nous devons en calculer. La méthode de Catmull-Rom va permettre de calculer des tangentes pour tous les points internes (sauf les extrémités)
Soit 
Une bonne valeur pour c est 0.5, mais ce paramètre peut être modifié pour avoir d'autres formes de splines.
Graphiquement, la tangente en un point sera un vecteur parallèle au segment formé par ses points voisins, de la moitié de leur longueur.
Pour tous les intervalles internes, nous retombons sur le cas précédent, et pouvons calculer les polynômes.
Pour les intervalles du bord, il nous manque une contrainte.
Voici trois méthodes pour lever la contrainte :
Spline circulaire[modifier]
Dans le cas d'une spline circulaire, c'est-à-dire qu'on attend une courbe fermée, avec
, le problème n'existera pas, puisque plus aucun intervalle ne sera sur un bord. Chacun aura un intervalle voisin précédent, et suivant. On pourra alors appliquer la même règle pour calculer la tangente que sur tous les autres intervalles.
Spline serrée[modifier]
Dite "clamped" en anglais, nous considérons que les tangentes extrêmes sont directement données.
Graphiquement, on donne la vitesse et la direction de la spline au début, et à la fin.
Spline naturelle[modifier]
On dit qu'une spline est naturelle si son accélération à ses points extrémités est nulle.
Dans ce cas, on a
et
.
Ces contraintes permettent de calculer les polynômes des bords.
Interpolation en courbure[modifier]
Jusqu'à présent, les interpolations que nous avons vu assuraient une continuité
Reprenons le cas ou nous n'avons pas les tangentes. L'interpolation en courbure pose comme contrainte que l'on souhaite une continuité 
Ainsi, les contraintes pour un polynôme deviennent les suivantes :
Calculer les polynômes va demander une mise en système globale, et ne pourra plus se faire intervalle par intervalle comme les méthodes vues au-dessus.
Pour les points extrémités, nous pourrons envisager, comme au-dessus, les cas de splines circulaires, serrées, ou naturelles.
Étymologie[modifier]
Pierre Bézier, dans Courbes et surfaces pour la CFAO, Techniques de l'ingénieur, Mathématiques pour l'ingénieur, précise
« Le mot anglais spline a malencontreusement prévalu, alors qu'il se traduit en français par les substantifs latte ou baguette. »
The Oxford English Dictionnary 1989 donne les définitions suivantes pour le mot spline:
« a long narrow, and relatively thin piece or strip of wood, metal, etc.; a slat. A flexible strip of wood or hard rubber used by draftsmen in laying out broad sweeping curves, especially in railroad work. »
Les menuisiers, charpentiers et autres escaliéteurs auront reconnu la cerce, latte souple en bois bien de fil qui sert à tracer les courbes quelconques (Courbes harmonieuses passant par un certain nombre de points mais ne pouvant être tracées à l'aide du compas).
Le curvigraphe est aussi un synonyme d'un tel pistolet de dessin souple.
Prononciation[modifier]
Spline est un mot anglais qui se prononce [splajn], ce qui le distingue de spleen [spli:n].
Notes[modifier]
Voir aussi[modifier]
Liens internes[modifier]
Liens externes[modifier]
- (en) Spline Curve
Références[modifier]
- (fr) Modèles de Bézier, des B-splines et des NURBS, G Demengel, JP Pouget, éditions ellipses (Approche pédagogique pour dévoiler la boîte noire de ces modèles utilisés en CAO pour la modélisation des courbes et des surfaces.)
- (fr) 'Systèmes De Cfao', 'Études En Cfao Cao Mecanique ', 'Éléments De Cao Volume 1 Materiels Et Logiciels De Base', 'Cao Mécanique', 'Systèmes De C.F.A.O. : Conception Et Fabrication Assistées Par Ordinateur : - Introduction Dans L'entreprise, Méthode De Réalisation ', 'La Cfao - Introduction, Techniques Et Mises En Œuvre, 3e Édition Revue Et Corrigée ', 'La Cfao ', Yvon Gardan, Livre, édition Hermes, (modèles CSG, Spline, B-REP, modeleur paramétrique ou variationnel, etc.)
:
,


.
