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é minimal (le polynôme doit avoir au minimum quatre degrés de liberté et être donc de degré 3) interpolant une fonction en deux points avec ses tangentes .
Construction
Calcul sur l'intervalle unité
Chaque polynôme
P
i
(
x
)
{\displaystyle P_{i}(x)}
se trouve sous la forme suivante :
Les quatre polynômes de base
P
i
∈ ∈ -->
V
e
c
t
{
h
00
,
h
10
,
h
01
,
h
11
}
{\displaystyle P_{i}\in Vect\{h_{00},h_{10},h_{01},h_{11}\}\,}
avec
h
00
(
t
)
=
2
t
3
− − -->
3
t
2
+
1
{\displaystyle h_{00}(t)=2t^{3}-3t^{2}+1\,\!}
h
10
(
t
)
=
t
3
− − -->
2
t
2
+
t
{\displaystyle h_{10}(t)=t^{3}-2t^{2}+t\,\!}
h
01
(
t
)
=
− − -->
2
t
3
+
3
t
2
{\displaystyle h_{01}(t)=-2t^{3}+3t^{2}\,\!}
h
11
(
t
)
=
t
3
− − -->
t
2
{\displaystyle 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
.
{\displaystyle 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
et
p
′
(
1
)
=
m
1
.
{\displaystyle 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
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
{\displaystyle 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
)
.
{\displaystyle p(t)=h_{00}(t)p_{0}+h_{10}(t)m_{0}\cdot (x_{1}-x_{0})+h_{01}(t)p_{1}+h_{11}(t)m_{1}\cdot (x_{1}-x_{0}).\!}
et
P
(
x
)
=
p
(
x
− − -->
x
0
x
1
− − -->
x
0
)
{\displaystyle P(x)=p\left({\frac {x-x_{0}}{x_{1}-x_{0}}}\right)}
alors :
P
(
x
0
)
=
p
(
x
0
− − -->
x
0
x
1
− − -->
x
0
)
=
p
(
0
)
=
p
0
,
P
(
x
1
)
=
p
(
x
1
− − -->
x
0
x
1
− − -->
x
0
)
=
p
(
1
)
=
p
1
{\displaystyle 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
)
=
1
x
1
− − -->
x
0
p
′
(
x
− − -->
x
0
x
1
− − -->
x
0
)
{\displaystyle P'(x)={\frac {1}{x_{1}-x_{0}}}p'\left({\frac {x-x_{0}}{x_{1}-x_{0}}}\right)}
d'où
P
′
(
x
0
)
=
1
x
1
− − -->
x
0
p
′
(
x
0
− − -->
x
0
x
1
− − -->
x
0
)
=
1
x
1
− − -->
x
0
p
′
(
0
)
=
m
0
(
x
1
− − -->
x
0
)
⋅ ⋅ -->
1
x
1
− − -->
x
0
=
m
0
,
{\displaystyle 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
)
=
1
x
1
− − -->
x
0
p
′
(
x
1
− − -->
x
0
x
1
− − -->
x
0
)
=
1
x
1
− − -->
x
0
p
′
(
1
)
=
m
1
(
x
1
− − -->
x
0
)
⋅ ⋅ -->
1
x
1
− − -->
x
0
=
m
1
.
{\displaystyle 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