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

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 閱讀(1688) 評(píng)論(0)  編輯 收藏 引用

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

Control Points 控制頂點(diǎn)

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

由于靈活性的緣故,你可以對(duì)B樣條設(shè)置任意數(shù)量的控制頂點(diǎn),也可以確定各控制頂點(diǎn)的影響范圍。

 

Degree and Order 次數(shù)和階數(shù)

多項(xiàng)式曲線時(shí),曲線的次數(shù)是由多項(xiàng)式中變量指數(shù)最高項(xiàng)確定。Bezier曲線時(shí),曲線的次數(shù)由控制頂點(diǎn)數(shù)N確定,即N個(gè)控制頂點(diǎn)的曲線的次數(shù)是(N-1)次。基于這一點(diǎn),我將引入一些新的術(shù)語(yǔ)來討論曲線的次數(shù)和階數(shù),即階數(shù)(Order)由設(shè)計(jì)值k確定,次數(shù)(Degree)則為(k-1)。

B樣條把控制頂點(diǎn)數(shù)N與曲線的次數(shù)和控制頂點(diǎn)影響范圍解耦。再抽象點(diǎn)說,曲線上的點(diǎn)只受一些控制頂點(diǎn)的影響,而不是任意控制頂點(diǎn)。或者說每個(gè)控制頂點(diǎn)只影響曲線上的一部分點(diǎn)的值。這就有意思啦,因?yàn)槟銓?duì)曲線有了局部修改的權(quán)力。你可用16個(gè)控制頂點(diǎn)定義一條曲線,但是它的階數(shù)為4。如圖4.1所示,移動(dòng)一個(gè)控制頂點(diǎn)只會(huì)影響曲線上的一部分。若要用Bezier曲線來實(shí)現(xiàn),就只能是把幾個(gè)Bezier曲線拼接啦。

Local Control

 

我已經(jīng)講到了術(shù)語(yǔ)階數(shù)(Order)、次數(shù)(Degree),及控制頂點(diǎn)對(duì)曲線區(qū)間的影響,但是并沒有講到具體是怎樣影響的。使用Bezier曲線時(shí),沒有任何的機(jī)制來限制影響的區(qū)間,因?yàn)槿我庖粋€(gè)控制頂點(diǎn)的改變都會(huì)影響到曲線上的每個(gè)點(diǎn)。B樣條給你更多的控制,正是由于有節(jié)點(diǎn)向量(Knot Vectors)的機(jī)制。

 

Knot Vectors 節(jié)點(diǎn)向量

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

Knot Vector

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

[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]

本書中大部分情況下將會(huì)使用整型的節(jié)點(diǎn)向量值,如第二種,因?yàn)檫@樣解釋起來要簡(jiǎn)單些。而在程序代碼中,我將使用單位化后的節(jié)點(diǎn)向量,因?yàn)楫?dāng)參數(shù)區(qū)間為[0,1]時(shí),考慮不同的范圍要簡(jiǎn)單些。這兩種情況產(chǎn)生的曲線沒什么不同。

通常喜歡按節(jié)點(diǎn)向量是否均勻分布把節(jié)點(diǎn)向量分為均勻節(jié)點(diǎn)向量和非均勻節(jié)點(diǎn)向量。各舉例如下:

  • [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)

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

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

 

B樣條基函數(shù) B-Spline Basis Functions

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

Cox-de Boor formulas

[eryar:個(gè)人認(rèn)為公式中第一個(gè)下標(biāo)i是控制頂點(diǎn)的序號(hào),第二個(gè)下標(biāo)是階數(shù)。]

B樣條基的性質(zhì):

  1. 遞推性。由遞推公式可以表明;
  2. 局部支承性。局部支承性表明B樣條基是定義在整個(gè)參數(shù)軸上,但僅在支承區(qū)間上有大于零的值,在這個(gè)區(qū)間外均為零。B樣條由其支承區(qū)間內(nèi)的所有節(jié)點(diǎn)決定。
  3. 規(guī)范性。

    Constraint on the range 

  4. 可微性。在節(jié)點(diǎn)區(qū)間內(nèi)部是無限次可微的。

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

