青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

eryar

PipeCAD - Plant Piping Design Software.
PlantAssistant - Translate AVEVA RVM/SP3D VUE to glTF, STEP, etc.
posts - 606, comments - 590, trackbacks - 0, articles - 0

The Building Blocks of a B-Spline

Posted on 2011-12-11 11:39 eryar 閱讀(1681) 評論(0)  編輯 收藏 引用

B樣條曲線比Bezier曲線更靈活,它的靈活性來自于你對基函數靈活地控制。我將對B樣條的各組成部分進行講解,首先講一下控制頂點(Control Points)。

Control Points 控制頂點

Bezier曲線的控制頂點對整條曲線都有影響,即改變某一頂點的位置,對整條曲線都有影響,因而Bezier曲線不具有局部修改性。

由于靈活性的緣故,你可以對B樣條設置任意數量的控制頂點,也可以確定各控制頂點的影響范圍。

 

Degree and Order 次數和階數

多項式曲線時,曲線的次數是由多項式中變量指數最高項確定。Bezier曲線時,曲線的次數由控制頂點數N確定,即N個控制頂點的曲線的次數是(N-1)次。基于這一點,我將引入一些新的術語來討論曲線的次數和階數,即階數(Order)由設計值k確定,次數(Degree)則為(k-1)。

B樣條把控制頂點數N與曲線的次數和控制頂點影響范圍解耦。再抽象點說,曲線上的點只受一些控制頂點的影響,而不是任意控制頂點。或者說每個控制頂點只影響曲線上的一部分點的值。這就有意思啦,因為你對曲線有了局部修改的權力。你可用16個控制頂點定義一條曲線,但是它的階數為4。如圖4.1所示,移動一個控制頂點只會影響曲線上的一部分。若要用Bezier曲線來實現,就只能是把幾個Bezier曲線拼接啦。

Local Control

 

我已經講到了術語階數(Order)、次數(Degree),及控制頂點對曲線區間的影響,但是并沒有講到具體是怎樣影響的。使用Bezier曲線時,沒有任何的機制來限制影響的區間,因為任意一個控制頂點的改變都會影響到曲線上的每個點。B樣條給你更多的控制,正是由于有節點向量(Knot Vectors)的機制。

 

Knot Vectors 節點向量

節點向量的目的就是描述控制頂點的影響范圍。想象一下你想畫一個有五個控制頂點的三階曲線,每個控制頂點只會影響到參數區間上的曲線的一小部分。你可以描述任意一個控制頂點的影響范圍為:[t0, t3], [t 1, t4], [t2, t5], [t3, t6], [t4, t7]。也可以在一個單一序列中緊湊的寫成:[t0 t1 t2 t3 t4 t5 t6 t7]。這就是節點向量。圖4.3所示為正式地表示了節點向量的影響范圍:

Knot Vector

還可以從本例中推出幾個更普遍的結論。首先,一個節點向量必須有N+k個元素;其次,節點向量必須是單調遞增的。即每個節點向量的元素必須比前一個大或相等。單調遞增的區間可以是任意的,當然也可以是[0,1]。下面是三個節點向量的例子。注意第二個節點向量和第三個在功能上相同,即用它們將會生成相同的曲線:

[X] = [3 4 5 6 7 8]

[X] = [1 2 3 4 5 6 7 8]

[X] = [0.125 0.25 0.375 0.5 0.625 0.75 0.875 1.0]

本書中大部分情況下將會使用整型的節點向量值,如第二種,因為這樣解釋起來要簡單些。而在程序代碼中,我將使用單位化后的節點向量,因為當參數區間為[0,1]時,考慮不同的范圍要簡單些。這兩種情況產生的曲線沒什么不同。

通常喜歡按節點向量是否均勻分布把節點向量分為均勻節點向量和非均勻節點向量。各舉例如下:

  • [X] = [1 2 3 4 5 6] (uniform)

  • [X] = [1 3 5 7 9 11] (uniform)

  • [X] = [1 2 2 3 3 4] (nonuniform)

  • [X] = [1 2 3 3 4 5] (nonuniform)

節點向量還有兩種類型:開放(Open)和周期性的(Periodic)。

至此為止,你已經知道創建B樣條曲線的所有內容,除了B樣條的基函數。知道一系列控制頂點可以用來定義曲線;知道可以用階數及其相應的次數來描述曲線的屬性;知道節點向量的機制,控制頂點是怎樣來影響曲線的。你還需要一個基本的部分,即把上面所有組合在一起來畫些東西,這就是基函數(the Basis Function)。

 

B樣條基函數 B-Spline Basis Functions

在第三章講Bezier曲線時,生活要簡單的多。Bezier曲線的Bernstein基函數只是控制頂點的函數。現在,有了更多的靈活性,但是需要關注的就更多。(能力越大,責任越大。)除了控制頂點以外,B樣條基函數還需要解釋曲線的次數,還有由節點矢量定義的區間。這個基函數不是由Bernstein多項式定義的,而是由Cox-de Boor遞歸公式定義的。這個著名的遞推公式的發現是B樣條理論的最重要的進展。

