日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

曲线均匀分布_曲线篇:深刻理解B 样条曲线(下)

發布時間:2024/7/23 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 曲线均匀分布_曲线篇:深刻理解B 样条曲线(下) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前兩篇中講解了貝塞爾曲線和B樣條基礎。

FrancisZhao:曲線篇: 貝塞爾曲線?zhuanlan.zhihu.comFrancisZhao:曲線篇:深刻理解B 樣條曲線(上)?zhuanlan.zhihu.com

本文講一下B樣條的進階

clamped B樣條

由于我們常用的B樣條是clamped B樣條,我們就直接以其為例。

一個由n + 1 控制點和一個節點向量U = { u0, u1, ...., um } 定義的 p次B-樣條曲線C(u),其中前p+1個和最后 p+1個節點是 "clamped" (即,u0 = u1 = ... = up和 um-p = um-p+1 = ... = um).

比如 3次clampedB樣條,節點向量可以為[0 0 0 0 0.3 0.6 0.9 1 1 1 1].

在下圖中,其中n = 10, m = 14 和p = 3, 頭四個節點和最后四個節點是clamped而中間7個節點上均勻分布的。有8個節點區間,每個對應于一個曲線段。在下面左圖,這些節點點以三角形標示。

節點區間[0 0 0 0 1/8 2/8 3/8 4/8 5/8 6/8 7/8 1 1 1 1].

方形為控制點,三角形為節點

為同樣控制點的貝塞爾曲線,與上圖對比

分別為7次5次3次B樣條曲線

以上幾組中, 體現了clamped B樣條的關鍵兩個特性,1 曲線的端點經過頭尾的控制點 2 曲線的首位切線方向和分別與第一第二,倒數第一第二的控制點組成的直線方向相同。

那么為什么clamped B樣條會會有這種特性呢?

如果你不能回答這個問題, 那么實際上就沒有理解B樣條的性質.

這 要回到B樣條基函數計算的的本身

假設僅僅有7個節點

假設我們僅僅有7個節點, 如果 u0=u1=0, u2不為0, 那么區間[u0 u1)就是[0 0 ), 這個區間是不存在的, 所以基函數N0,0就是為0.

這個在上圖中的意思, 當有6個控制點的時候, B樣條是0階曲線, 那么N0,0是0, 所以控制點P0根本就沒有用上, 因為系數一直是0.

假設u0=u1=u2=0, u3不為0. 那么對于0階b樣條來說, N0,0 N1,0,都為0, 控制點P0 P1都沒有用上. 對于1階B樣條, N0,1為0, 所以第一個控制點P0也是沒有用上.對于2階B樣條, N0,2,不為0了, 因為是N2,0不為0. 所以N0,2 僅僅由N1,1決定, N1,1僅僅由N2,0決定.

再回頭看B樣條的基函數公式, u趨近于0的時候N0,2的系數是趨近于1的, 因此必然經過P0點.

因此也可以清楚,如果我認為B樣條的局部是具有貝塞爾的性質,那么最大的區別就是基函數的作用范圍,貝塞爾的所有基函數都是作用在整個區間,但是B樣條有著明確的作用范圍,這個性質導致了B樣條沒有必然通過控制點端點的性質。

B樣條的導數:

先講clamped B樣條

既然B樣條是貝塞爾曲線的擴展,那么必然要繼承貝塞爾曲線一些優良的性質。貝塞爾曲線的導數還是貝塞爾, B樣條的導數還是B樣條。

接下來看推導公式:

B樣條公式

基函數求導

基函數求導為低一階的基函數求導

最終的基函數求導

因此,可知,B樣條的導數還是B樣條, 依然保留B樣條的優良特性。

控制點減1,階數減1,那么節點數目必然是減2. 對于clamped B樣條,只要是去除第一個和最后一個節點就ok了,因此clamped B樣條的求導還是clamped B樣條,這個性質使其方便計算,應用廣泛。

移動控制點

強凸包性質,如果u位于 [ui,ui+1),那么 C(u) 位于由控制點Pi, Pi-1, ..., Pi-p+1, Pi-p定義的凸包內。

可以理解為B樣條為分區間的貝塞爾曲線,因此必然滿足貝塞爾的凸包性質。

如果在 [ui,ui+1)區間,Pi, Pi-1, ..., Pi-p+1, Pi-p都在同一直線上,那么這一段B樣條必然也在這個直線上。

ok,如果你已經掌握了這些知識,那么恭喜你,已經入門了。

專欄里每一篇都是我一個字一個字打的,都是我認為的原創干貨。
歡迎指正討論,轉載請注明,認同請點贊。
這個系列的文章很容易出錯,希望大佬們多多指正補充。
僅僅收藏是學不會的,還得點贊喜歡加轉發啊。

FrancisZhao:專欄文章列表以及一些說明?zhuanlan.zhihu.com

本文的主要參考資料:

搜索結果提示 - 博客園找找看
CS3621 Introduction to Computing with Geometry Course Notes
B-樣條曲線教程(B-spline Curves Notes)目錄

總結

以上是生活随笔為你收集整理的曲线均匀分布_曲线篇:深刻理解B 样条曲线(下)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。