摘 要:文章針對傳統(tǒng)的求曲線上點的插值法和冪基法的不足之處,提出了借鑒Berstein基函數(shù)求曲線上點的幾何算法,并研究了如何將該方法用迭代算法來書寫。采用了matlab編程的方法求解了一條平面曲線上指定的點,結(jié)果發(fā)現(xiàn)該算法能夠比較精確地求出曲線上的點,比用通常的冪基函數(shù)的方法更簡單,且對舍入誤差不敏感;更重要的是易在計算機上用matlab編程實現(xiàn),且具有較強的幾何風格;但是該算法的計算效率稍差。因此在對計算效率要求不是很高的情況下,可以考慮用該幾何迭代算法來彌補傳統(tǒng)的求曲線上點的方法的不足之處。
關(guān)鍵詞:Bernstein基函數(shù);升階逼近;Bezier曲線;幾何迭代算法
中圖分類號:TP18
在自然科學的研究中,曲線的表示理論及其應(yīng)用已經(jīng)滲透到許多領(lǐng)域內(nèi),如解決數(shù)學物理方程、差分方程、幾何造型等問題。工程設(shè)計中的某些臨界值問題、造船工業(yè)、航空工業(yè)和汽車制造工業(yè)中經(jīng)常遇到的幾何外形設(shè)計問題等[1]都涉及到曲線曲面等的表示問題。曲線上點的求解是我們需要經(jīng)常面對的重要問題,它的計算常用的方法有插值法和冪基法。其中,插值法是通過將要求的曲線表示為一系列插值基的線性組合的形式,主要的方法有Newton插值法、Hermite插值法等[2-3];冪基法是直接對傳統(tǒng)的基函數(shù)進行處理,通過變換,使之變?yōu)檩^容易求的原曲線對應(yīng)新曲線的相應(yīng)點,進而利用新曲線的對應(yīng)點去求原曲線上所要求的點。然而,這幾種方法都有如下幾個方面的缺點[4-5]:
(1)用于形狀設(shè)計時不夠自然,系數(shù)只能傳遞很少的關(guān)于曲線形狀的直觀幾何印象。而且設(shè)計者通常需要指定曲線兩端的端點條件,而不僅僅是起點處的條件。
(2)處理冪基多項式的算法更多地具有代數(shù)風格而非幾何風格。且更重要的是不能很有效地用計算機編程來求解。
本文在傳統(tǒng)的曲線表示理論方法的基礎(chǔ)上做出了一些改進,提出了幾何迭代算法概念。該算法能夠由曲線上給定的初始型值點,通過迭代的方法算出曲線上要求的任何一點。該方法的最大特點是較易在計算機上用matlab來實現(xiàn)且具有較強幾何風格。
1 Bernstein基函數(shù)的定義及相關(guān)性質(zhì)
2 Berstein曲線的定義和性質(zhì)
3 曲線上點的幾何迭代算法
5 結(jié)束語
通過matlab實例驗算,發(fā)現(xiàn)該幾何迭代算法能夠比較精確地算出曲線上要求的點,與傳統(tǒng)的冪基方法等比較而言,該方法幾何意義更強。由于Bernstain基函數(shù)的凸包性和變差性,該方法更適合曲線的交互設(shè)計。設(shè)計者通過(Bezier曲線的)控制點可以比通過冪基形式中的系數(shù)更直觀地控制曲線的形狀。而且和傳統(tǒng)算法相比,該算法對舍入誤差不敏感。這在直觀上是清楚的,因為可以認為該算法是反復(fù)地在兩點之間做線性插值運算,所有這些點都位于曲線的附近。該方法的缺點是計算的效率稍差,如何能夠有效地提高計算效率是需要進一步研究的問題。
參考文獻:
[1]王仁宏,許志強.分片代數(shù)曲線Bezout數(shù)的估計[J].中國科學(A輯:數(shù)學),2003(02):185-192.
[2]Liu H Y,Zhu C G,Li C Y.Constructing N-sided toric surface patches from boundary curves[J].Information and Compute.Sci.,2012(03):737-743.
[3]Zhu C G,Wang R H. The correspondence between multivariate spline ideals and piecewise algebraic varieties[J].Journal of Computational and Applied Mathematics,2011(05):793-800.
[4]李學軍,黃文清.平面區(qū)域三角化的快速算法[J].計算機輔助幾何設(shè)計與圖形學學報,2003(02):78-79.
[5]陳平.計算幾何若干問題研究[D].浙江大學,2011.
作者簡介:高靈霞(1978.12-),女,河北人,講師,碩士,主要研究方向為人工智能、計算幾何。
作者單位:重慶電子工程職業(yè)學院 計算機學院,重慶 401331