Spline cubique d'Hermite

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

On appelle spline cubique d'Hermite une spline de degré trois, nommée ainsi en hommage à Charles Hermite, permettant de construire un polynôme de degré le plus bas possible (le polynôme doit avoir au minimum 4 degrés de liberté et être donc de degré 3) interpolant une fonction en deux points avec ses tangentes.

Construction[modifier | modifier le code]

Calcul sur l'intervalle unité[modifier | modifier le code]

Chaque polynôme P_i(x) se trouve sous la forme suivante :

Les quatre polynômes de base
P_i \in Vect\{h_{00}, h_{10}, h_{01}, h_{11}\}\,

avec

h_{00}(t) = 2t^3-3t^2+1 \,\!
h_{10}(t) = t^3-2t^2+t \,\!
h_{01}(t) = -2t^3+3t^2 \,\!
h_{11}(t) = t^3-t^2   \,\!

ce qui donne le polynôme suivant :

p(t) = h_{00}(t)p_0 + h_{10}(t)m_0 + h_{01}(t)p_1 + h_{11}(t)m_1.

Sous cette écriture, il est possible de voir que le polynôme p vérifie :

p(0)=p_0, \, p(1)=p_1, \, p'(0)=m_0 \text{ et }p'(1)=m_1.

La courbe est déterminée par la position des points et des tangentes.

Extension à un intervalle quelconque[modifier | modifier le code]

Pour trouver le polynôme tel que :  P(x_0)=p_0 \;,\; P(x_1)=p_1 \;,\; P'(x_0)=m_0 \;,\; P'(x_1)=m_1  il faut poser :

P(t) = h_{00}(t)p_0 + h_{10}(t)m_0 .  (x_1-x_0) + h_{01}(t)p_1 + h_{11}(t)m_1 .(x_1-x_0).\!

et

 P(t)=p(\frac{t-x_0}{x_1-x_0})

alors :

  P(x_0)=p\left(\frac{x_0-x_0}{x_1-x_0}\right)=p(0)=p_0,\ P(x_1)=p\left(\frac{x_1-x_0}{x_1-x_0}\right)=p(1)=p_1
  P'(x)=\frac{1}{x_1-x_0}p'\left(\frac{x-x_0}{x_1-x_0}\right)

d'où

  P'(x_0)=\frac{1}{x_1-x_0}p'\left(\frac{x_0-x_0}{x_1-x_0}\right)=\frac{1}{x_1-x_0}p'(0)=m_0(x_1-x_0) \cdot \frac{1}{x_1-x_0}=m_0,\, P'(x_1)=\frac{1}{x_1-x_0}p'\left(\frac{x_1-x_0}{x_1-x_0}\right)=\frac{1}{x_1-x_0}p'(1)=m_1(x_1-x_0)\cdot\frac{1}{x_1-x_0}=m_1

Voir aussi[modifier | modifier le code]