?

三次Bezier曲線的生成與拼接

2016-10-17 18:36李紅林
科技視界 2016年21期
關鍵詞:連續性

李紅林

"

"

【摘 要】本文利用VC++編程環境,生成兩段三次Bezier曲線,并對曲線進行連續性條件討論,且實現了曲線拼接。

【關鍵詞】三次;Bezier;連續性;曲線拼接

【Abstract】In this paper, the VC++ programming environment is used to generate three Bezier curves, and the continuity conditions are discussed, and the curves are achieved

【Key words】Cubic; Bezier; Continuity; Curve Splicing

Bezier曲線是由法國人Bezier于20世紀70年代初為解決汽車外型設計而提出的一種新的參數表示方法[1]。Bezier 方法是曲線、曲面造型中的一個里程碑,它以逼近原理為基礎,應用Bezier方法,可逼近數學曲線、曲面或設計師勾畫的草圖,起到輔助設計的作用[2-3]。由于實際應用中的線和面形狀復雜,用單一曲線、曲面無法表示,所以有必要對曲線、曲面進行拼接。

1 定義

1.1 Bezier曲線的定義

2 三次Bezier曲線的生成

在VC++6.0 環境下,新建一個基于MFC的單文檔工程。在工程View.cpp中添加Bezier曲線生成函數,當n=3時,生成任意兩條三次Bezier曲線,如圖1所示。

3 三次Bezier曲線的拼接及連續性

樣條曲線是由各個多項式曲線段連接而成,為了保證各個曲線段在連接點處是光滑的,需要滿足各種連續性條件[5]。連續性有參數連續性和幾何連續性。若兩條相鄰參數曲線段在連接點處具有n階連續導矢,即n階連續可微,則將這類連續性稱為n階參數連續性條件,記為Cn。若只要求兩條相鄰參數曲線段在連接點處的n階導矢成比例,而不要求必須相等,則將這類連續性稱為n階幾何連續性,記為Gn。因參數連續性條件比幾何連續性條件更加苛刻一些。所以,在三次Bezier曲線拼接時以幾何連續性為例。

設兩條三次Bezier 曲線的控制點列分別為Pi(i=0,1,2,3)和Qj(j =0,1,2,3)。若將P(t)段與Q(t)相連,則在連接點處達到G0、 G1、G2連續的充要條件是:

(1)G0連續:P(1)=Q(0)。即P(t)的終點與Q(t)的起點重合,如圖2 所示,曲線在連接點處不能保證是光滑連接。

(2)G1連續:是兩段相鄰曲線在連接點處不僅達到G0連續,同時一階導數成比例,即P(1)=αQ(0),其中α是比例系數。具有G1連續,在連接點處有公共的切矢方向,即P2,P3(Q0),Q1三點共線,如圖3所示。

(3)G2連續:指兩段相鄰曲線段的一階導數、二階導數在交點處均成比例。P(1)=αQ(0),P(1)=βQ(0)。G2連續除了滿足G1 條件外,還滿足:副法矢方向相同、曲率相等。

4 結論

本文首先對三次Bezier曲線進行了簡單分析與實現;其次對曲線的連續性進行分析;最后對生成的三次Bezier曲線進行拼接。該拼接方法可實現任意次的Bezier曲線的拼接。

【參考文獻】

[1]杜曉增,丁宇辰.計算機圖形學基礎[M].2版.北京:機械工業出版社,2013:103.

[2]嚴蘭蘭,宋來忠,李軍成.有理Bezier 曲線的拼接[J].三峽大學學報:自然科學版,2005,27(5):469-471.

[3]楊林英.Bezier曲線的拼接及擴展[D].蘭州:西北師范大學,2013.

[4]蘆殿軍.Bezier 曲線的拼接及其連續性[J].青海大學學報:自然科學版,2004,22(6):84-86.

[5]銀紅霞,杜四春,蔡立軍.計算機圖形學[M].北京:水利水電出版社,2005:133-134.

[責任編輯:楊玉潔]

猜你喜歡
連續性
非連續性文本之圖文轉化題閱讀摭談
不可壓縮Navier-Stokes方程解的非線性連續性
非連續性實用類文本閱讀解題技巧例談
小學中段非連續性文本閱讀教學初探
圖文類非連續性文本閱讀能力的培養
半動力系統中閉集的穩定性和極限集映射的連續性
連續性
非經典擴散方程的拉回吸引子在中的上半連續性
小學語文非連續性文本的閱讀教學策略
廣西一次連續性暴雨過程分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合