2011-05-09 77 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