OpenCASCADE Rational Bezier Curves

來源:互聯網
上載者:User

標籤:des   style   blog   http   color   io   使用   ar   strong   

OpenCASCADE Rational Bezier Curves

[email protected]

Abstract. Although polynomials offer many advantages, there exist a number of important curve and surface types which cannot be represented precisely using polynomials, e.g., circles, ellipses, hyperbolas, cylinders, cones, spheres, etc. So we introduce the concepts of rational curves and homogeneous coordinates to solve the problem. To understand rational curves in a homogenous coordinate system is more straightforward. If you define irrational Bezier curves in 4D space and then project them back into 3D space, you obtain rational curves. 

Key Words. OpenCASCADE, Rational Curves, Homogenous Coordinate, Geom_BezierCurve

1. Introduction

由於採用了Berstein基函數,Bezier曲線具有許多良好的性質。但是作為多項式曲線,在表示一些“基本”曲線時還是有所不足。例如半徑為1的圓弧曲線,其參數方程可表示為: 

圓弧曲線並不是多項式曲線,所以Bezier曲線不可能精確表示像圓弧這樣的簡單曲線。經過參數變換t=tan(u/2),可以把上面的圓弧表示為: 

這說明可以用有理多項式來精確表示圓弧曲線。事實上,有很多重要的曲線、曲面類型,如圓、橢圓、雙曲線、圓柱面、圓錐面、球面等,都無法用Bezier來精確表示。由經典數學可知,包括圓在內的所有二次曲線都可以用有理函數(即兩個多項式相除)來表示,即如下形式的有理函數來表示:、 

本文主要從齊次座標的標記法上來理解有理Bezier曲線的概念,及結合OpenCASCADE中的Bezier曲線來理解權因子的幾何意義。

2. Homogeneous Coordinates

在《計算幾何》、《電腦圖形學》或《電腦輔助幾何造型技術》等書中,都會給出有理曲線的齊次座標(Homogeneous Coordinates)標記法,藉此來從幾何上直觀理解有理曲線的意義。剛開始接觸齊次座標的概念時,很不能理解,原來這是射影幾何中的一些概念。對此概念陌生的讀者可以參考丘維聲的《解析幾何》,其中對齊次座標、交比等概念作了詳細解釋。 

現在我們來說明齊次座標與仿射座標的關係。設點M是平面上的通常點,(x,y)是它對於標架[O1:e1,e2]的仿射座標,則對於標架[O2:e1,e2,e3]的座標就是(x,y,1),於是點M的齊次座標(x1,x2,x3)與(x,y,1)成比例: 

其中λ≠0.從而得: 

因此,通常點的齊次座標和仿射座標可以互相確定。有時我們把通常點M的仿射座標(x,y)稱為它的非齊次座標。 

從四維Euclidean空間的齊次座標到三維Euclidean空間的中心投影變換 

這裡三維空間的點[X,Y,Z]稱為四維空間點[X,Y,Z,ω]的透視像,就是四維空間點[X,Y,Z,ω]在ω=1超平面上的中心投影,其投影中心就是四維空間的座標原點。因此四維空間點[X,Y,Z,ω]與三維空間點[X,Y,Z]被認為是同一點。事實上,對任意X,Y,Z,ω1,ω2,其中ω1≠ω2,有: 

由上可知:一個點的齊次座標不是唯一的。

在CAGD中描述形狀的空間曲線與曲面都要用到三維空間。但是人類思維能力的限制,我們無法用圖形或模型來表達從四維空間到三維空間的投影變換關係。為了理解這種投影變換的幾何關係,我們可以降低一維,考察從三維到二維空間的投影變換,如所示為三維空間的齊次座標到二維空間的投影。 

Figure 2.1 A representation of Euclidean points to homogeneous form 

關於中心投影、射影平面、齊次座標、變比等概念,可參考丘維聲的《解析幾何》一書。

3. Bezier Curve Perspective Map

在理解射影變換(Perspective Map)及齊次座標的概念後,可以構造有理Bezier曲線的幾何模型。現假設給定控制點{Pi},權因子{ωi},我們構造帶權控制點: 

然後在四維空間中定義非有理(即多項式)Bezier曲線: 

將帶權控制點代入上式詳細寫出每一項得: 

以原點為中心,將四維的Bezier曲線投影到ω=1的三維超平面上,所得到的投影曲線為: 

消去λ即得到有理Beizer曲線: 

 

4. The Effects of Weighting Factors

有理Bezier曲線除了具有類似於Bezier曲線的性質外,還增加了關於“權因子”(Weights)的調整性質。 

4.1 可退化性

當權因子ωi=ω≠0時(i=0,1,...,n),有理Bezier曲線退化成Bezier曲線。因為ω相同,所以有理Bezier曲線公式中的ω可以消去,又根據Bernstein基函數的規範性即得。使用OpenCASCADE的Tcl指令碼測試效果如所示: 

Figure 4.1 Degeneracy of Rational Bezier Curve 

相應的Tcl指令碼如下所示: 

##    Copyright (c) 2014 eryar All Rights Reserved.##        File    : degenerate.tcl#        Author  : [email protected]#        Date    : 2014-09-19 18:10#        Version : 1.0v##    Description : Demonstrate the degeneracy of Rational Bezier Curve.#pload ALL# Bezier Curve with Weighted Poles: # {P(1,0), w(1)}, {P(1,1), w(1)}, {P{0,1}, w(1)}2dbeziercurve bc1 3 1 0 1 1 1 1 0 1 1v2d2dfit# Bezier Curve without weights:2dbeziercurve bc2 3 1 0 1 1 0 1mkedge e1 bc2 0 1vdisplay e1vtopvfit

