龍全貞+丁小星+劉偉



摘要:根據NURBS曲線\曲面的基本表達式以及中心投影逆變換方法,利用MATLAB軟件給出通用的交互式繪制程序,便于實現與貝齊爾、B樣條曲線\曲面的轉換,滿足工程設計與教學的需要。
關鍵詞:非均勻有理B樣條;CAGD;交互式;造型技術
中圖分類號:O241.5 文獻標識碼:A 文章編號:1007-9416(2017)07-0233-04
1 引言
二十一世紀,隨著新軍事變革不斷的深入,武器更新換代加速,這對裝備的研發如戰車、艦艇、戰機等提出了更高的要求[1],而它們外形設計的基礎是自由曲線曲面造型技術,標準的數學表示形式則是工程設計上常用的非均勻有理B樣條曲線\曲面(NURBS)[2]。
關于自由曲線曲面繪制程序的開發以及利用軟件進行可視化實現,已有不少文獻做了研究[3-5]。文獻[3]開發了B樣條曲線繪制系統,便于實施可視化教學。文獻[4]基于VC環境,利用典型區域集結的方式得到了三次樣條曲線的繪制代碼,可以實現局部顯示與修改。文獻[5]則根據B樣條曲線的原理,給出了算法終止的條件。2013年,由施法中編著的CAGD教材修訂版配套教學軟件問世[6],使學者可利用其自學教材或進行研究,但因其只能繪制二維平面曲線,且輸入的坐標值需為大于100的正整數,局限性較明顯。
MATLAB軟件又稱矩陣實驗室,是美國mathworks公司于1984年開發的集數值計算,圖形圖像分析[7],交互式程序設計等功能于一體的商業數學軟件,已發展到了2014b版本。目前,利用其實現NURBS曲線\曲面的可視化,并與B-Spline,Bezier曲線\曲面進行互相轉換,輔助船體設計是一個重要的研究課題。
本文根據NURBS曲線\曲面的表達式定義,基于中心投影逆變換方法[6],利用MATLAB軟件給出相應的m文件,可根據工程設計與教學的需要實現自由曲線曲面的繪制及交互式修改。
輸出:NURBS曲面如圖3所示。
通過實例1,2與文獻[6]配套軟件對比,MATLAB軟件具有如下優勢:
(1)matlab編寫的m文件適用性較廣,可在NURBS與B樣條曲線曲面間自由轉換(如圖1~3;圖5所示),而文獻[6]配套軟件則需在不同界面間切換,處理復雜曲線曲面較費時(如圖4、6所示)。
(2)生成不同維度(2維\3維)的NURBS和B樣條曲線時,matlab輸入數據不受正負符號與維度限制,而文獻[6]配套軟件輸入數據前需預處理轉化為大于100的正整數值,且曲線局限于二維情形,不利于工程實際需求(如圖6所示)。
5 結語
本文利用數學軟件MATLAB基于NURBS曲線\曲面的基本原理編寫了通用的m文件,探索其在計算機輔助幾何設計領域的應用。與文獻[6]提供的配套教學軟件相比,MATLAB一定程度克服了前者多界面處理的復雜性,僅能輸入大于100正整數的局限性,彌補其無法繪制三維曲線的不足,可廣泛應用于CAGD教學,科研以及海軍、海警等船體輔助設計。但其缺點在于暫無法同時實現NURBS曲面的三視圖顯示,故這是我們今后主要的研究方向。
參考文獻
[1]袁藝,張磊,苑薇,林生.三維動畫技術在軍事領域中的應用[J].國防科技,2009,30(1):25-28.
[2]楊耿國.基于多層結構物理模型的三維人臉動畫研究[D].山東:山東大學,2005.
[3]黃勝忠.用Matlab GUI技術實現B樣條曲線的可視化教學[J].電腦開發與應用,2010,23(9):4-6.
[4]穆宣社.基于三次樣條曲線繪制與實現[J].電腦編程技巧與維護,2010,17(7):70-72.
[5]林杰.B樣條曲線的繪制算法及其實現[J].福建電腦,2011,27(9):17-19.
[6]施法中.計算機輔助幾何設計與非均勻有理B樣條(修訂版)[M].北京:高等教育出版社,2013:380-384.
[7]王鳳嬌.MATLAB語言在自動控制系統校正裝置設計中的應用[D].吉林:吉林大學,2007.
[8]丁小星.一種B樣條曲線局部修改算法[J].計算機工程與應用,2013,49(7):176-178.
[9]丁小星,龍全貞,劉偉.貝齊爾曲線性質的推導與可視化實現[J].高師理科學刊,2015,35(7):18-21.endprint