康鳳娥, 孔令德
(太原工業(yè)學(xué)院 1.電子工程系; 2.計(jì)算機(jī)工程系, 山西太原 030008)
有理Bezier曲面模型的構(gòu)建與應(yīng)用
康鳳娥1, 孔令德2
(太原工業(yè)學(xué)院 1.電子工程系; 2.計(jì)算機(jī)工程系, 山西太原 030008)
傳統(tǒng)的建模方法不能精確表示曲面體的彎曲度,針對(duì)這些不足,本文采用有理Bezier方法構(gòu)建曲面模型,給出了橢球體標(biāo)準(zhǔn)型有理二次Bezier控制點(diǎn)和權(quán)因子的求解算法;利用非有理Bezier的升階算法將有理二次Bezier升階為有理三次Bezier,給出了標(biāo)準(zhǔn)型有理三次Bezier曲線控制點(diǎn)和權(quán)因子的求解算法,構(gòu)建了有理雙三次Bezier橢球體曲面模型,通過調(diào)整控制點(diǎn)或權(quán)因子參數(shù)可生成如葫蘆、青椒、雞蛋等光滑的曲面模型.實(shí)驗(yàn)表明,該算法具有很好的設(shè)計(jì)靈活性和交互性,為構(gòu)建曲面模型提供了新的技術(shù)支持.
計(jì)算機(jī)應(yīng)用;有理Bezier曲面;升階;權(quán)因子
非均勻有理 B 樣條(NURBS)方法是定義產(chǎn)品形狀最流行的數(shù)學(xué)方法, 目前大多數(shù) CAD軟件都支持使用 NURBS 曲面的建模, 有理Bezier方法是它的一種特例[1], 其構(gòu)建的模型便于形狀控制和交互設(shè)計(jì), 并且較其他建模方法更能精確表達(dá)物體表面的彎曲度. 因此在工業(yè)產(chǎn)品設(shè)計(jì)、 影視動(dòng)畫、 三維游戲、 虛擬現(xiàn)實(shí)環(huán)境、 醫(yī)學(xué)研究等領(lǐng)域中獲得越來越廣泛的應(yīng)用.
國內(nèi)有關(guān)Bezier造型方法已有一定的研究, 文獻(xiàn)[2-3]用三次Bezier曲線方法逼近橢圓和雙曲線, 給出了最優(yōu)的誤差估計(jì);文獻(xiàn)[4]給出了圓弧的一種更實(shí)用的帶參數(shù)標(biāo)準(zhǔn)型有理三次Bezier表示形式;文獻(xiàn)[5]通過調(diào)節(jié)參數(shù)的值, 就可以得到同一圓弧不同的標(biāo)準(zhǔn)型有理三次貝齊爾表示;文獻(xiàn)[6]主要研究了橢圓弧的有理四次貝齊爾表示和多項(xiàng)式逼近;文獻(xiàn)[7]利用普勞茨算法對(duì)整橢圓的二次NURBS 表示升階為三次NURBS 表示. 隨著三維掃描獲取技術(shù)的快速發(fā)展,對(duì)掃描儀獲取的點(diǎn)云進(jìn)行配準(zhǔn)和網(wǎng)格重構(gòu)也成為曲面造型研究的熱點(diǎn)問題[8-10]. 上述文獻(xiàn)多數(shù)是假定在已知控制點(diǎn)或權(quán)因子的前提下, 對(duì)曲線或曲面的數(shù)學(xué)模型如何表示進(jìn)行研究, 有許多算法是借助Bezier曲面的控制點(diǎn)和權(quán)因子來描述的.
在工程設(shè)計(jì)中, 常常會(huì)遇到已知曲線曲面的形狀或一些型值點(diǎn), 要求構(gòu)造插值于這些型值點(diǎn)的曲線曲面的情況, 這就需要反求曲線曲面的控制點(diǎn)和權(quán)因子. 本文以圓弧曲面體為研究對(duì)象, 首先求解橢圓弧的有理二次Bezier曲線的控制點(diǎn)和權(quán)因子, 然后利用升階公式求解橢圓弧的有理三次Bezier曲線的控制點(diǎn)和權(quán)因子. 通過獲得的控制點(diǎn)和權(quán)因子數(shù)據(jù)構(gòu)建橢球體曲面模型, 并以橢球體曲面模型為基本圖元, 通過調(diào)整的控制點(diǎn)和權(quán)因子, 實(shí)現(xiàn)如葫蘆、 話筒等曲面模型的構(gòu)建.
由于同一段有理Bezier曲線在相同的控制頂點(diǎn)下, 權(quán)因子的解不是唯一的, 曲線上同一點(diǎn)的參數(shù)值也不是唯一的[11], 為了使權(quán)值唯一, 同時(shí)便于面片拼接, 本文采用標(biāo)準(zhǔn)型的有理Bezier曲線表示1/4橢圓弧, 則首末端點(diǎn)的權(quán)因子等于1, 內(nèi)權(quán)因子根據(jù)權(quán)因子的幾何意義反算得出.
1.1 計(jì)算有理二次Bezier控制點(diǎn)及權(quán)因子
給定一組控制點(diǎn)P0、P1和P2, 以及相應(yīng)的權(quán)因子w0、w1和w2, 二次有理Bezier曲線定義為
(1)
(2)
當(dāng)首末端點(diǎn)對(duì)應(yīng)的權(quán)值為w0=w2=1時(shí), 則稱其為標(biāo)準(zhǔn)型的二次有理Bezier曲線[12].
顯然, 曲線弧的首末端點(diǎn)為P0(0, b)和P2(a, 0), 分別過端點(diǎn)P0和P2的切線交于一點(diǎn)P1, 則內(nèi)控點(diǎn)坐標(biāo)值為P1(a, b), 首末端點(diǎn)的權(quán)因子w0=w2=1, 只剩下內(nèi)權(quán)因子w1待定.
P點(diǎn)坐標(biāo)值為
(3)
(4)
由(3)和(4)式有
解得內(nèi)權(quán)因子值為
1.2 計(jì)算有理三次Bezier控制點(diǎn)及權(quán)因子
可對(duì)(2)式中帶權(quán)的老控制點(diǎn)按照非有理Bezier曲線的升階公式[14-15]進(jìn)行升階, 得到有理三次Bezier曲線的表達(dá)式為
(5)
由于新控制頂點(diǎn)確定的有理三次Bezier的曲線表達(dá)式為
(6)
其中t∈[0, 1], (6)式展開為
(7)
由式(5)和式(7)得到新控制點(diǎn)及新權(quán)因子算式為
2.1 計(jì)算控制網(wǎng)格頂點(diǎn)及權(quán)因子
描述有理雙三次Bizier曲面的數(shù)學(xué)模型為
(8)
式(8)中i=0,1,2,3, j=0,1,2,3. Pi,j是一個(gè)4×4矩形陣列的控制網(wǎng)格頂點(diǎn), wi,j是與控制點(diǎn)Pi,j對(duì)應(yīng)的權(quán)因子, Bi,3(u)和Bj,3(v)分別是三次u向和v向的Bernstein基函數(shù).
構(gòu)建一個(gè)圓心位于原點(diǎn), 長半軸為a、 短半軸為b的橢球體曲面模型, 可將橢圓曲面按卦限分成8個(gè)面片, 由于確定一張雙三次Bizier面片需要4×4個(gè)控制點(diǎn)和對(duì)應(yīng)的4×4個(gè)權(quán)因子, 一個(gè)面片有 4個(gè)邊界 , 而1/8橢圓曲面片只有3條邊界, 因此將u=0的邊界退化成一個(gè)點(diǎn), 則曲面控制點(diǎn)P0,0=P1,0=P2,0=P3,0=(0,b, 0)成為一個(gè)角點(diǎn), 另外兩個(gè)角點(diǎn)為P0,3=(0, 0,a)P3,3=(a, 0, 0), 三個(gè)角點(diǎn)對(duì)應(yīng)的權(quán)因子為w0,0=w1,0=w2,0=w3,0=1, w0,3=
w3,3=1, 3個(gè)邊界的內(nèi)控點(diǎn)及內(nèi)權(quán)因子可根據(jù)1.2節(jié)算法得出.
類似地, 再以邊界上的內(nèi)控制點(diǎn)和內(nèi)權(quán)因子作為邊界內(nèi)控制點(diǎn)的首末端點(diǎn), 使用1.2節(jié)算法計(jì)算得出邊界內(nèi)的內(nèi)控點(diǎn)和內(nèi)權(quán)因子.
2.2 模型繪制
橢球體曲面模型由8個(gè)面片組成, 每個(gè)面片控制網(wǎng)格頂點(diǎn)Pi,j對(duì)應(yīng)的權(quán)因子wi,j見表1, 其中
若表2中, a=200,b=350, 參數(shù)u和v在區(qū)間[0, 1]以步長為0.1變化時(shí), 使用Visual C++平臺(tái)繪制的有理雙三次Bezier的橢球曲面片網(wǎng)格模型如圖3(a)所示, 圖3(b)是由8個(gè)面片拼接的橢球曲面網(wǎng)格模型.
實(shí)踐中, 人們更希望在基本模型上進(jìn)行修改, 實(shí)現(xiàn)預(yù)定的模型效果, 圖4~5所示的曲面模型就是通過修改圖3模型的控制點(diǎn)和權(quán)因子參數(shù)來繪制的葫蘆及青椒的曲面網(wǎng)格模型.
[1] 施法中.反求標(biāo)準(zhǔn)型有理二次Bezier曲線的參數(shù)與內(nèi)權(quán)因子[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 1995,7(2): 91-95.
[2] Feng Y Y, Zeng F L, Deng J S.Perfect approximation of ellipsoid by polynomials[J].Journal of Software,2002,13(4):526- 531.
[3] 馮玉瑜,曾芳玲,鄧建松. 雙曲面片的高精度多項(xiàng)式逼近 [J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2002, 14(10): 953-958.
[4] 杭后俊, 李汪根.圓弧標(biāo)準(zhǔn)型有理三次Bezier表示的內(nèi)在性質(zhì)研究[J]. 中國圖象圖形學(xué)報(bào),2011,16(12):2091-2198 .
[5] 韓西安,施法中.有理n次Bezier曲線的權(quán)因子與參數(shù)化研究[J].小型微型計(jì)算機(jī)系統(tǒng),2001,22(1):63-65.
[6] 趙婷.橢圓弧有理Bézier表示和多項(xiàng)式逼近[D].鄭州:鄭州大學(xué), 2013.
[7] 潘俊超,杭后俊,姚興.整橢圓的三次NURBS 表示及其應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2016,52(3):189-182.
[8] 張飛飛.點(diǎn)云數(shù)據(jù)簡化及三維曲面重構(gòu)[D].吉林:吉林大學(xué), 2012.
[9] 張會(huì)霞.基于3 維激光掃描技術(shù)建筑物建模研究[J].激光技術(shù),2014,38(3):431-434.
[10] 胡事民,楊永亮,來煜坤.數(shù)字幾何處理研究進(jìn)展[J].計(jì)算機(jī)學(xué)報(bào),2009,32(8):1451-1469.
[11] 杭后俊, 李汪根.圓弧標(biāo)準(zhǔn)型有理三次Bezier表示的內(nèi)在性質(zhì)研究[J]. 中國圖象圖形學(xué)報(bào),2011,16(12):2091-2198.
[12] 施法中.計(jì)算機(jī)輔助幾何設(shè)計(jì)與非均勻有理B樣條[M].北京:高等教育出版社, 2013:378-380.
[13] 施法中.權(quán)因子、 參數(shù)變換與有理二次Bezier曲線參數(shù)化[J].航空學(xué)報(bào),1994,15(9):1151-1154.
[14] Gerald Farin.curves and surfaces for CAGD[M].CA:Morgan Kaufmann Publishers.2002: 81-86.
[15] 馬瑞海, 邱澤陽. Bezier曲線的升階方法[J]. 黑龍江科學(xué)學(xué)院學(xué)報(bào),2010,20(6):481-487.
[責(zé)任編輯 胡廷鋒]
Construction and Application of Surface Model by Rational Bicubic Bezier
KANG Feng-e1, KONG Ling-de2
(1. Department of Electronic Engineering, Taiyuan Institute of Technology, Taiyuan 030008, China; 2. Department of Computer Engineering, Taiyuan Institute of Technology, Taiyuan 030008, China)
Traditional modeling methods can not accurately present curvature of curved surface. To solve these problems, this paper constructs surface model by using of rational Bezier, and gives the algorithm to get standard rational quadratic Bezier control points and weight factors for ellipsoid; Using algorithms for degree-raising of non-rational Bezier to raise the rational quadratic Bezier to rational cubic Bezier, and gives the standard rational bi-cubic bezier surface control points and weight factors algorithm to construct rational ellipsoid surface model. Based on this model, and by adjusting the control point or weight factor can generate a smooth surface like a gourd, microphone, eggs and so on. The experimental results show that: this algorithm provides a new technical support for constructing a surface model, and has good design flexibility and interactivity.
computer application; rational Bezier surface; degree raising; weight factor
TP391.7
A
1009-4970(2017)02-0010-05
2016-12-26
康鳳娥(1963—), 女, 學(xué)士, 高級(jí)實(shí)驗(yàn)師. 研究方向: 計(jì)算機(jī)應(yīng)用; 孔令德(1964—), 男, 博士, 教授. 研究方向: 圖形圖形處理.