一种改进型B样条的曲线参数化方法

2010-04-11 08:07付丽辉
制造业自动化 2010年14期
关键词:样条表达式曲线

付丽辉

FU Li-hui

(江苏省淮阴工学院 电子与电气工程学院,淮安 223003)

一种改进型B样条的曲线参数化方法

A improved re-parameterization method in b-spline curves

付丽辉

FU Li-hui

(江苏省淮阴工学院 电子与电气工程学院,淮安 223003)

提出了β参数型-B样条曲线的重新参数化方法。通过构建新的参数可控的基函数,实现对B样条基函数的重新参数化,进而实现了对曲线的重新参数化,并通过MATLAB软件建立实验平台。实验结果表明,只要β参数选择合适,新的方法完全可以达到与传统方法同样的效果,但新算法增加了更加灵活的控制内容,可以根据实际要求实现对曲线的重新拟合,使得算法的灵活性大大提高,且计算简单,具有良好的通用性。

MATLAB仿真;B样条函数;重新参数化;曲线

0 引言

60年代末70年代初,人们在Bezier方法的基础上开始注意B样条理论在自由曲线曲面造型中的应用,最初的成果包括Riesenfeld[1],Coons[2]和Clark[3]等研究者的著作,之后的10年间,各国学者先后对B样条方法进行了更为广泛的实用研究,如Greenberg[4]和Judd[5]等人所发表的论文、著作所述。B样条曲线的应用范围非常广泛,不仅可用在几何造型方面,还可以用于处理力学、图像、数据压缩等问题。随着B样条曲线的不断改进,其研究、应用推广的价值在不断提高。

本文在B样条曲线基本理论的基础之上,讨论了如何寻找更广泛意义的基函数以及参数变换,通过构建基于 参数的改进的基函数,实现对基函数的重新参数化,从而实现对B样条曲线的重新参数化,并以三次均匀B样条曲线为例说明了该种方法的可行性。由仿真结果可知,该方法可以在自由曲线和曲面的构建中达到更加灵活的控制效果。

1 参数型-B样条基函数

在对曲线重新参数化的过程中,可以考虑先对一般的B样条函数进行参数变换,寻找具有更广意义的基函数,并以此作为切入点,从而实现对曲线的重新参数化。下面以三次均匀B样条基函数为例说明这种函数的建立过程。

1)式所表示的基函数分属于四条B样条,但处于相同的节点区间内,因它们都是均匀的B样条,故可以将其拼接成一条完整的B 样条[6],如图1所示。

图1 三次均匀B样条基函数

为实现重新参数化,现构建以下基函数:

其中,u=at(1-t),在该表达式中,a=4,t为[0,1]间的随机数,表达式u=at(1-t)可以看作是非线性的映射模型,属于混沌动力学模型,当a=4时,其混沌解将布满整个[0,1]区间,即在[0,1]区间上是遍历的。

将g(u)代替三次B样条基函数中的参数,可以得到:

这里将(3)式称为改进型B样条基函数,记为β参数型-B样条基函数,利用该函数可以将常规的B样条基函数进行推广。分析(3)式可知:当β=0时,这就是说,β参数型-B样条基函数是常规B样条基函数的推广形式,只要变化参数β,即可得到各种B样条基函数,从而可以实现对曲线的重新参数化。

根据以上的算法,下面针对三次均匀B样条基函数进行变换,可以得到其对应的具体 参数型-B样条基函数的表达式为:

当β=1时,该函数则为:

由MATLAB仿真程序可以得到三次均匀B样条基函数以及其对应的重新参数化的β参数型-B样条基函数图形,如图2所示:

图2 三次均匀B样条与β参数型-B样条基函数

2 β参数型-B样条曲线及其性质

2.1 β参数型-B样条曲线

下面仍以三次均匀B样条基函数为例说明这种曲线的建立过程。首先给出三次均匀B样条曲线的矩阵[7]表示。

而本文所述的β参数型-B样条基函数所对应的曲线则表示为:

当β=1时,对应曲线可以表现为(8)式:

经比较可以发现,两种曲线参数化方法非常相似,只要令参数β=0,两者完全相同,所不同之处在于三次β参数型-B样条基函数所对应的曲线是三次均匀B样条曲线的特例,如果变换其β参数的值,可以得到无数多种与三次均匀B样条曲线相类似的表达式,由此可以为不同情况下的曲线重新参数化打下良好的基础。接下来一节将研究一下β参数型-B样条曲线所具有的主要特性,从而进一步来说明该方法的实质。

2.2 β参数型-B样条曲线的主要性质

1)不同β参数的样条曲线上的点与参数域的点对应关系不同

证明:由上可知,当i=0时,B样条基函数曲线的表达式为:

而β参数型-B样条曲线的表达式为:

根据(13)式可知:当u取固定参数u0时,曲线上某点坐标与β相关,随β变化而变化,因此,不同β参数的样条曲线上的点与参数域的点对应关系不同。

2)变换前后,各个β参数的样条曲线的一阶导矢的方向互相平行,但模长发生变化

至于其他类似于常规B样条曲线的性质,诸如局部性、可微性、参数连续性等就不再一一证明。