Cox-de Boor formulas

[eryar:個人認為公式中第一個下標i是控制頂點的序號,第二個下標是階數。]

B樣條基的性質:

  1. 遞推性。由遞推公式可以表明;
  2. 局部支承性。局部支承性表明B樣條基是定義在整個參數軸上,但僅在支承區間上有大于零的值,在這個區間外均為零。B樣條由其支承區間內的所有節點決定。
  3. 規范性。

    Constraint on the range 

  4. 可微性。在節點區間內部是無限次可微的。

遞推公式的幾何意義可以歸結為:移位、升階、線性組合。

這些公式初看起來很嚇人,其實不然,只要你理解它們都是做什么用的。畫Bezier曲線時,可以根據Bernstein基函數很容易就推出一個基函數。現在必須根據階數來遞推去找到基函數。從一階基函數開始推導,因為便于圖示和舉例。

想像一下我想用四個控制頂點畫一個四階三次曲線,我選擇節點矢量為[X] = [0, 0, 0, 0, 1, 1, 1, 1]。在繼續后面內容之前,用圖4.3中的術語來考慮一下這個節點矢量。這個節點矢量讓每個控制頂點的改變都會影響到整條曲線,聽起來很耳熟?

根據遞推公式,一階(零次)B樣條的結果為(此時階數k=4,節點矢量為:[0 0 0 0 1 1 1 1].):

First-Order basis function

基函數的圖像為:

First order basis function graphics

將兩個一階B樣條代入公式即可得到二階B樣條基函數。推導出方程為:

Second-Order

圖形顯示為:

Second-Order

重復這幾步可以得到三階、四階B樣條基函數的方程和圖形,如下所示:Third-order Equation

Third-order graph Fourth-order Equation

Fourth-order graph 

四階B樣條基函數就是四階、三次曲線所需要的基函數。這些基函數畫在一起在圖4.7中,看起來是不是有點眼熟?

正如你所看到的,這些基函數和第三章中的Bernstein基函數一模一樣。在第三章中我也提到過,Bezier曲線可以認為是B樣條曲線的一個特例,這里就是證明。通過合適的節點矢量和次數,你可以把Bezier曲線看成是更通用的B樣條曲線的特例。這里的節點矢量選擇的為每個控制頂點的改變都會影響到整條曲線,次數也是匹配Bezier曲線的次數而設置的。我將在講述不同類型的節點矢量時詳談。

上面那些概念都是B樣條曲線的重要組成部分,還有一個更重的部分。

B樣條曲線方程 The B-Spline Curve Equation

你已經有了一系列的基函數及怎么確定曲線的次數。如下方程所示為B樣條曲線方程。

B-Spline Curve Equation

這個方程和Bezier曲線的方程非常相似。這里基函數的序列主要用來確定曲線的次數,基函數用參數t定義了每個控制頂點的影響區間。只要有了相應的基函數,曲線上的點就可以簡單的表示為所有的控制頂點在給定參數值t處的權重的總和。只是現在有些控制頂點的權重可能是0。