這些公式初看起來很嚇人,其實(shí)不然,只要你理解它們都是做什么用的。畫Bezier曲線時(shí),可以根據(jù)Bernstein基函數(shù)很容易就推出一個(gè)基函數(shù)。現(xiàn)在必須根據(jù)階數(shù)來遞推去找到基函數(shù)。從一階基函數(shù)開始推導(dǎo),因?yàn)楸阌趫D示和舉例。

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

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

First-Order basis function

基函數(shù)的圖像為:

First order basis function graphics

將兩個(gè)一階B樣條代入公式即可得到二階B樣條基函數(shù)。推導(dǎo)出方程為:

Second-Order

圖形顯示為:

Second-Order

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

Third-order graph Fourth-order Equation

Fourth-order graph 

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

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

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

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

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

B-Spline Curve Equation

這個(gè)方程和Bezier曲線的方程非常相似。這里基函數(shù)的序列主要用來確定曲線的次數(shù),基函數(shù)用參數(shù)t定義了每個(gè)控制頂點(diǎn)的影響區(qū)間。只要有了相應(yīng)的基函數(shù),曲線上的點(diǎn)就可以簡(jiǎn)單的表示為所有的控制頂點(diǎn)在給定參數(shù)值t處的權(quán)重的總和。只是現(xiàn)在有些控制頂點(diǎn)的權(quán)重可能是0。