上述Tcl指令碼中先把權值相同的有理Bezier曲線顯示在二維視窗中,再將不帶權的Bezier曲線(控制節點與帶權值相同),先產生Edge,再在檢視區 3D中顯示出來。由圖可知,當有理Bezier曲線的權值相同時,即退化為非有理的Bezier曲線。

4.2 當ω0≠0,ωn≠0時,對任意u∈[0,1],

只需證明u∈[0,1]的情況, 

這說明只要ω0≠0,ωn≠0,有理Bezier曲線R(u)一定通過首末控制頂點P0和Pn。對u∈[0,1],當ωi越大,R(u)越趨向於Pi;反之,當ωi越小,R(u)越遠離Pi。

可以看出ωi→∞的極限狀態時,R(u)即過通過Pi。使用OpenCASCADE的Tcl指令碼來驗證得到如所示結果: 

Figure 4.2 Rational Bezier Curve with different Weights 

相應的Tcl指令碼如下所示: 

##    Copyright (c) 2014 eryar All Rights Reserved.##        File    : degenerate.tcl#        Author  : [email protected]#        Date    : 2014-09-19 18:10#        Version : 1.0v##    Description : Demonstrate the Rational Bezier Curve with different weights.#pload ALLset w1 0.1set w2 0.5set w3 1.0set w4 2.0set w5 5.0set u 0.5# 4 Bezier Curve with defferent Weighted Poles: # {P(1,0), w(1)}, {P(1,1), w($w)}, {P{0,1}, w(1)}2dbeziercurve bc1 3 1 0 1 1 1 $w1 0 1 12dbeziercurve bc2 3 1 0 1 1 1 $w2 0 1 12dbeziercurve bc3 3 1 0 1 1 1 $w3 0 1 12dbeziercurve bc4 3 1 0 1 1 1 $w4 0 1 12dbeziercurve bc5 3 1 0 1 1 1 $w5 0 1 1# mark weight factor.2dcvalue bc1 $u x1 y12dcvalue bc2 $u x2 y22dcvalue bc3 $u x3 y32dcvalue bc4 $u x4 y42dcvalue bc5 $u x5 y5dtext x1 y1 w1=$w1dtext x2 y2 w2=$w2dtext x3 y3 w3=$w3dtext x4 y4 w4=$w4dtext x5 y5 w5=$w5v2d2dfit

上述代碼顯示了一條三個控制頂點2次的有理Bezier曲線當控制頂點P(1,1)對應的權因子ω變化時的不同的情況。當ω增大時,導致曲線被拉向控制頂點;當ω減小時,導致曲線被推離控制頂點。當ω趨於無窮大時,此時曲線將退化為與控制頂點重合的一個點。 

5. Bezier Geometry Curve

OpenCASCADE中的Bezier曲線Geom_BezierCurve本身就是有理Bezier曲線,且都是基於BSplCLib包實現的。即有理Beizer曲線也是NURBS曲線的特例。如所示: 

當建構函式只有控制頂點時,將會構造一個非有理的Beizer曲線。當建構函式將控制頂點對應的權因子也設定進來時,將會構造一個有理Bezier曲線。當構造有理Beizer曲線時,若控制頂點的所有權值都相同,則認為是非有理Bezier曲線,即退化性質的體現。 

6. Conclusion

綜上所述,由齊次座標標記法來理解有理Bezier曲線的概念還是比較直觀的,進而可以去理解NURBS曲線曲面的概念。 

有理Beizer曲線與非有理Bezier曲線的區別就是權因子。若控制點對應的權因子都相同時,有理Beizer曲線退化為非有理Bezier曲線。且權因子的值越大,則曲線越接近對應的控制頂點。權因子對曲線還有很多重要性質,讀者可以參考其他相關書籍。 

OpenCASCADE中的Beizer曲線是基於BSplCLib包實現的,即是NURBS曲線的特例。所以可以表示有理有非有理的Bezier曲線。 

7. References

1. 數學手冊編寫組. 數學手冊. 高等教育出版社. 1979 

2. 丘維聲. 解析幾何. 北京大學出版社. 1996 

3. 蘇步青,劉鼎元. 計算幾何. 上海科學技術出版社. 1981 

4. 蘇步青,華宣積. 應用幾何教程. 複旦大學出版社. 2012 

5. 莫蓉,常智勇. 電腦輔助幾何造型技術. 科學出版社. 2009 

6. 王仁宏,李崇君,朱春鋼. 計算幾何教程. 科學出版社. 2008 

7. 趙罡,穆國旺,王拉柱譯. 非均勻有理B樣條. 清華大學出版社. 2010 

8. 朱心雄等. 徒手畫曲面造型技術. 科學出版社. 2000 

9. 孫家廣. 電腦圖形學. 清華大學出版社. 2000 

10. 孫家廣. 電腦輔助幾何造型技術. 清華大學出版社. 2000 

11. 王國瑾,汪國昭,鄭建民. 電腦輔助幾何設計. CHEP & Springer-Verlag. 2001 

12. Les Piegl, Wayne Tiller. The NURBS Book. Springer-Verlag. 1997 

13. Kelly Dempski. Focus on Curves and Surfaces. Premier Press. 2003 

14. OpenCASCADE. Test Harness User’s Guide 6.7.1. 2014 

15. OpenCASCADE. ModelingData User’s Guide 6.7.1. 2014 

 

PDF Version and Tcl Scripts: OpenCASCADE Rational Bezier Curves

OpenCASCADE Rational Bezier Curves

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.