基数样条曲线的切线计算

Tar*_*run 3 math

我正在阅读一篇关于立方Hermite插值的文章.在基数样条曲线部分,他们给出了一个公式来计算在以下给出的终点处的切线:

Ti = a * ( Pi+1 - Pi-1 )  
Run Code Online (Sandbox Code Playgroud)

但是,如果我有两个点P1,并P2随后找到T1

T1 = a*(P2-P0).
Run Code Online (Sandbox Code Playgroud)

我需要计算一下,但我的P0点应该是什么?同样地发现T2我需要知道P3.任何人都可以澄清这个吗?

Thi*_*cke 7

你是对的,这个公式只适用于你的样条曲线中两边都有邻居的内点.对于端点,您必须从其他约束中获取切线.常见的解决方案是:

  • 提供手动选择的切点
  • 选择切线使得端点处的曲率为零,这被称为自然边界条件
  • 选择周期性边界条件,即start-和endpoint的切线相等.然后你只需要指定一个切线.对于闭合样条曲线,您可以从自然边界条件获得最后一个切线.

这些想法是在三次样条的上下文中提出的,它需要求解线性方程组以获得样条的任何部分的多项式系数,因为它们最小化整个样条的总曲率,但在您的情况下Hermite样条也应该适用.