样条曲线的边界条件有以下几种:
1.切矢条件
p ˙ 0 = ∣ Δ p 0 ∣ Δ 0 ,           p ˙ n = ∣ Δ p n − 1 ∣ Δ n − 1 \dot{\bm{p}}_{0}=\frac{|\Delta\bm{p}_{0}|}{\Delta_{0}}, \ \ \ \ \ \ \ \ \ \dot{\bm{p}}_{n}=\frac{|\Delta\bm{p}_{n-1}|}{\Delta_{n-1}} p˙0=Δ0∣Δp0,         p˙n=Δn1∣Δpn1

2.自由端点条件
{ 2 p ˙ 0 + p ˙ 1 = 3 Δ p 0 Δ 0 2 p ˙ n − 1 + p ˙ n = 3 Δ p n − 1 Δ n − 1 \left\{\begin{aligned}& 2\dot{\bm{p}}_{0}+\dot{\bm{p}}_{1}=3\frac{\Delta\bm{p}_{0}}{\Delta_{0}} \\ &2\dot{\bm{p}}_{n-1}+\dot{\bm{p}}_{n}=3\frac{\Delta\bm{p}_{n-1}}{\Delta_{n-1}} \end{aligned}\right. 2p˙0+p˙1=3Δ0Δp02p˙n1+p˙n=3Δn1Δpn1
这一条件相当于力学上的简支梁,即端点处不受力矩作用。

3.虚节点条件
假设在首节点 u 0 u_0 u0外侧再加一个虚节点 u − 1 = u 0 − λ 0 u 1 1 − λ 0 , ( 0 < λ 0 < 1 ) u_{-1}=\frac{u_0-\lambda_0u_1}{1-\lambda_0},(0<\lambda_0<1) u1=1λ0u0λ0u1,(0<λ0<1)。并假设样条曲线在虚节点处的二阶导矢为零向量:
{ p ˙ 0 + 1 + 2 λ 0 2 + λ 0 p ˙ 1 = 3 ( 1 + λ 0 ) 2 + λ 0 Δ p 0 Δ 0 1 + 2 λ n 2 + λ n p ˙ n − 1 + p ˙ n = 3 ( 1 + λ n ) 2 + λ n Δ p n − 1 Δ n − 1 \left\{\begin{aligned}& \dot{\bm{p}}_{0}+\frac{1+2\lambda_0}{2+\lambda_0}\dot{\bm{p}}_{1}=\frac{3(1+\lambda_0)}{2+\lambda_0}\frac{\Delta\bm{p}_{0}}{\Delta_{0}} \\ &\frac{1+2\lambda_n}{2+\lambda_n}\dot{\bm{p}}_{n-1}+\dot{\bm{p}}_{n}=\frac{3(1+\lambda_n)}{2+\lambda_n}\frac{\Delta\bm{p}_{n-1}}{\Delta_{n-1}} \end{aligned}\right. p˙0+2+λ01+2λ0p˙1=2+λ03(1+λ0)Δ0Δp02+λn1+2λnp˙n1+p˙n=2+λn3(1+λn)Δn1Δpn1
通常取 λ 0 = λ n = 1 / 2 \lambda_0=\lambda_n=1/2 λ0=λn=1/2

4.抛物线条件
使首末两端具有常矢量的二阶导矢:
{ p ˙ 0 + p ˙ 1 = 2 Δ p 0 Δ 0 p ˙ n − 1 + p ˙ n = 2 Δ p n − 1 Δ n − 1 \left\{\begin{aligned}& \dot{\bm{p}}_{0}+\dot{\bm{p}}_{1}=2\frac{\Delta\bm{p}_{0}}{\Delta_{0}} \\ &\dot{\bm{p}}_{n-1}+\dot{\bm{p}}_{n}=2\frac{\Delta\bm{p}_{n-1}}{\Delta_{n-1}} \end{aligned}\right. p˙0+p˙1=2Δ0Δp0p˙n1+p˙n=2Δn1Δpn1

5.非节点条件
使首末两端为同一参数多项式,即样条曲线在 p 1 p_1 p1 p n − 1 p_{n-1} pn1 C ∞ C^{\infty} C连续:
{ Δ 1 p ˙ 0 + ( Δ 0 + Δ 1 ) p ˙ 1 = 1 Δ 0 + Δ 1 [ Δ 1 ( 3 Δ 0 + 2 Δ 1 ) Δ p 0 Δ 0 + ( Δ 0 ) 2 Δ p 1 Δ 1 ] ( Δ n − 2 + Δ n − 1 ) p ˙ n − 1 + Δ n − 2 p ˙ n = 1 Δ n − 2 + Δ n − 1 [ ( Δ n − 1 ) 2 Δ p n − 2 Δ n − 2 + Δ n − 2 ( 2 Δ n − 2 + 3 Δ n − 1 ) Δ p n − 1 Δ n − 1 ] \left\{\begin{aligned}& \Delta_1\dot{\bm{p}}_{0}+(\Delta_0+\Delta_1)\dot{\bm{p}}_{1}=\frac{1}{\Delta_0+\Delta_1}[\Delta_1(3\Delta_0+2\Delta_1)\frac{\Delta\bm{p}_0}{\Delta_0}+(\Delta_0)^2\frac{\Delta\bm{p}_1}{\Delta_1}] \\ &(\Delta_{n-2}+\Delta_{n-1})\dot{\bm{p}}_{n-1}+\Delta_{n-2}\dot{\bm{p}}_{n}=\frac{1}{\Delta_{n-2}+\Delta_{n-1}}[(\Delta_{n-1})^2\frac{\Delta\bm{p}_{n-2}}{\Delta_{n-2}}+\Delta_{n-2}(2\Delta_{n-2}+3\Delta_{n-1})\frac{\Delta\bm{p}_{n-1}}{\Delta_{n-1}}] \end{aligned}\right. Δ1p˙0+(Δ0+Δ1)p˙1=Δ0+Δ11[Δ1(3Δ0+2Δ1)Δ0Δp0+(Δ0)2Δ1Δp1](Δn2+Δn1)p˙n1+Δn2p˙n=Δn2+Δn11[(Δn1)2Δn2Δpn2+Δn2(2Δn2+3Δn1)Δn1Δpn1]

对于n+1个数据点,构造参数化三次样条曲线,每一段样条都是参数三次多项式曲线,由4个系数矢量定义,即有4n个自由度。

如果每段连接处达到二阶连续,则连续性条件有3(n-1)个,且曲线经过n+1个数据点,所以共有4n-2个约束。

根据以上理论再确定两个边界条件,则参数化三次样条曲线就被完全定义。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