目前為止,你已經(jīng)有了畫出B樣條曲線的所有基礎(chǔ)知識(shí)。我也遺露了很多細(xì)節(jié),最重要的細(xì)節(jié)是節(jié)點(diǎn)矢量部分。既然已經(jīng)掌握了所有基礎(chǔ)知識(shí)點(diǎn),現(xiàn)在回去講解一下細(xì)節(jié)。


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   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>
            毛片一区二区三区| 亚洲国产成人av| 亚洲日韩中文字幕在线播放| 国产人妖伪娘一区91| 91久久精品国产91久久性色tv | 午夜在线a亚洲v天堂网2018| 亚洲人被黑人高潮完整版| 亚洲免费在线精品一区| 亚洲精选在线观看| 久久一区亚洲| 欧美成年人视频网站| 国产亚洲一区二区三区在线播放 | 久久狠狠亚洲综合| 欧美专区在线观看一区| 国产精品久久久免费| 一本一本久久a久久精品综合麻豆| 亚洲精品久久久一区二区三区| 久久青草欧美一区二区三区| 久久久久久夜| 精品动漫3d一区二区三区| 欧美一区二区福利在线| 性久久久久久久久| 国产精品区一区二区三区| 亚洲性图久久| 欧美中文日韩| 国内精品国语自产拍在线观看| 午夜精品一区二区在线观看| 久久精品免费| 伊甸园精品99久久久久久| 久久美女性网| 亚洲韩国青草视频| 99热这里只有成人精品国产| 欧美日韩亚洲综合| 亚洲在线观看视频网站| 先锋影音国产精品| 国产偷自视频区视频一区二区| 久久国产精品一区二区三区四区| 久久一区激情| 亚洲精品欧美激情| 欧美区日韩区| 亚洲欧美国产一区二区三区| 久久久五月天| 最近看过的日韩成人| 欧美日韩国产成人在线91| 亚洲综合成人在线| 麻豆成人精品| 一本久久综合亚洲鲁鲁五月天| 欧美视频一区在线| 欧美中文字幕在线播放| 欧美高清视频www夜色资源网| 亚洲理论在线观看| 国产精品一区二区久久久久| 久久久久一区二区三区| 亚洲免费观看高清在线观看| 欧美一区二区免费视频| 亚洲成色精品| 国产精品福利网| 久久久久久尹人网香蕉| 99爱精品视频| 媚黑女一区二区| 亚洲欧美日韩国产中文 | 亚洲一区日韩在线| 国产一区在线视频| 欧美极品欧美精品欧美视频| 午夜精品久久久久久久99黑人| 亚洲大胆人体视频| 欧美亚洲一区二区在线观看| 亚洲日本激情| 国产亚洲精久久久久久| 欧美日韩另类在线| 久久综合网hezyo| 亚洲综合国产| 99国产精品久久久久久久| 久久夜色精品国产| 亚洲专区在线| 亚洲欧洲视频在线| 极品少妇一区二区| 国产精品丝袜xxxxxxx| 欧美精品免费播放| 久久久不卡网国产精品一区| 亚洲影院免费观看| 日韩视频一区二区三区| 欧美激情1区2区3区| 久久久另类综合| 午夜精品视频| aa国产精品| 亚洲精品在线一区二区| 一区二区视频免费完整版观看| 国产精品无码永久免费888| 欧美日韩理论| 欧美日韩1234| 欧美激情二区三区| 欧美大片在线看免费观看| 久久久999成人| 欧美一区二区三区免费观看视频| 亚洲视频1区| 一本久道久久综合婷婷鲸鱼| 91久久中文字幕| 亚洲国产精品成人| 欧美顶级大胆免费视频| 美女被久久久| 女女同性女同一区二区三区91| 久久永久免费| 麻豆精品一区二区综合av| 久久美女性网| 牛牛国产精品| 亚洲福利一区| 亚洲激情视频| 亚洲毛片在线免费观看| 亚洲精品中文字幕女同| 亚洲精品美女在线观看播放| 亚洲精品乱码久久久久久久久| 亚洲日本久久| 一区二区高清| 香蕉久久夜色精品国产使用方法| 亚洲欧美成人一区二区在线电影 | 国产精品青草久久| 国产精品www色诱视频| 国产精品久久国产精麻豆99网站| 国产精品嫩草影院一区二区| 国产精品日韩一区| 国产日韩av在线播放| 激情懂色av一区av二区av| 亚洲经典自拍| av成人免费观看| 亚洲欧美日韩国产一区| 久久精品99国产精品酒店日本| 免费欧美在线视频| 亚洲日本中文字幕| 亚洲午夜日本在线观看| 久久精品主播| 欧美日韩国产美女| 国产精品私拍pans大尺度在线 | 国产欧美视频一区二区三区| 国产一区二区三区观看| 亚洲成色999久久网站| 亚洲调教视频在线观看| 久久狠狠久久综合桃花| 亚洲第一精品在线| 亚洲午夜激情在线| 久久综合色播五月| 国产精品国产| 亚洲国产成人久久综合| 亚洲在线视频| 欧美大片免费观看| 亚洲午夜久久久| 欧美成人黑人xx视频免费观看| 国产精品久久久久久福利一牛影视 | 国产伦精品一区二区三区在线观看| 激情久久久久久久久久久久久久久久| 999亚洲国产精| 久久久97精品| 一本色道精品久久一区二区三区| 久久久成人网| 国产精品久久久久影院色老大| 亚洲国产日韩欧美在线动漫| 欧美一级久久久久久久大片| 亚洲黄色高清| 久久久蜜桃一区二区人| 国产精品一区免费在线观看| 99re国产精品| 欧美激情在线观看| 欧美一区二区精品久久911| 欧美裸体一区二区三区| 在线播放不卡| 久久久久国产精品人| 一区二区三区欧美亚洲| 欧美电影专区| 樱花yy私人影院亚洲| 欧美一区二区三区在线看| 亚洲精品五月天| 欧美成人一区二区| 红杏aⅴ成人免费视频| 欧美一区二区视频免费观看| 日韩一区二区福利| 欧美国产另类| 亚洲国产成人一区| 猛男gaygay欧美视频| 久久精品国产69国产精品亚洲| 国产老肥熟一区二区三区| 亚洲欧美日韩另类| 一区二区三区www| 欧美日韩一区二区三区视频| 亚洲美女色禁图| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲影视九九影院在线观看| 欧美性天天影院| 亚洲欧美综合网| 亚洲一区999| 国产精品久久久久一区二区三区共| 中文一区二区在线观看| 一区二区高清视频| 欧美视频在线观看一区| 亚洲欧美大片| 午夜精品久久久久久久久久久久| 国产精品天天看| 久久精品视频免费| 久久国产夜色精品鲁鲁99| 国产一区二区三区在线播放免费观看 | 99天天综合性|