三次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方程解的非线性连续性
非连续性实用类文本阅读解题技巧例谈
小学中段非连续性文本阅读教学初探
图文类非连续性文本阅读能力的培养
半动力系统中闭集的稳定性和极限集映射的连续性
连续性
非经典扩散方程的拉回吸引子在中的上半连续性
小学语文非连续性文本的阅读教学策略
广西一次连续性暴雨过程分析