三次Bézier曲线的快速求值算法
Fast Evaluation Algorithm for Cubic Bézier Curves
摘要: 三次Bézier曲线的求值算法对于曲线的处理有重要的意义,为了提高三次Bézier曲线的计算效率,本文从矩阵分解的角度解读了De Casteljau算法,并在此基础上提出了一种新的快速求值算法。该算法利用线性插值计算曲线上的点,除第一次线性插值利用两个初始控制顶点外,其余每次线性插值仅利用一个初始控制顶点与上一次线性插值产生的一个新控制顶点,将中间控制顶点数量从传统算法的6个减少至3个,其仅使用控制顶点的凸组合,计算复杂度与控制顶点数量呈线性关系,从而提高了求值算法的计算效率。新算法只涉及线性插值,具有数值稳定性且易于实现,可以更快地求出曲线在特定参数值下的点,为三次Bézier曲线的实时绘制提供了新的解决方案。
Abstract: The evaluation algorithm of cubic Bézier curves is of great significance for the processing of curves. In order to improve the computational efficiency of cubic Bézier curves, this paper interprets the De Casteljau algorithm from the perspective of matrix factorization, and proposes a new fast evaluation algorithm based on this. The algorithm uses linear interpolation to calculate the points on the curve. Except that the first linear interpolation uses two initial control vertices, the remaining linear interpolation only uses one initial control vertex and a new control vertex generated by the previous linear interpolation, which reduces the number of intermediate control vertices from 6 to 3. It only uses the convex combination of control points, and the computational complexity is linear with the number of control points, which improves the computational efficiency of the evaluation algorithm. The new algorithm only involves linear interpolation, which is numerically stable and easy to implement. It can quickly find the points of the curve under specific parameter values, and provides a new solution for real-time rendering of cubic Bézier curves.
文章引用:贺思源, 向仁婧. 三次Bézier曲线的快速求值算法[J]. 应用数学进展, 2025, 14(9): 5-14. https://doi.org/10.12677/aam.2025.149394

参考文献

[1] 刘鼎元. 三次参数曲线段和三次Bézier曲线形状控制[J]. 应用数学学报, 1981(2): 158-165.
[2] 黄有度. 三次Bézier曲线的快速生成算法[J]. 工科数学, 1998(4): 56-59.
[3] 郑文明, 吴清江. 三次Bezier曲线绘制的一种新的快速算法[J]. 华侨大学学报(自然科学版), 2001(4): 362-365.
[4] 马月德, 曹淑娟, 李玉清. Bézier曲线的几何生成法及其有效性分析[J]. 西安工业大学学报, 2006, 26(2): 166-169.
[5] Gordon, W.J. and Riesenfeld, R.F. (1974) Bernstein-Bézier Methods for the Computer-Aided Design of Free-Form Curves and Surfaces. Journal of the ACM, 21, 293-310. [Google Scholar] [CrossRef
[6] Boehm, W. and Müller, A. (1999) On de Casteljau’s Algorithm. Computer Aided Geometric Design, 16, 587-605. [Google Scholar] [CrossRef
[7] Phien, H.N. and Dejdumrong, N. (2000) Efficient Algorithms for Bézier Curves. Computer Aided Geometric Design, 17, 247-250. [Google Scholar] [CrossRef
[8] Peters, J. (1994) Evaluation and Approximate Evaluation of the Multivariate Bernstein-Bézier Form on a Regularly Partitioned Simplex. ACM Transactions on Mathematical Software, 20, 460-480. [Google Scholar] [CrossRef
[9] Bezerra, L.H. (2013) Efficient Computation of Bézier Curves from Their Bernstein-Fourier Representation. Applied Mathematics and Computation, 220, 235-238. [Google Scholar] [CrossRef
[10] Bezerra, L.H. and Sacht, L.K. (2011) On Computing Bézier Curves by Pascal Matrix Methods. Applied Mathematics and Computation, 217, 10118-10128. [Google Scholar] [CrossRef
[11] Bezerra, L.H. (2012) Vandermonde Factorizations of a Regular Hankel Matrix and Their Application to the Computation of Bézier Curves. SIAM Journal on Matrix Analysis and Applications, 33, 411-432. [Google Scholar] [CrossRef
[12] Wang, X. and Jituan, Z. (2006) A Fast Eigenvalue Algorithm for Pascal Matrices. Applied Mathematics and Computation, 183, 711-716. [Google Scholar] [CrossRef
[13] Woźny, P. and Chudy, F. (2020) Linear-Time Geometric Algorithm for Evaluating Bézier Curves. Computer-Aided Design, 118, Article 102760. [Google Scholar] [CrossRef
[14] Vijay, Saravana Kumar, G. and Chand, A.K.B. (2024) A Comprehensive Discussion on Various Methods of Generating Fractal-Like Bézier Curves. Computational and Applied Mathematics, 43, Article No. 368. [Google Scholar] [CrossRef