B-spline Curves 學習前言與動機(1)


B-spline Curves 學習之前言

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

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

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


  B-spline Curves Notes

  本 教程是關於B-樣條曲線(B-spline Curves)的教程。B-樣條曲線在計算機視覺(computer vision ),計算機圖形學(Computer Graphics ),計算機輔助設計(Computer-Aided Design ),計算幾何(Computational Geometry ) ,可視化(Visualization)等許多領域有着廣泛應用。

        本教程翻譯自C.-K. Shene博士的CS3621 Introduction to Computing with Geometry Notes的第6部分B-spline Curves。(C.-K. Shene博士是a Professor at  Department of Computer Science ,Michigan Technological University)。

1. B樣條曲線——動機

 考慮設計一個花瓶的剖面圖。下圖左邊是11次(degree)的貝塞爾曲線;但是它很難彎曲瓶頸到線段 P4P5。當然,我們可以在這個線段附近增加控制點來增加該區域的權重。但是這會增加曲線的次數(degree)。許多情況下,不值得使用如此高次 (degree)的多項式。

  

    如前面討論過的貝塞爾曲線的導數 ,我們可以將兩個貝塞爾曲線連接起來。只要第一條曲線的最后一段和第二條曲線的第一段有相同方向,我們至少可以獲得 G1 連續性,因為切向量有相同方向但可能有不同的長度(即,如果長度相同,它就是C1 連續的)。上邊中間圖使用了這個思想。它有3個3次貝塞爾曲線段,連接點用黃色矩形框標記。這說明有滿足 G1 連續條件的多重低階貝塞爾曲線段,我們可以設計出復雜形狀。但是,保持 G1 連續條件會是乏味和不受歡迎的。

   有沒有可能我們仍用更低階曲線段而不用考慮 G1 連續條件?

  B-樣條曲線是貝塞爾曲線的推廣且正是為了解決這個問題的。上邊右圖是一個8控制點的3次B-樣條曲線。實際上,由5條3次貝塞爾曲線段連接起來形成了由 控制點定義的B-樣條曲線。 上圖中,那些小點把B-樣條曲線划分為貝塞爾曲線段。可以像貝塞爾曲線那樣移動控制點來修改曲線的形狀。我們也可以修改曲線的細分 (subdivision)。因此B-樣條曲線有更高階曲線設計的自由度。

  直接細分(Subdividing)曲線是很困難的。因此,我們細分曲線的定義域。因此,如果曲線的定義域是[0,1],這個閉區間被稱為節點(knots)的點細分而成。設這些節點是 0 <= u0 <= u1 <= ... <= um <= 1。那么點C(ui)的曲線細分如下圖所示,因此,修改[0,1]的細分會改變曲線的形狀。

  

  總之,為了設計一個B-樣條曲線,我們需要一系列的控制點,一系列的節點和一系列的系數,每個系數對應一個控制點,所以所有曲線段連接在一起滿足某個連續 條件。系數的計算可能是最復雜的步驟因為它們必須保證某個連續條件。幸運的是,這個計算在本課程中不需要。我們只需要知道相關特性用於B-樣條曲線的推理就可以了。


免責聲明!

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



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