根据以上证明可知:β参数型-B样条曲线方法提供了多种曲线的生成方式,对于一条K次B样条曲线,只要改变参数β,即可在不改变曲线形状的条件下实现对曲线的重新参数化,从而使得曲线上的点与参数域内的点的对应关系发生相应变化。

3 仿真过程及结果

本节将通过仿真的方法来验证该算法的可行性。利用MATLAB软件编写仿真程序,构建基于同一组数据点的控制多边形的三次B样条曲线与其对应的β参数型-B样条曲线,其中控制多边形由以下控制点来决定:[4 6],[3 5],[2 4],[3 2],[6 1],[5 8],[10 6],[8 1],[6 0],[4 -1],下面给出参数型-B样条曲线仿真程序的主要部分。

a=[4 3 2 3 6 5 10 8 6 4;6 5 4 2 1 8 6 1 0 -1];%控制点

subplot(2,2,2)

plot(a(1,:),a(2,:),':'); % 绘制控制多边形;

hold on; %

xlabel('(b)改进样条算法')

for i=1:7;

for t=0:0.001:1;

u=(2+1).*t/(2+1.*t)% β参数型-B样条曲线的核心算法,其中β=1;

b0=1.0./6.*(1-u).^3; % 基函数b0;

b1=1.0./6.*(3.*u.^3-6.*u.^2+4); % 基函数b1;

b2=1.0./6.*(-3.*u.^3+3.*u.^2+3.*u+1); % 基函数b2;

b3=1.0./6.*u.^3; % 基函数b3;

x=b0.*a(1,i)+b1.*a(1,i+1)+b2.*a(1,i+2)+b3.*a(1,i+3); % 确定曲线的横坐标x;

y=b0.*a(2,i)+b1.*a(2,i+1)+b2.*a(2,i+2)+b3.*a(2,i+3); % 确定曲线的纵坐标y;

line(x,y); % 绘制曲线坐标点;

end

end

hold off;

最后可以得到如图3的仿真结果。

图3 三次B样条曲线与β参数型-B样条曲线

图3中的虚线所示为控制多边形,实线则为两种方法生成的曲线。其中,(a)图为三次B样条曲线,(b)图为β参数型-B样条曲线,对应β=1,至于β取其他不同参数的曲线,这里就不再一一给出。由仿真结果可知:当β参数选择合适时,新方法完全可以达到与传统方法同样的效果,但新算法增加了更加灵活的控制内容,可以根据实际要求实现对曲线的重新参数化,这主要体现在:一方面,在绘制曲线时,如果已知曲线的某些点的期望值,在实际曲线点与期望值不符的情况下,可以根据已知信息计算参数β值,从而对曲线进行重新参数化,以达到给定要求;另一方面,若绘制的图形有多条,且存在交点,在这种情况下,如果利用常规的B样条曲线进行拟合时,其交点的参数µ是不同,但是,如果利用β参数型-B样条方法,效果则不同,可先给出其中的一条曲线的β参数型-B样条曲线的形式,再由参数化条件确定的具体值,从而将该曲线进行重新参数化,以达到交点处的两条曲线的参数µ相同的目的。

4 结论

本文给出了β参数型-B样条曲线的重新参数化方法,通过改变参数β的具体取值以实现对基函数的重新参数化,进而实现对曲线的重新参数化。该方法使得B样条曲线的拟合算法的灵活性大大提高,且其计算简单,具有良好的通用性。另外,本文主要以三次均匀B样条基函数为例来说明方法的有效性,但这种β参数型-B样条曲线的重新参数化还可以很方便地用于其他类型的样条基函数中,并且,也能推广到其他曲线和曲面的表示法中,具有一定的实用及研究意义。

[1] Riesenfeld,R.F.,Applications of B-Spline Approximation to Geometric Problems of CAD,ph.D Thesis,Syracuse University,1973.

[2] Coons.S.A.,Surface Patches and B-Spline Curves,in Computer Aided Geometric Design,R.E.Barnhill and R.F.Riesenfeld,Editors,Academic Press,1974.

[3] Clark,J.H.,3-D Design of Free-Form B-Spline Surfaces,Ph.D Thesis,University of Utah,Salt Lake City,Utah,Sept.1974.

[4] Wu,S-C.,Abel,J.f.and Greenberg D.P.,An Interactive Comp uter Graphics Approach to Surface Representation,Communications of the ACM,1977,20(10).

[5] Hartley,P.J.and Judd,C.J.,Parametrization of Bezier-Type B-Spline Curves and Surfaces,CAD,1978,10(2).

[6] 朱心雄.等.自由曲线曲面造型技术[M].科学出版社,2000.

[7] 施法中.计算机辅助几何设计与非均匀有理B样条[M].高等教育出版社,2001.

TP273

A

1009-0134(2010)12(上)-0133-04

10.3969/j.issn.1009-0134.2010.12(上).44

2010-08-06

江苏省科技支撑项目(BE2009100)

付丽辉(1975 -),女,讲师,硕士研究生,研究方向为模式识别与智能控制。

猜你喜欢
样条表达式曲线
未来访谈:出版的第二增长曲线在哪里?
灵活选用二次函数表达式
对流-扩散方程数值解的四次B样条方法
幸福曲线
表达式转换及求值探析
浅析C语言运算符及表达式的教学误区
三次参数样条在机床高速高精加工中的应用
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于样条函数的高精度电子秤设计
梦寐以求的S曲线