2011-05-09 106 views
3

我在读约an article约三次Hermite插值。在基数样条曲线的部分,他们给一个公式来计算的终点由下式给出切线:计算基数样条曲线的切线

Ti = a * (Pi+1 - Pi-1) 

但是,如果我有两点P1P2然后找到T1

T1 = a*(P2-P0). 

我需要计算这个,但是我的P0点应该是什么?类似地找到T2我需要知道P3。任何人都可以澄清这一点?

回答

7

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

  • 供给手动选择切点
  • 选择,使得在端点的曲率为零,如natural边界条件
  • 选择周期性边界条件下,这被称为切线,也就是说,起点和终点的切线是相等的。然后你只需要指定一个切线。对于封闭样条,可以从自然边界条件中获得最后的切线。

这些想法中的cubic splines,需要求解线性方程的系统,以获得多项式系数为花键的任何部分的上下文中提出来了,因为它们减少了整个花键的总曲率,但就你的Hermite样条来说,它们也应该适用。

+0

我在想这个,但只是从数学而不是实际的角度。这意味着我进入了一个阅读维基百科和相关页面并教授自己样条线的时间。 ;-) – Chris 2011-05-09 15:35:05

+1

你也可以分别取前向差和后向差,因此对于p0,取t0 = 0.5 * a *(p1-p0)。根据曲线的使用情况,可能不是数学建立的,但在实践中效果很好。 – 2011-05-09 19:29:27