B-spline Curves 學習之B樣條曲線的導數(8)


Derivatives of a B-spline Curve

 本博客轉自前人的博客的翻譯版本,前幾章節是原來博主的翻譯內容,但是后續章節博主不在提供翻譯,后續章節我在完成相關的翻譯學習。

 (原來博客網址:http://blog.csdn.net/tuqu/article/details/4749586)

 原來的博主翻譯還是很好的,所以前幾章節直接借鑒參考原博主的內容。


 

  盡管B-樣條曲線比貝塞爾曲線復雜得多,它們的導數很相似。假設一個B-樣條曲線定義如下:

  

  每個基函數的導數可計算如下:

  

  將這些導數代回曲線方程得到下列結果:

  

  其中 Qi定義如下:

  

  因此,一個B-樣條曲線的導數是另一個p - 1次B-樣條曲線,在原來的節點向量上,而有新的n 個控制點Q0, Q1, ..., Qn-1

  如果原始的clamped節點向量是u0(p+1), up+1, ..., um-p-1, um(p+1),那么移動第一個和最后一個節點使得第一個和最后一個節點重復度變成, p 而不是p+1,我們有一個m - 1 個節點u0(p), up+1, ..., um-p-1, um(p)的新節點序列。那么,可證明在原來節點序列計算的Ni+1,p-1(u) 等於在新節點序列上的Ni,p-1(u)。因此,在新節點序列上的一個B-樣條曲線的導數如下:

  

  下面左圖是一個5次的B-樣條曲線。它的導數曲線,其是一個由新 n 個控制點定義的 p-1次B-樣條曲線,顯示在中圖。如同貝塞爾曲線的情況,這是一個原始曲線的矢端曲線(hodograph)。下面右圖顯示的是控制折線刪除后的矢端曲線(hodograph)。

      

    Clamped B-樣條曲線

  

  我們知道一個clamped B-樣條曲線經過第一個和最后一個控制點。實際上,它也與控制折線的第一邊和最后一邊相切。回憶上面的p 次B-樣條曲線C(u)的導數是

  

  其節點向量通過將第一個節點和最后一個節點從原始節點序列去掉獲得。因此,第一個(和最后一個)節點的重復度是p,因此,上面的 p-1次B-樣條曲線是clamped。因為一個clamped B-樣條曲線經過它的第一個和最后一個控制點,我們有C'(0) = Q0 和 C'(1) = Qn-1。 因為,對i = 0有 u0 = .... = up = 0 ,所以我們有

  

  因此,在C'(0)上的切向量與從P0 到 P1 的向量有相同的方向,而 C(u) 與第一邊相切。基於同樣的推理,我們有下列結果:

   

    因此,C(u) 與最后一邊相切。總之,我們有下列重要事實: 

  

  更高階導數 

  因為一個B-樣條曲線的一階導數是另一個B-樣條曲線,所以可以毫無困難地遞歸應用該技術來計算更高階導數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM