王晶昕,郭麗霞,張嘉洋
(遼寧師范大學(xué) 數(shù)學(xué)學(xué)院,遼寧 大連 116029)
曲線的生成以及形狀調(diào)整是計(jì)算機(jī)輔助幾何設(shè)計(jì)領(lǐng)域一個(gè)重要課題.有理Bézier曲線以及有理B樣條曲線就是為了這一目的通過將基函數(shù)變?yōu)閹в袡?quán)因子的有理多項(xiàng)式(分片有理多項(xiàng)式)的方法來實(shí)現(xiàn)的(參見文[1]).但這種方法存在一些弱點(diǎn),譬如計(jì)算復(fù)雜、權(quán)因子的幾何意義不直觀等.
我們的研究是從另一個(gè)角度入手的,即仍使用眾所周知的Bernstein基函數(shù)、B樣條基函數(shù),但通過帶形狀調(diào)整參數(shù)的控制點(diǎn)變換矩陣生成一組與原來給定的控制點(diǎn)相關(guān)聯(lián)的新控制點(diǎn),進(jìn)而生成相應(yīng)的曲線曲面,以達(dá)到調(diào)整曲線曲面形狀的目的.
本文是文[2]研究工作的繼續(xù),該研究的重要性在于基函數(shù)未改變,使得調(diào)整后曲線的幾何性質(zhì)可根據(jù)控制點(diǎn)的位置及已知基函數(shù)的性質(zhì)來確定.且其中的參數(shù)與控制點(diǎn)位置相對(duì)應(yīng),幾何意義明確.
利用二次B樣條基函數(shù),可以構(gòu)造二次B樣條函數(shù)
其中Ni,2(u)諸為二次B樣條基函數(shù),諸yi是預(yù)先給定的實(shí)數(shù),諸Pi是給定的R2或R3中的控制頂點(diǎn).
稱曲線
為帶形狀調(diào)整參數(shù)的二次B樣條曲線,其中參數(shù)αi∈R(i=1,2,…,n).
文[2]討論了帶參數(shù)的二次均勻B樣條曲線在曲線端點(diǎn)處如何依控制點(diǎn)參數(shù)改變曲線形狀的問題,本文是討論二次均勻B樣條曲線內(nèi)部形狀的改變問題.由于B樣條曲線特點(diǎn)是局部調(diào)整,因此,不失一般性,我們集中討論在曲線內(nèi)部涉及七個(gè)控制頂點(diǎn)情形之下的曲線形狀調(diào)整問題.
設(shè)Pi(i=0,1,2,…6)是給定的七個(gè)控制頂點(diǎn)
則得帶α1,α2參數(shù)的曲線
其中參數(shù)αi∈R(i=1,2),
通過上述矩陣變換可知產(chǎn)生新控制點(diǎn)比原來控制點(diǎn)多增加一個(gè),調(diào)整后曲線比原來曲線多增加一段,通過改變參數(shù)大小,調(diào)整后曲線只在[3,7]上發(fā)生改變.當(dāng)參數(shù)α1∈(0,1)時(shí),點(diǎn)Q3在線段P2P3上,當(dāng)參數(shù)α1∈(1,+∞)時(shí),點(diǎn)Q3在線段P2P3延長線上,當(dāng)參數(shù)α1∈(-∞,0)時(shí),點(diǎn)Q3在線段P2P3反向延長線上.同理,點(diǎn)Q4在P3P4上也有這三種位置關(guān)系,因此,根據(jù)參數(shù)α1,α2的取值范圍,調(diào)整后控制點(diǎn)有九種類型,圖1-4為其中四種類型的例子,其中實(shí)線為原來的曲線,虛線為變形后的曲線,并有如下結(jié)論:
(1)當(dāng)參數(shù)α1固定在(0,1)內(nèi),隨著參數(shù)α2從0逐漸向1增大或(減小)時(shí),曲線逐漸遠(yuǎn)離(靠近)線段P2P3,靠近(遠(yuǎn)離)點(diǎn)P4.
(2)當(dāng)參數(shù)α1固定在(0,1)內(nèi),參數(shù)α2在(-∞,0)變化時(shí),曲線會(huì)增加拐點(diǎn).
(3)當(dāng)參數(shù)α1固定在(1,+∞),(-∞,0)變化時(shí),參數(shù)α2在(-∞,0),(1,+∞)變化時(shí),新控制點(diǎn)Q3,Q4,Q5生成的控制折線近似于其相應(yīng)的曲線形狀.當(dāng)參數(shù)α1=1時(shí),曲線經(jīng)過點(diǎn)P3,由于在該點(diǎn)處一階導(dǎo)數(shù)為零,故其為一尖點(diǎn).
同樣α2固定,改變?chǔ)?,討論方法與上述亦然.
此外,當(dāng)我們讓兩個(gè)參數(shù)同時(shí)增大同時(shí)減小或者一個(gè)增大一個(gè)減小時(shí),可以更加靈活的實(shí)現(xiàn)曲線調(diào)整.
圖1α1∈(0,1),α2∈(0,1)時(shí)的二次B樣條曲線圖2α1∈(0,1),α2∈(-∞,0)時(shí)的二次B樣條曲線
圖3α1∈(1,+∞),α2∈(-∞,0)時(shí)的二次B樣條曲線圖4α1∈(-∞,0),α2∈(1,+∞)時(shí)的二次B樣條曲線
證明:
考慮C(α1,α2,u)任意兩段相鄰曲線段
其中i=2,3,…6.
故C(α1,α2,u)是C2連續(xù)的.
調(diào)整參數(shù)α1,α2,可使該曲線中G2連續(xù)及C2連續(xù).
證明:
當(dāng)α2=0時(shí),有Q4=P3從而有
當(dāng)參數(shù)α1∈(0,1/2)時(shí),
當(dāng)參數(shù)α1∈(-∞,0)或α1∈(1/2,+∞)時(shí),
從而曲線中G2連續(xù).
前面給出的曲線C(α1,α2,u)仍是二次B樣條曲線,注意到生成的新控制頂點(diǎn)比原來的控制頂點(diǎn)多一個(gè),因此,還可以用這種新的控制點(diǎn)生成一條三次B樣條曲線
其中Ni,3(u)為三次均勻B樣條基函數(shù).
仍利用前面所取的參數(shù),生成的三次均勻B樣條曲線如圖5-8所示,就此可以看出它們與相對(duì)應(yīng)的二次均勻B樣條曲線的差別.其中實(shí)線為新生成的二次均勻B樣條曲線,虛線為新生成的三次均勻B樣條曲線.
針對(duì)于參數(shù)α1,α2而言,當(dāng)它們?nèi)≈迪嗤瑫r(shí),新生成的二次B樣條曲線整體逼近控制多邊形的速度比新產(chǎn)生三次B樣條曲線要快,但新產(chǎn)生三次B樣條曲線光滑性比二次B樣條曲線要強(qiáng).
當(dāng)α1不變,α2變大或變小,曲線段會(huì)相應(yīng)靠近點(diǎn)P4或P3.同理,當(dāng)α2不變,α1變大或變小,曲線段會(huì)相應(yīng)靠近點(diǎn)P3或P2.
顯然,參數(shù)α1,α2所起的作用不同,可根據(jù)實(shí)際需要作整體或局部調(diào)控.
圖5α1∈(0,1),α2∈(0,1)時(shí)的三次B樣條曲線圖6α1∈(0,1),α2∈(-∞,0)時(shí)的三次B樣條曲線
圖7α1∈(-∞,0),α2∈(1,+∞)時(shí)的三次B樣條曲線圖8α1∈(1,+∞),α2∈(-∞,0)時(shí)的三次B樣條曲線
圖9 α1=1/2,α2=1/2時(shí)的B樣條插值曲線
注意到以上構(gòu)造的帶參數(shù)的B樣條曲線所采用的基函數(shù)次數(shù)是一樣的,同樣,我們既可以采用二次均勻B樣條基函數(shù)以及三次均勻B樣條基函數(shù)來同時(shí)構(gòu)造帶形狀調(diào)整參數(shù)曲線.不失一般性,我們?nèi)杂蒙鲜錾傻陌藗€(gè)控制頂點(diǎn),為了將兩段不同次均勻B樣條曲線進(jìn)行拼接,我們?cè)趦啥吻€公共連接點(diǎn)Q3處需要采用B樣條曲線重節(jié)點(diǎn)的性質(zhì),從而使兩段曲線都插值于該點(diǎn).下面我們主要給出帶調(diào)整參數(shù)曲線在公共連接點(diǎn)處構(gòu)造形式,并對(duì)該點(diǎn)處的連續(xù)性進(jìn)行討論.
其中N1,2(u)為二次均勻B樣條基函數(shù),N1,3(u)為三次均勻B樣條基函數(shù).
我們同樣可以給參數(shù)α1,α2取不同的值得到不同的調(diào)整曲線.圖9是當(dāng)α1=1/2,α2=1/2調(diào)整后的曲線.
證明:
經(jīng)計(jì)算得
C1(4)=Q3,C2(5)=Q3,
=3[(α1-1)P2+(1-α1-α2)P3+α2P4]
圖10-11分別為α1=1/5,α2=0,α1=3/5,α2=0時(shí)調(diào)整后所得到的曲線.
圖10α1=1/5,α2=0時(shí)的B樣條插值曲線圖11α1=3/5,α2=0時(shí)的B樣條插值曲線
注意到以上討論都是針對(duì)涉及控制頂點(diǎn)P0,P1,P2,P3,P4,P5,P6情形的.如求曲線的形變時(shí)涉及更多的控制點(diǎn),依照同樣的原理可以生成關(guān)于更多參數(shù)的B條曲線.而且隨著基函數(shù)類型變化增多,可以利用本文給出帶參數(shù)變換矩陣生成一組新控制點(diǎn)的方法,構(gòu)造相應(yīng)的帶參數(shù)的曲線,進(jìn)而完成曲線形狀調(diào)整任務(wù).
[1]Farin G.Curves and surfaces for computer aided geometric design[M].New York:Academic Press,1988.
[2]王晶昕, 閆惠薔. 帶形狀調(diào)整參數(shù)的二次B 樣條曲線(I)[J]. 吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,32(4):5~7.
[3]王仁宏. 數(shù)值逼近[M].北京:高等教育出版社,1999.
[4]王晶昕,牛 鑫.橢圓曲線的帶調(diào)節(jié)參數(shù)的Bézier曲線逼近[J]. 吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版), 2011, 32(1):8~10.
[5]劉長明, 檀結(jié)慶. 二次均勻B樣條曲線的擴(kuò)展[J]. 合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2004, 27(5): 459~463.
[6]廖麗君, 肖鳴宇. 二次均勻B樣條方法的擴(kuò)展與應(yīng)用[J]. 曲阜師范大學(xué)學(xué)報(bào), 2005, 31(4):114~118.
[7]韓旭里, 劉圣軍. 三次均勻B樣條曲線的擴(kuò)展[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2003,15(5):576~578.
[8]熊 建. 帶多形狀參數(shù)的樣條曲線曲面及其應(yīng)用研究[D]. 合肥工業(yè)大學(xué), 2008.
[9]謝 進(jìn), 洪素珍. 帶形狀參數(shù)的二次B樣條曲線[J]. 計(jì)算機(jī)輔助建筑, 2006,(2):15~20.
[10]左傳桂, 王國昭. 多形狀參數(shù)的四階均勻B樣條曲線設(shè)計(jì)[J]. 浙江大學(xué)學(xué)報(bào)(理學(xué)版), 2001,30(2):252~256.
[11]王文濤, 汪國昭. 帶形狀參數(shù)的均勻B樣條[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2004,16(6):783~788.