李建东,杨 艳
(吕梁学院 数学系,山西吕梁 033000)
基于分块矩阵求导的Bézier曲线降阶方法
李建东,杨 艳
(吕梁学院 数学系,山西吕梁 033000)
Bézier曲线的降阶逼近有着实际应用价值,但是逼近程度会受端点约束条件的影响。提出了基于分块矩阵求导的降阶逼近方法。该方法能产生降多阶,且满足端点约束条件的显式表达式。最后将中点分割法与分块矩阵求导的降阶方法结合并应用到数值实验中,验证了该算法的优越性。
Bézier曲线;降阶;分块矩阵求导;中点分割
Bézier曲线的降阶有着重要的实际应用价值。例如在CAD系统间进行数据交换时,由于不同的CAD系统对多项式的次数限制不同,因此需要将多项式的次数调整相同,也就是对曲线的阶进行统一。而统一的方法一般有2种:升阶和降阶。虽然Bézier曲线有升阶性质,可以得到精确的结论,但是却使系统变得复杂,导致可靠性降低。相反,降阶方法不仅可以提高计算效率以及系统的稳定性和可靠性,而且对于数据压缩也有重要的作用。
对于Bézier曲线降阶的研究,目前已有较成熟的技术。早在1972年Forrset给出Bézier曲线的定义后,就提出了Bézier曲线的降阶算法。本文在对有关降阶逼近主要方法深入分析的基础上,针对Bézier曲线满足端点任意阶连续性的降多阶逼近进行了研究。
定义1[2]设pi∈Rd,d=2,3;i=0,1,2,…,n,Bn
i(t)为n次Bernstein基函数。若对n次Bézier曲线,
则称这种降阶为在该范数下带(r,s)次端点插值条件的Bézier曲线降n-m阶逼近。
本节讨论的降阶方法中,用式(5)定义距离。
1.3 基于中点分割的分段逼近
以上几种情况中误差均由式(7)计算得到。如果误差结果比控制值大,可以将曲线分为两段,直到误差小于控制值。
依据Bézier曲线割角的产生办法可得出:对曲线的分段降阶逼近,实质上是由分割成的两段子曲线分别做次数相同的降阶,再拼到一起的。此处要求分割点也达到要求的端点连续性。依据扰动约束方法[5]的理论分析,降阶的误差与由原曲线本身所决定的控制因子‖Δnp0‖有关,同时论证了随着分割的进行,该因子会减小。由此保证了分割会使逼近误差降低[9]。
算法如下:
步骤1 输入误差限e、最多分割次数k与原曲线的控制顶点。
步骤2 再用分块矩阵求导的方法,按照式(11)计算出初步逼近曲线的控制顶点,并计算误差。如果误差大于e,且分段次数小于k,则执行步骤3,否则执行步骤4。
步骤3 由Bézier曲线的de Casteljau算法计算原曲线中点分割点,同时计算得到2条子曲线的控制顶点,对2组控制顶点分别执行步骤2。
步骤4 输出各子曲线的控制顶点,并绘制与原曲线的比较图像。
实例 以平面上16个点(0,0),(1.5,-2),(4.5,-1),(9,0),(4.5,1.5),(2.5,3),(0,5),(-4,8.5),(3,9.5),(4.4,10.5),(6,12),(8,11),(9,10),(9.5,5),(7,6)与(5,7)为控制顶点的15次Bézier曲线用分块矩阵求导方法降到m阶并且保端点(r,s)阶连续。图1和2中,虚线为原Bézier曲线,实线为降阶后的曲线,d为误差。图2为中点分割后的曲线逼近(其中*号为分割点),图像看起来重合。当保端点(0,0)阶连续时,中心分一次,误差由0.016 3降为10-4级;保端点(2,2)阶连续时,中心分了2次,误差由2.025 4降到10-5级,并且中间的2段误差均达到10-8级。
图1 分块矩阵求导方法分别降了1阶和9阶不保端点插值的逼近曲线
图2 中点分割后再用矩阵分块求导的保端点不同连续阶的逼近曲线
提出了基于分块矩阵求导的方法,该方法的优点在于将原曲线分为3部分,但没有各自独立,解决了端点约束与降多阶的矛盾,并且可以得到显式的表达式。同时结合了中心分割的分段逼近,使之能够达到任意精度。
本文仅讨论了事后误差,没有找到误差上限,不能进行事先误差估计。如果有先验误差,就可以避免盲目降阶,从而可以先对原曲线进行分割,再对子曲线求先验误差,直到小于事先给定的控制值,再实行降阶。
[1] 王仁宏,李崇君,朱春钢.计算几何教程[M].北京:科学出版社,2008.
[2] 郭清伟,朱工勤.Bézier曲线降多阶逼近的一种方法[J].应用数学与计算数学学报,2003,17(2):49-54.
[3] 刘庆生.Bézier曲线可降阶条件及其降阶逼近[J].同济大学学报,2001,29(4):470-473.
[4] Lu L Z,Wang G Z.Application of ChebyshevⅡ-Bernstein basis transformations to degree reduction of Bézier curves[J].Journal of Computational and Applied Mathematics,2008,221(1):52-65.
[5] Hu S,Sun J,Jin T,et al.Approximate Degree Reduction of Bézier Curves[J].Tsinghua Science and Technology,1998,3(2): 997-1000.
[6] 陈国栋,王国瑾.基于广义逆矩阵的Bézier曲线降阶逼近[J].软件学报,2001,12(3):435-439.
[7] 满家巨,胡事民,雍俊海,等.Bézier曲线的降阶逼近[J].清华大学学报:自然科学版,2000,40(7):117-120.
[8] 陆利正,胡倩倩,王国昭.Bézier曲线降阶的迭代算法[J].计算机辅助设计与图形学学报,2009,21(12):1689-1693.
[9] 曾辉.基于中心分割的Bézier曲线降阶[D].大连:大连理工大学,2008.
(责任编辑 何杰玲)
Method for Degree Reduction of Bézier Curve Based on Partitioned Matrix Derivation
LI Jian-dong,YANG Yan
(School of Mathematics,Lyuliang University,Lyuliang 033000,China)
The approximation of degree reduction to Bézier curve has its practical application value but is limited by constrained condition of endpoints.It comes up a new method for degree reduction approximation based on partitioned matrix derivation.This new method can produce explicit formulation with multi-degree reduction and satisfies constrained condition of endpoints.Finally combining mid-point segmentation with partitioned matrix’s derivation and putting them into numerical experiment show the advantages of this algorithm.
Bézier curve;degree reduction;partitioned matrix derivation;midpoint subdivision
O174
A
1674-8425(2014)07-0142-05
10.3969/j.issn.1674-8425(z).2014.07.028
2014-03-25
吕梁学院科研项目(JYYB201304)
李建东(1978—),男,山西方山人,硕士,讲师,主要从事微分方程及其应用研究。
李建东,杨艳.基于分块矩阵求导的Bézier曲线降阶方法[J].重庆理工大学学报:自然科学版,2014(7): 142-146.
format:LI Jian-dong,YANG Yan.Method for Degree Reduction of Bézier Curve Based on Partitioned Matrix Derivation[J].Journal of Chongqing University of Technology:Natural Science,2014(7):142-146.