目前為止,你已經有了畫出B樣條曲線的所有基礎知識。我也遺露了很多細節,最重要的細節是節點矢量部分。既然已經掌握了所有基礎知識點,現在回去講解一下細節。


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品久久久久久影视| 激情一区二区| 最新国产乱人伦偷精品免费网站| 欧美系列亚洲系列| 亚洲综合色婷婷| 99riav久久精品riav| 欧美日韩中文字幕在线| 久久琪琪电影院| 久久精品官网| 久久综合福利| 欧美国产专区| 欧美日韩精品伦理作品在线免费观看| 卡一卡二国产精品| 免费高清在线一区| 美日韩精品视频| 欧美激情中文字幕乱码免费| 久久午夜国产精品| 欧美成人精品1314www| 欧美高清一区| 国产精品成人观看视频免费| 国产精品电影网站| 精品91视频| 中文av字幕一区| 久久福利影视| 另类综合日韩欧美亚洲| 亚洲欧洲精品一区二区三区波多野1战4| 欧美刺激性大交免费视频| 亚洲高清中文字幕| 亚洲欧美日本日韩| 奶水喷射视频一区| 国内揄拍国内精品久久| 一区二区三区产品免费精品久久75| 99在线精品视频在线观看| 欧美一区二区三区在线免费观看 | 亚洲精品一区在线| 亚洲伊人一本大道中文字幕| 久久天天躁夜夜躁狠狠躁2022 | 一区二区欧美精品| 麻豆av一区二区三区久久| 亚洲性线免费观看视频成熟| 欧美国产国产综合| 伊人久久婷婷色综合98网| 99精品欧美一区二区三区| 亚洲一区精品电影| 中日韩美女免费视频网址在线观看 | 亚洲精品久久视频| 欧美黄色日本| 久久久99免费视频| 欧美精品一区视频| 亚洲高清一二三区| 免费看成人av| 欧美成人dvd在线视频| 亚洲国产电影| 最新亚洲激情| 国产精品jizz在线观看美国| 亚洲人精品午夜在线观看| 亚洲激情国产| 欧美日韩dvd在线观看| 亚洲小说欧美另类社区| 亚洲欧美日韩一区二区三区在线 | 亚洲国产一成人久久精品| 久久亚洲精品欧美| 一区二区毛片| 中文一区在线| 国产综合久久久久影院| 在线观看欧美日韩| 欧美成人午夜| 国产精品爽黄69| 欧美a级在线| 欧美乱在线观看| 免费国产自线拍一欧美视频| 欧美成人自拍| 欧美日韩久久精品| 在线精品视频一区二区三四| 亚洲国产精品久久久久婷婷老年| 欧美剧在线免费观看网站| 欧美诱惑福利视频| 欧美华人在线视频| 欧美激情一区二区久久久| 精品69视频一区二区三区| 亚洲视频www| 欧美精品乱人伦久久久久久| 久久免费精品视频| 欧美性猛交xxxx免费看久久久 | 一区二区三区在线观看欧美 | 国产一区二区三区最好精华液| 欧美激情亚洲精品| 国产一区二区丝袜高跟鞋图片| 亚洲精品在线免费| 在线视频日本亚洲性| 欧美区亚洲区| av不卡在线| 久热精品在线视频| 亚洲欧洲日韩在线| 欧美三级视频在线观看| 在线一区视频| 久久人人爽爽爽人久久久| 久久成人在线| 免费久久精品视频| 亚洲成色www8888| 玖玖视频精品| 一本大道久久a久久精品综合| 亚洲一区久久| 国产日韩欧美| 欧美国产视频一区二区| 亚洲视频自拍偷拍| 美乳少妇欧美精品| 午夜亚洲性色福利视频| 国产视频久久网| 久久综合久久综合久久综合| 日韩一级黄色片| 欧美激情视频免费观看| 一本色道久久| 91久久一区二区| 国产一区二区久久精品| 欧美日韩亚洲一区二区三区在线观看 | 欧美一区二区三区在线| 欧美日韩在线一区二区| 亚洲欧美伊人| 欧美在现视频| 在线视频亚洲一区| 在线视频欧美精品| 正在播放亚洲一区| 亚洲美女网站| 亚洲一区二区精品视频| 亚洲一区二区三区涩| 亚洲一区二区在线观看视频| 99这里有精品| 亚洲综合色在线| 欧美在线视频二区| 女生裸体视频一区二区三区| 免费视频一区| 欧美三区在线视频| 一区二区三区国产| 亚洲一级黄色片| 欧美一区二区三区四区视频| 久久精品二区三区| 欧美理论视频| 欧美午夜在线| 激情综合在线| 午夜精品婷婷| 亚洲日本成人| 久久久国产精品一区二区中文 | 亚洲电影免费在线 | 欧美一区二区三区啪啪| 另类国产ts人妖高潮视频| 亚洲国产成人91精品| 亚洲男同1069视频| 欧美日韩国语| 亚洲精品久久久久久下一站| 欧美专区18| 国产精品99久久久久久久vr | 99成人精品| 欧美日本不卡视频| 亚洲免费观看高清完整版在线观看熊 | 蜜桃av一区二区三区| 亚洲精品视频二区| 欧美成人免费网| 亚洲国产精品女人久久久| 欧美精品久久久久久久| 好吊日精品视频| 欧美大片国产精品| 久久九九国产| 伊人久久婷婷| 亚洲免费av片| 欧美性感一类影片在线播放| 亚洲一区二区三区视频播放| 亚洲国产视频一区二区| 欧美日本亚洲| 香蕉av福利精品导航| 中文av一区特黄| 激情综合久久| 亚洲精品乱码久久久久久按摩观| 免费不卡中文字幕视频| 一本色道久久综合一区| 中日韩美女免费视频网址在线观看 | 久久狠狠久久综合桃花| 国产综合视频在线观看| 亚洲级视频在线观看免费1级| 欧美α欧美αv大片| 欧美一级专区| 欧美日韩高清区| 久久久国产精品一区二区三区| 久久伊人亚洲| 欧美在线影院在线视频| 欧美日产在线观看| 欧美77777| 国产一区欧美日韩| 一区二区三区四区蜜桃| 亚洲欧洲在线一区| 香蕉久久夜色| 久久精品成人| 国产欧美日韩在线视频| 亚洲视频在线观看视频| 亚洲美女诱惑| 欧美精品高清视频| 欧美激情一区二区三区全黄| 国产一区二区三区在线观看免费| 亚洲精品欧美| 久久这里只有|