Introduction
给定曲线的两个端点的位置矢量 ( P ( 0 ) P(0) P(0), P ( 1 ) P(1) P(1) )和切线矢量( P ′ ( 0 ) P'(0) P′(0), P ′ ( 1 ) P'(1) P′(1) )来描述曲线:
![](https://i-blog.csdnimg.cn/blog_migrate/fcb5819821eac2dcc2cf3b7eab9a18d9.png)
Proof
设方程为:
P
(
t
)
=
a
t
3
+
b
t
2
+
c
t
+
d
(0)
P(t) = at^{3} + bt^{2} + ct +d \tag{0}
P(t)=at3+bt2+ct+d(0)
则:
P
′
(
t
)
=
3
a
t
2
+
2
b
t
+
c
(1)
P'(t) = 3at^{2} + 2bt + c \tag{1}
P′(t)=3at2+2bt+c(1)
则可得:
{
P
(
0
)
=
d
P
(
1
)
=
a
+
b
+
c
+
d
P
′
(
0
)
=
c
P
(
1
)
=
3
a
+
2
b
+
c
(2)
\begin{cases} & P(0) = d \\ & P(1) = a + b + c + d \\ & P'(0) = c \\ & P(1) = 3a + 2b + c \end{cases} \tag{2}
⎩⎪⎪⎪⎨⎪⎪⎪⎧P(0)=dP(1)=a+b+c+dP′(0)=cP(1)=3a+2b+c(2)
令:
h
0
=
P
(
0
)
h
1
=
P
(
1
)
h
2
=
P
′
(
0
)
h
3
=
P
′
(
1
)
(3)
h_{0} = P(0) \\ h_{1} = P(1) \\ h_{2} = P'(0) \\ h_{3} = P'(1) \tag{3}
h0=P(0)h1=P(1)h2=P′(0)h3=P′(1)(3)
则有:
[
h
0
h
1
h
2
h
3
]
=
[
0
0
0
1
1
1
1
1
0
0
1
0
3
2
1
0
]
[
a
b
c
d
]
(4)
\left[ \begin{matrix} h_{0} \\ h_{1} \\ h_{2} \\ h_{3} \end{matrix} \right]= \left[ \begin{matrix} 0 & 0 & 0 & 1 \\ 1 & 1 & 1 & 1 \\ 0 & 0 & 1 & 0 \\ 3 & 2 & 1 & 0 \end{matrix} \right] \left[ \begin{matrix} a \\ b \\ c \\ d \end{matrix} \right] \tag{4}
⎣⎢⎢⎡h0h1h2h3⎦⎥⎥⎤=⎣⎢⎢⎡0103010201111100⎦⎥⎥⎤⎣⎢⎢⎡abcd⎦⎥⎥⎤(4)
⇒
[
a
b
c
d
]
=
[
h
0
h
1
h
2
h
3
]
[
2
−
2
1
1
−
3
3
−
2
−
1
0
0
1
0
1
0
0
0
]
(5)
\Rightarrow \left[ \begin{matrix} a \\ b \\ c \\ d \end{matrix} \right]= \left[ \begin{matrix} h_{0} \\ h_{1} \\ h_{2} \\ h_{3} \end{matrix} \right] \left[ \begin{matrix} 2 & -2 & 1 & 1 \\ -3 & 3 & -2 & -1 \\ 0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 \end{matrix} \right] \tag{5}
⇒⎣⎢⎢⎡abcd⎦⎥⎥⎤=⎣⎢⎢⎡h0h1h2h3⎦⎥⎥⎤⎣⎢⎢⎡2−301−23001−2101−100⎦⎥⎥⎤(5)
又:
P
(
t
)
=
[
a
b
c
d
]
[
t
3
t
2
t
1
]
(6)
P(t) = \left[ \begin{matrix} a & b & c & d \end{matrix} \right] \left[ \begin{matrix} t^{3} \\ t^{2} \\ t \\ 1 \end{matrix} \right] \tag{6}
P(t)=[abcd]⎣⎢⎢⎡t3t2t1⎦⎥⎥⎤(6)
则由 (4) (5) (6) 可得:
P
(
t
)
=
[
a
b
c
d
]
[
0
1
0
3
0
1
0
2
0
1
1
1
1
1
0
0
]
[
2
−
3
0
1
−
2
3
0
0
1
−
2
1
0
1
−
1
0
0
]
[
t
3
t
2
t
1
]
(7)
P(t) = \left[ \begin{matrix} a & b & c & d \end{matrix} \right] \left[ \begin{matrix} 0 & 1 & 0 & 3 \\ 0 & 1 & 0 & 2 \\ 0 & 1 & 1 & 1 \\ 1 & 1 & 0 & 0 \end{matrix} \right] \left[ \begin{matrix} 2 & -3 & 0 & 1 \\ -2 & 3 & 0 & 0 \\ 1 & -2 & 1 & 0 \\ 1 & -1 & 0 & 0 \end{matrix} \right] \left[ \begin{matrix} t^{3} \\ t^{2} \\ t \\ 1 \end{matrix} \right] \tag{7}
P(t)=[abcd]⎣⎢⎢⎡0001111100103210⎦⎥⎥⎤⎣⎢⎢⎡2−211−33−2−100101000⎦⎥⎥⎤⎣⎢⎢⎡t3t2t1⎦⎥⎥⎤(7)
其中,中间两个矩阵互为逆矩阵,乘积为单位矩阵。又由 (5) 可得:
P
(
t
)
=
[
h
0
h
1
h
2
h
3
]
[
2
−
3
0
1
−
2
3
0
0
1
−
2
1
0
1
−
1
0
0
]
[
t
3
t
2
t
1
]
(8)
P(t) = \left[ \begin{matrix} h_{0} & h_{1} & h_{2} & h_{3} \end{matrix} \right] \left[ \begin{matrix} 2 & -3 & 0 & 1 \\ -2 & 3 & 0 & 0 \\ 1 & -2 & 1 & 0 \\ 1 & -1 & 0 & 0 \end{matrix} \right] \left[ \begin{matrix} t^{3} \\ t^{2} \\ t \\ 1 \end{matrix} \right] \tag{8}
P(t)=[h0h1h2h3]⎣⎢⎢⎡2−211−33−2−100101000⎦⎥⎥⎤⎣⎢⎢⎡t3t2t1⎦⎥⎥⎤(8)
再令:
[
H
0
(
t
)
H
1
(
t
)
H
2
(
t
)
H
3
(
t
)
]
=
[
2
−
3
0
1
−
2
3
0
0
1
−
2
1
0
1
−
1
0
0
]
[
t
3
t
2
t
1
]
(9)
\left[ \begin{matrix} H_{0}(t) \\ H_{1}(t) \\ H_{2}(t) \\ H_{3}(t) \end{matrix} \right]= \left[ \begin{matrix} 2 & -3 & 0 & 1 \\ -2 & 3 & 0 & 0 \\ 1 & -2 & 1 & 0 \\ 1 & -1 & 0 & 0 \end{matrix} \right] \left[ \begin{matrix} t^{3} \\ t^{2} \\ t \\ 1 \end{matrix} \right] \tag{9}
⎣⎢⎢⎡H0(t)H1(t)H2(t)H3(t)⎦⎥⎥⎤=⎣⎢⎢⎡2−211−33−2−100101000⎦⎥⎥⎤⎣⎢⎢⎡t3t2t1⎦⎥⎥⎤(9)
最终可得:
[
a
b
c
d
]
[
t
3
t
2
t
1
]
=
[
h
0
h
1
h
2
h
3
]
[
H
0
(
t
)
H
1
(
t
)
H
2
(
t
)
H
3
(
t
)
]
(10)
\left[ \begin{matrix} a & b & c & d \end{matrix} \right] \left[ \begin{matrix} t^{3} \\ t^{2} \\ t \\ 1 \end{matrix} \right]= \left[ \begin{matrix} h_{0} & h_{1} & h_{2} & h_{3} \end{matrix} \right] \left[ \begin{matrix} H_{0}(t) \\ H_{1}(t) \\ H_{2}(t) \\ H_{3}(t) \end{matrix} \right] \tag{10}
[abcd]⎣⎢⎢⎡t3t2t1⎦⎥⎥⎤=[h0h1h2h3]⎣⎢⎢⎡H0(t)H1(t)H2(t)H3(t)⎦⎥⎥⎤(10)
即:
P
(
t
)
=
∑
i
=
0
3
h
i
H
i
(
t
)
(11)
P(t) = \sum_{i = 0}^{3}h_{i}H_{i}(t) \tag{11}
P(t)=i=0∑3hiHi(t)(11)
H
i
(
t
)
H_{i}(t)
Hi(t) 即为构成埃尔米特曲线的基本曲线方程。这四个基本曲线方程如下:
![](https://i-blog.csdnimg.cn/blog_migrate/cce3e0acb089a8a701040ab0f23ee05c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b6fee6af3fc8d9ca7bc8be8e825b905e.png)