平面数字曲线的二次Bézier曲线逼近
- 格式:pdf
- 大小:288.26 KB
- 文档页数:9
Bezier 曲线什么是 Bezier 曲线?Bezier 曲线是一种数学曲线,由法国工程师 Pierre Bézier 于20世纪50年代发明。
它是计算机图形学中最基本和最常用的曲线之一。
由于其简单性和灵活性,Bezier 曲线被广泛应用于计算机图形、工业设计、动画制作等领域。
Bezier 曲线的特点Bezier 曲线由一系列控制点确定,并通过调整这些控制点的位置和参数来定义曲线的形状。
以下是 Bezier 曲线的一些特点:1.可调节性:调整控制点的位置和参数可以改变曲线的形状、弯曲程度和速度。
2.平滑性:Bezier 曲线能够平滑连接控制点,使得曲线在控制点之间呈连续曲率。
3.参数化形状:Bezier 曲线可以通过调整参数来生成无限多种形状,从简单的直线到复杂的曲线。
4.逼近性:Bezier 曲线可以用来逼近其他复杂的曲线,如圆弧、椭圆等。
Bezier 曲线的数学表达Bezier 曲线是通过插值和多项式生成的数学曲线。
根据控制点的个数,可以确定 Bezier 曲线的阶数。
一般情况下,Bezier 曲线的阶数等于控制点数减1。
对于一维的 Bezier 曲线,它可由以下公式表示:Bezier 1DBezier 1D其中,n 为阶数,t 为参数,Pi 为控制点,Bi, n(t) 为 Bezier 基函数。
对于二维的 Bezier 曲线,它可由以下公式表示:Bezier 2DBezier 2D其中,n 为阶数,t 为参数,Pi 为控制点,Bi, n(t) 为 Bezier 基函数。
Bezier 曲线的应用Bezier 曲线的应用非常广泛,以下是一些常见的应用场景:1.计算机图形学:Bezier 曲线可以用来绘制平滑的曲线和曲面,用于构建2D和3D图形。
2.工业设计:Bezier 曲线可以用来设计平滑的汽车车身、家具等产品。
3.动画制作:Bezier 曲线可以用来定义动画路径,使得动画流畅而自然。
有理二次Bézier曲线的极限性质1. 简介- 介绍Bézier曲线的基本概念和特性。
- 引出有理Bézier曲线的概念,并介绍其表示方法和性质。
2. 极限性质的定义和推导- 定义有理Bézier曲线的极限性质。
- 推导出有理Bézier曲线的极限点和渐进方向的表达式。
3. 极限性质的应用- 探讨有理Bézier曲线的极限点和渐进方向对曲线形状的影响。
- 运用极限性质推导出有理Bézier曲线的渐进几何形状。
4. 极限性质的局限- 分析有理Bézier曲线极限性质的局限性。
- 介绍常见缺陷问题,并提供解决方法。
5. 结论- 总结有理Bézier曲线的极限性质和应用。
- 展望有理Bézier曲线的未来发展,提出建议。
1. 简介Bézier曲线是计算机图形学中的一种基本曲线结构,具有广泛的应用。
最初是由法国数学家Pierre Bézier于20世纪50年代末提出的,用于汽车设计领域的车身曲面建模。
随着计算机技术的不断发展,Bézier曲线被广泛应用于三维建模、计算机动画、游戏开发等领域。
Bézier曲线的特点是可以通过一系列控制点来描述曲线的形状,而控制点的位置和数量对曲线形状有重要影响。
Bézier曲线的插值形式由一组参数控制,这些参数称为Bézier曲线的权值。
而有理Bézier曲线则在此基础上增加了称为权重的另一个因素,使得曲线可以更加灵活地描述复杂的形状。
有理Bézier曲线由于可以描述更加复杂的曲线形状,具有更加广泛的应用。
但是,它也具有一些特殊的特性和限制。
本论文将深入探讨有理Bézier曲线的极限性质,评估其适用范围,并提出一些应对措施。
在下一章节中,我们将详细介绍有理Bézier曲线的基本概念和表示方法,以加深对该曲线的理解。
一、概述二次bezier曲线是计算机图形学中常用的曲线表示方法,它具有许多优良的特性,例如平滑性、易于计算、自由度高等。
在实际应用中,我们经常需要对bezier曲线进行求导,以得到曲线在不同参数下的斜率、曲率等信息。
本文将着重讨论二次bezier曲线的二阶导数,探讨其计算方法及实际意义。
二、二次bezier曲线的定义二次bezier曲线是由三个控制点P0、P1、P2定义的曲线,其参数方程可以表示为:B(t) = (1-t)^2 * P0 + 2t * (1-t) * P1 + t^2 * P2其中t为参数,取值范围通常为[0,1]。
三、二次bezier曲线的一阶导数我们首先回顾一下bezier曲线的一阶导数计算方法。
对二次bezier曲线B(t)进行求导,可以得到其一阶导数B'(t),其参数方程为:B'(t) = 2 * (P1 - P0) * (1 - t) + 2 * (P2 - P1) * t四、二次bezier曲线的二阶导数接下来我们将重点讨论二次bezier曲线的二阶导数计算方法。
对一阶导数B'(t)再进行求导,可以得到二阶导数B''(t)。
其参数方程为:B''(t) = 2 * (P2 - 2 * P1 + P0)五、二次bezier曲线的二阶导数计算方法1. 直接计算一种计算二次bezier曲线二阶导数的方法是直接对参数方程进行求导。
这种方法较为简单直接,但需要进行大量繁琐的代数运算,容易出现计算错误。
2. 利用一阶导数另一种计算二次bezier曲线二阶导数的方法是利用一阶导数的计算结果。
我们可以先计算出bezier曲线的一阶导数,然后根据一阶导数的参数方程,再次进行求导,得到二阶导数的参数方程。
这种方法比较简洁高效,且避免了繁琐的代数运算,能够减少出错的可能性。
六、二次bezier曲线二阶导数的实际意义二次bezier曲线的二阶导数反映了曲线在参数空间中的弯曲程度,即曲线的曲率。
规避障碍物的G2连续有理二次Bézier样条曲线一、引言介绍障碍物避免在计算机图形学和移动机器人领域的重要性,引入G2连续有理二次Bézier样条曲线的概念,阐述本文的目的和研究方法。
二、有理二次Bézier曲线的概述介绍有理二次Bézier曲线的定义及其性质,重点阐述其G2连续性质的概念及数学表达式。
三、规避障碍物的G2连续有理二次Bézier样条曲线的设计方法提出一种基于参考路径的有理二次Bézier曲线生成算法,可以在避免碰撞的同时保持与原始路径形状和G2连续性质的一致性。
四、实验结果通过实际案例,对算法进行验证,并比较其与传统算法的性能与准确度。
同时,探究调整算法参数对曲线质量和计算结果的影响。
五、结论与展望回顾本文研究的主要内容和创新点,研究结果对于建立更加安全和高效的移动机器人系统具有重要意义。
同时提出未来研究的展望,为相关领域的学术研究提供一定的参考。
随着科技的不断进步,移动机器人在日常工作场所中越来越常见,例如在仓库、工厂、医院等。
当然,移动机器人在避免障碍物方面面临着巨大的挑战。
为了保证其安全性和高效性,在绕过障碍物时,需要保持其路径的连续性和光滑性。
因此,研究移动机器人规避障碍物的路径规划算法在科技领域中受到广泛关注。
基于这个问题,本文将介绍G2连续有理二次Bézier样条曲线的设计方法,该算法可以帮助移动机器人避开障碍物并保留原始路线的G2连续性。
Bézier曲线是一种常见且重要的曲线类型,其具有良好的数学特性,因此在计算机图形学和机器人控制中得到广泛应用。
Bézier曲线的优点是可以通过控制顶点来控制曲线的形状,消除图形中出现的锐角等不必要的图形和变化,使其光滑和连续。
有理二次Bézier曲线是Bézier曲线的“加强版”,它具有比传统曲线更强的计算能力,同时也具有更好的数学性质,如G2连续性质。
第33卷第3期计算机辅助设计与图形学学报Vol.33No.3 2021年3月Journal of Computer-Aided Design & Computer Graphics Mar. 2021具有保面积参数化的双二次Bézier曲面李效伟1,2), 赵庆辉1), 杨义军3)*, 曾薇4), 孙黎1), 李缨1), 徐岗2)1) (山东女子学院数据科学与计算机学院济南 250300)2) (杭州电子科技大学计算机学院杭州 310018)3) (西安交通大学计算机科学与技术学院西安 710049)4) (西安交通大学数学与统计学院西安 710049)(********************)摘要: 为了构建具有保面积参数化的双二次Bézier曲面, 提出2种双二次Bézier曲面的构造算法. 首先根据曲面第一微分基本形式, 推导双线性和双二次Bézier曲面满足保面积参数化的约束条件, 得出具有保面积参数化的双线性有理Bézier曲面只能是平行四边形的结论; 然后根据双二次曲面的约束条件, 通过求解方程组的形式设计符合约束条件的双二次Bézier曲面构造算法, 并且给出并证明了严格满足保面积参数化约束条件的双二次Bézier曲面只能为平面曲面的结论; 再将保面积参数化约束条件松弛, 基于曲面拟合思想设计具有较强造型能力的双二次Bézier曲面构造算法, 构造满足用户指定容差范围的双二次Bézier曲面; 最后给出若干具有保面积参数化的双二次Bézier曲面, 验证了算法有效性和曲面造型能力. 使用C++语言实现的多个等参线分布和纹理映射的实例结果表明, 该算法生成的双二次Bézier曲面参数化能够保持面积拉伸.关键词: 保面积参数化; 双二次Bézier曲面; 曲面造型中图法分类号: TP391.41 DOI: 10.3724/SP.J.1089.2021.18501Biquadratic Bézier Surfaces with Area-Preservation ParameterizationLi Xiaowei1,2), Zhao Qinghui1), Yang Yijun3)*, Zeng Wei4), Sun Li1), Li Ying1), and Xu Gang2)1) (School of Data and Computer Science, Shandong Women’s University, Jinan 250300)2) (School of Computer Science and Technology, Hangzhou Dianzi University, Hangzhou 310018)3) (School of Computer Science & Technology, Xi’an Jiaotong University, Xi’an 710049)4) (School of Mathematics and Statistics, Xi’an Jiaotong University, Xi’an 710049)Abstract: Construction of Bézier surfaces with area-preservation parameterization constraints is one of the important topics in surface modeling. In order to construct biquadratic Bézier surfaces with area-preservation parameterization, two algorithms are proposed to automatically construct biquadratic Bézier surfaces in this paper. Firstly, the standard conditions of bilinear and biquadratic Bézier surfaces with area-preservation parameterization are obtained by using the first fundamental form, and the fact that the only bilinear rational Bézier surfaces satisfying area-preservation conditions are parallelograms is drawn. Next, according to the standard conditions, a method of surface construction is designed, and the conclusion that the only biquad-ratic Bézier surfaces with area-preservation parameterization are planar is drawn. Besides, a method of sur-收稿日期: 2020-07-17; 修回日期: 2020-08-17. 基金项目: 国家自然科学基金(61872224, 61772163); 山东省自然科学基金(ZR2017MF003); 国家自然科学基金-浙江两化融合联合基金(U1909210); 山东女子学院高水平科研项目培育基金(2019GSPSJ08). 李效伟(1989—), 男, 博士研究生, 讲师, CCF会员, 主要研究方向为CAD&CG; 赵庆辉(1998—), 女, 在校学生; 杨义军(1979—), 男, 博士, 教授, 博士生导师, CCF会员, 论文通讯作者, 主要研究方向为CAD&CG; 曾薇(1980—), 女, 博士, 教授, 博士生导师, 主要研究方向为计算机图形学; 孙黎(1985—), 女, 硕士, 讲师, CCF会员, 主要研究方向为人工智能; 李缨(1971—), 女, 硕士, 教授, 硕士生导师, CCF会员, 主要研究方向为人工智能; 徐岗(1981—), 男, 博士, 教授, 博士生导师, CCF会员, 主要研究方向为3D 建模与仿真.466 计算机辅助设计与图形学学报第33卷face construction with great modeling ability is designed, thanks to the fact that the standard conditions have been relaxed. Finally, some biquadratic Bézier surfaces satisfying the area-preserving criteria are given, which shown in the created Windows-based applications using C++. Several examples of tessellation and texture mapping demonstrate that surfaces generated by proposed algorithms are area-preserving.Key words: area-preservation parameterization; biquadratic Bézier surfaces; surface modeling保面积参数化是参数曲面的一种重要几何特征, 对曲面造型、纹理映射、等几何分析和四边形网格生成等算法或应用的质量起决定性作用. 保面积参数化保持面积拉伸, 对于曲面上的任意一个区域, 其曲面面积和参数面积相等, 在计算机辅助设计领域, 它经常被用作衡量曲面参数化质量的重要指标. 构造具有保面积参数化的曲面有着重要的理论意义与应用价值.近十余年, 网格曲面和自由曲面的保面积参数化得到了研究人员的广泛关注. Yang等[1]使用Möbius变换和有理双线性变换等方法优化非均匀有理B样条(non-uniform rational B-splines, NURBS)曲面的保面积能量, 以增加少量保角能量为代价, 生成较好的保面积参数化曲面, 提升曲面四边形网格生成效果. 在等几何分析应用中, Xu等[2]通过Bézier曲面扩展、细分和全局优化等步骤, 构建适合等几何分析的平面B样条曲面参数化, 该方法能够保证细分曲面边界具有一定的连续性. 除了在曲面四边形网格化和等几何分析中的应用, 保面积参数化还能够较为显著地提升曲面的纹理映射效果[3-5]. Dominitz等[3]针对三角网格形式的闭合曲面, 将保角参数化作为优化过程的初始解, 通过最优传输技术不断迭代优化保面积能量, 使曲面上的纹理映射效果接近最优. 根据Gu等[4]对离散曲面保面积的相关理论证明, Zhao等[5]依据Monge-Brenier定理, 构建比Monge-Kantorovich方法计算效率更高的优化算法, 将利用Ricci flow[6]获取的保角映射作为初始解, 使用最优传输技术优化三角网格曲面的保面积能量, 在零亏格三角网格曲面上实现了具有保面积纹理映射.1 相关工作目前, 大部分的研究工作主要集中在通过使用优化方法升网格曲面的保面积参数化[7-10], 试图建立一个适用于所有三角网格曲面的统一方法, 期望能够将其应用在医学工程、机械设计和艺术设计等领域. Lévy等[7]引入了柯西-黎曼方程的一阶有限元逼近, 算法在相似意义下的解唯一, 且不会产生三角形交叠的情况, 通过一个共形参数映射提升曲面纹理映射质量. Floater[8]引入平均值坐标来计算广义调和映射, 能够简化曲面参数化的计算复杂度. Yoshizawa等[9]将广义调和映射算法结果作为初始解, 通过若干次迭代优化, 生成了较为快速和鲁棒的保拉伸参数化方法. Zou等[10]通过使用最小二乘共形映射获取初始解, 利用等积参数化算法计算出了大脑模型(三角网格模型)的保面积参数化.除了构造适用于网格曲面的统一性算法, 研究人员对自由曲线和自由曲面的几何特征也进行了较深入的研究[11-14]. Farouki等[11]提出“完全满足弧长参数化特征的曲线只能是直线形式”的观点. Farin[12]使用极坐标法在复平面上构建可弦长参数化的有理二次Bézier曲线. Xu等[13]给出拉伸、弯曲和jerk能量极小低次Bézier曲线的构建方法. 杨义军等[14]给出具有正交参数特性的双二次Bézier 曲面的约束条件, 并提出相应的曲面构建算法. 针对自由曲面共形参数化[15-18]的研究较为成熟, 其能够提升基于导数的算法(如曲面采样、曲面相交、曲率计算等)的鲁棒性和稳定性. He等[15]提出了一种有理双三次重参数化方法来改进近似Gregory 曲面片的参数化, 以使新参数化更加符合给定细分曲面的参数化. Yang等[16]基于Möbius变换提出提升Bézier曲面参数化的方法, 在不改变曲面形状的前提下, 能够提升曲面的等参线分布的均匀性. 为了提升有理Bézier曲面等参线分布的正交性和均匀性, Yang等[17]提出使用有理双线性参数化的方法来优化衡量自由曲面均匀性和正交性的非线性能量函数. 为了更深入地提高自由曲面的共形参数化质量, Yang等[18]利用最小二乘法计算出一个近似共形参数化, 将其作为初始解, 最终使用列文伯格-马夸尔特(Levenberg-Marquardt, LM)非线性优化方法得到最优参数化结果. 然而, 关于自由曲面参数化的研究工作大多将重心放在共形参数第3期李效伟, 等: 具有保面积参数化的双二次Bézier 曲面 467化上, 并没有把保面积参数化作为主要的研究对象, 以上研究工作得到的最优参数化虽然能够逼近共形参数化, 但是对保面积参数化的优化还不能够达到共形的效果.虽然Yang 等[1]给出了NURBS 曲面的保面积参数化方法, 但是没有给出双二次Bézier 曲面保面积参数化约束条件和相应的曲面构造算法. 研究具有保面积参数化的双二次Bézier 曲面的约束条件和构造算法具有重要意义, 尤其在曲面造型、曲面细分、网格生成和纹理映射等实际应用中. 例如, 对于复杂形状的曲面, 可以使用具有保面积参数化的双二次Bézier 曲面替代自由曲面造型细分后的小面片, 从而使整个曲面都能具有良好的保面积参数化. 另外, 满足保面积参数化的自由曲面智能造型和参数化算法[19]能够为纹理映射、曲面细分和四边形网格生成等算法提供更加鲁棒和稳定的计算.本文根据自由曲面微分几何第一基本形式和保面积参数化条件, 首先探讨双线性Bézier 曲面的具有保面积参数化的约束条件, 得出“完全满足保面积参数化约束条件的双线性有理Bézier 曲面只能是平行四边形”的结论; 紧接着推导具有保面积参数化的双二次Bézier 曲面形式, 得出完全具有保面积参数化的双二次Bézier 曲面所满足的约束条件, 并据此设计了满足约束条件的双二次Bézier 曲面构造算法; 为了拓展具有保面积参数化Bézier 曲面的造型能力, 本文还将保面积参数化约束条件松弛, 设计了具有较强造型能力的双二次Bézier 曲面构造算法; 最后给出了若干个曲面等参线分布和纹理映射结果, 验证了本文结论、算法的有效性和曲面造型能力.2 保面积双二次Bézier 曲面2.1 Bézier 曲面的第一基本形式一张Bézier 曲面的微分几何形式[20]可以表示为00(,)()()m nm n i j iji j u v B u B v ===∑∑X P (1) 其中, u 和v 分别为曲面上2个方向的参数, 满足条件01u ≤≤, 01v ≤≤; P ij 为曲面的控制顶点;()m i B u 和()n j B v 为伯恩斯坦多项式.曲面的第一微分基本形式[21]可表示为 222d (d )2d d (d )u u u v v v s u u v v =⋅+⋅+⋅X X X X X X (2)其中, s 为曲线弧长; u u ∂=∂X X ,v v∂=∂XX , 即X u 和X v 分别为曲面X 在u 和v 方向的偏导数.令, 1,2, 1,2g αβαβαβ=⋅==X X , 则式(2)的参数可表示为矩阵形式, 即11121222gg g g ⎛⎫= ⎪⎝⎭I .其中, g 11和g 22给出了u 向和v 向偏导数点乘之后的平方值, g 12表示曲面任意点处的正交性度量. 式(2)可重新表示为矩阵相乘的形式2d d (d d )d u s u v v ⎛⎫= ⎪⎝⎭I .因为在正则性的假设条件下, 矩阵I 有一个恒为正的行列式[22], 即g 的值恒大于0, 其计算式为2112212det g g g g ==-I . 将g 开方, 得到[], ,0,1u v u v =⨯∈X X .假设变量A 表示曲面面积, 则其计算方式为111000d d d u v A u v u v ==⨯⎰⎰⎰⎰X X .如果给定曲面是保面积参数化曲面, 则曲面上的任意点处都必须满足条件u v A ⨯≡X X (3)2.2 具有保面积参数化的双线性Bézier 曲面双线性Bézier 曲面是一种公式表达极为简单的双线性插值曲面, 任意等参线也都是直线段, 它是直纹面, 其特点为只含有P 00, P 01, P 10和P 11等4个控制顶点, 并且曲面上的点均由其线性插值表示. 一张双线性Bézier 曲面可表示为00011011(,)(1)(1)(1) (1)u v u v u v u v uv =--+-+-+X P P P P(4)将式(4)分别对参数u 和v 求偏导数得到00011011(,)(1)(1)u v v v v v u ∂=--+-+∂X P P P P , 00011011(,)(1)(1)u v u u u u v∂=-+--+∂X P P P P . 根据曲面的第一基本形式, 要得到曲面满足保面积参数化的约束条件, 则必须要满足式(3). 为了便于计算, 本文将曲面面积设定为A , 得到条件式(,)(,)u v u v A u v∂∂⨯=∂∂X X . 经过公式推导, 求出双线性Bézier 曲面必须满足2组约束, 才能够满足式(3)所表示的保面积468计算机辅助设计与图形学学报 第33卷参数化约束条件, 即 ()()10000100=A -⨯-P P P P (5)()()()()1000110111100100=-⨯-⎧⎨-⨯-=⎩P P P P P P P P 00 (6) 式(5)给出了在P 00点处法向量的模必须为A 的约束; 式(6)给出控制顶点所构成4条边界中的对边平行的约束. 根据式(6)和Bézier 曲面的端点性质, 即控制顶点P 00, P 01, P 10和P 11分别表示曲面的4个端点; 又根据边界线性质, 曲面的4条边界线()0,v X ,()1,v X ,(),0u X 和(),1u X 分别以0001,P P1011,P P 0010P P 和0111P P 为控制多边形. 由于2点所构成的控制多边形只能是直线, 并且00011011P P P P ∥, 00100111P P P P ∥, 因此曲面的4条边界曲线只能是直线; 又因为双线性Bézier 曲面只有4个控制顶点, 并且曲面上的点均由线性差插值产生, 所以严格满足保面积参数化约束条件的有理双线性Bézier 曲面只能是平行四边形. 根据双线性Bézier 曲面的定义以及式(5)(6)所示的保面积参数化约束条件, 给出如图1所示一般双线性曲面和具有保面积参数化的双线性曲面实例.a. 一般双线性曲面b. 具有保面积参数化双线性曲面图1 Bézier 形式双线性曲面由图1a 可以看出, 每个网格面积拉伸差异较大, 曲面参数化不保持面元; 由图1b 可以看出, 平行四边形和矩形图形的每个网格面积与参数面积拉伸一致, 其曲面参数化保持面元.2.3 双二次Bézier 曲面保面积参数化条件推导双二次Bézier 曲面的边界曲线和等参线均为抛物线, 9个控制顶点中的8个决定了曲面的4条边界曲线, 内部控制顶点11P 只影响曲面内部形状,对边界不产生影响. 根据式(1)和Bézier 曲面的微分几何形式, 双二次Bézier 曲面可表示为 ()()()()()()()()()()()()()()()()()()()222200000101222202021010222211111212222220202121222222,u v B u B v B u B v B u B v B u B v B u B v B u B v B u B v B u B v B u B v =++++++++X P P P P P P P P P (7)依据曲面的第一微分基本形式, 为了得到式(3)中曲面上任意一点的u 和v 向切向量的显式表示, 将式(7)分别对参数u 和v 求偏导, 即()()()()()()()()()()()()()()()20020102221011222122022122,=211 41121 21121 41141 21221 412,u v u v uu v v u v u v u v u v v u v v u v uv u v u v v uv ∂----∂----+⎡⎤----+⎣⎦----+⎡⎤⎣⎦⎡⎤--+-+⎣⎦-+X P P P P P P P P P()()()()()()()()()()()()()()()20022012021011212202222122,=211+ 21121 21411 41141 4121 2122u v u v vu v v u v u u u v u u v uv u uv u u v u v u v u v ∂---∂⎡⎤----+⎣⎦----+----+⎡⎤⎣⎦---+⎡⎤--+⎣⎦X P P P P P P P P P .首先将(),u v u∂∂X 和(),u v v∂∂X 作向量叉乘运算,得到曲面上(u ,v )点处的法向量; 然后将法向量取模, 依据式(3)和向量叉乘运算的加法分配率和反交换律等化简49个条件式, 包含441项多项式; 最后求出双二次Bézier 曲面必须满足4组约束条件.定义向前差分为1,0 1 ,i j i j i j Δ+=-P P P,01,01,01 , 1,2,3k k k i j i j i j ΔΔΔk --+=-=P P P ,0,11 ,i j i j i j Δ+=-P P P0,0,10,11 , 1,.,23l l l i j i j i j ΔΔΔl --+=-=P P P其中Δ为向前差分算子.1,00,10000 4AΔΔ⨯=P P (8)第3期李效伟, 等: 具有保面积参数化的双二次Bézier 曲面 4692,02,000012,02,000022,02,001020,20,220000,20,220100,20,21000 =ΔΔΔΔΔΔΔΔΔΔΔΔ⎧⨯⎪⨯=⎪⎪⨯=⎪⎨⨯=⎪⎪⨯=⎪⎪⨯=⎩0000P P P P P P P P P P P P (9) ()()()()()()1,00,10,10,20,10,21000100000101,01,00,11,00,100000010002,02,00,20,2010010000,20,20,20,1001020002,02,01,00100000,20,2102 4 2ΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔ-+⨯=⨯⨯=⨯--⨯-=-+⨯+-⨯=-0P P P P P P P P P P PP P P P P P P P P P P P P ()()1,00,1001000ΔΔ⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⨯-⎪⎩P P(10)()()()()()2,01,00,11,02,01,00010000101002,00,11,00,11,000001000001,02,02,02,0000001022,00,20,20010001,00,12,02,010*******,00,0022 2 2ΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔ⎡⎤⨯-+=⨯⎣⎦⨯=-⨯⨯-++⨯-=-⨯-⨯P P P P P P P P P P PP P P P P P P P P P P P ()()22,02,00,1000100000,20,21,01000002 2ΔΔΔΔΔΔ⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪+-⨯=⎪⎪-⨯⎪⎩P P P P P P P (11)令2,02,01002012,2,ΔΔ==H P H P 2,03022,Δ=H P0,20,20,24205106002, 2, 2,ΔΔΔ===H P H P H P 曲面控制顶点和差分向量分布情况如图2所示.图2 式(8)~式(11)中控制顶点和向量的原理图2.4 具有保面积参数化的双二次Bézier 曲面的构造算法对于任意双二次Bézier 曲面, 只有同时满足式(8)~式(11)这4组约束条件, 才能够满足式(3)所表达的保面积参数化条件. 式(8)给出了在P 00点处法向量的模必须为A /4的约束; 式(9)给出了曲面同方向控制顶点所构成向量必须平行的约束条件, 即123////H H H , 456////H H H ; 式(10)(11)分别给出了横向和纵向控制顶点构成向量之间的关系, 且具有一定的对称性, 式(10)给出了456,,H H H 与12,,H H H 之间的约束关系; 式(11)给出了123,,H H H 与56,,H H H 之间的约束关系.算法1. 具有保面积参数化的双二次Bézier 曲面构造算法.输入. 控制顶点P 00, P 00点处u 和v 方向的偏导矢的方向(不共线)、模的比值和曲面面积A .输出. 具有保面积参数化的双二次Bézier 曲面.Step1. 将P 00点处u 和v 方向的偏导矢的方向、模的比值和曲面面积A 代入式(8), 计算控制顶点P 10和P 01.Step2. 根据式(9), 给出剩余6个控制顶点P 02, P 11, P 12, P 20, P 21和P 22坐标值的计算系数:Step2.1.由分类讨论得出约束=H 0, 则可令11011000=+-P P P P ;Step2.2. 根据约束条件()()()()100060100101001000125613220⎧-⨯=-⨯⎪⨯-=⨯-⎪⎪⨯=⎨⎪⨯=⎪⎪⨯=⎩P P H P P H H P P H P P H H H H H H , 1000,0-≠P P 0100,0-≠P P 当1≠0H 并且6≠0H 时,可将控制顶点P 02, P 20, P 21, P 12和P 22的坐标表示为0211000010020201001000213002010110112400020111102250020101202()2()2(2)2(2)2(2)2k k k k k =-+-⎧⎪=-+-⎪⎪=+-+-⎨⎪=+-+-⎪⎪=+-+-⎩P P P P P P P P P P P P P P P P P P P P P PP P P P P P (12) 其中, 12345,,,,k k k k k ⊂ . 类似地, 当1=0H 或6=0H 时, 这些控制顶点坐标也将得到形式如式(12)的表达式;Step2.3. 将P 02, P 20, P 21, P 12和P 22的坐标表示代入剩余约束条件()()()1110601005111012100021561000123156216540100216561621010056[2()]()[2()]()()()()(2)4() 4()(2)()4() 4()0+-⨯=-⨯⨯+-=⨯--⨯-=-⨯-++⨯-=⨯--+⨯-+-⨯=-⨯⨯+-⨯-=-⨯H P P H P P H H H P P H P P H H H H P P H H H H H H H H H H H H P P H H H H H HH H H H P P H H P ()1000⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪-⎩P,470计算机辅助设计与图形学学报 第33卷得到方程组()()()()()()()()()()()()()()()()()()1401001000230100100012340100100023514110000100123010010001201001000111112221k k k k k k k k k k k k k k k k k k k ⎧--⨯-=⎪--⨯-=⎪⎪---⨯-=⎪⎨-+-+-⨯-=⎪⎪--⨯-=⎪⎪-⨯-=⎩000000P P P P P P P P P P P P P P P P P P P P P P P P . P 00, P 10和P 01必须构成三角形的前提条件, 得到约束()()01001000-⨯-≠0P P P P , 化简方程组得到一个便于求解的方程组()()()()()()1423123423514112312101011012220100k k k k k k k k k k k k k k k k k k k ⎧-=⎪-=⎪⎪--=⎪⎨-+-+=⎪⎪-=⎪⎪=⎩; Step2.4. 求解方程组, 得到约束123500==1k k k k =⎧⎪≠⎨⎪⎩. Step3. 给定自由变量k 2和k 4的值, 根据式(12)计算P 02, P 12, P 20, P 21, P 22的值, 输出9个控制顶点坐标所表示的双二次Bézier 曲面.2.5 具有保面积参数化的双二次Bézier 曲面只能为平面曲面对于具有保面积参数化的双二次Bézier 曲面, 必满足式(8)~式(11), 其表达的几何含义为曲面任意点处的一个法向量的模恒为常量. 根据双二次Bézier 曲面的微分几何含义, 由于向量0100-P P 和1000-P P 所构成的平面是曲面在P 00点处的切平面, 故能得到P 00, P 01和P 103点共面. 又因为, 从式(8)~式(11)中的4组约束条件出发, 根据分类讨论结果, 得出向量H 只能为零向量, 否则, 必有其中的一个约束条件不成立, 因此得到式11011000=+-P P P P . 根据向量共面定理[23]可知, P 00, P 01, P 10和P 11 4点共面. 由于控制顶点P 20, P 02, P 21, P 12和P 22可表示为式(12)的形式, 并且式(12)中每个控制顶点的表达式均满足向量共面定理, 即5个控制顶点均与点P 00, P 01和P 10共面, 可得曲面的9个控制顶点共面. 又根据Bézier 曲面的凸包性质, 由以上9个控制顶点生成的曲面为一平面片. 综上所述, 严格满足保面积参数化约束条件的双二次Bézier 曲面只能是平面曲面.3 松弛保面积参数化双二次Bézier 曲面3.1 问题描述对于双二次Bézier 曲面, 由于严格满足保面积参数化约束条件式(8)~式(11)的曲面只能是平面曲面, 在第2.5节给出了相关证明. 为了构造出具有丰富弯曲造型的真正意义上的曲面, 本文提出通过求解在不等式约束下的能量函数来生成逼近保面积参数化的Bézier 曲面.求解能量函数()()()()1100min ,s.t. ,,M N iji j u v u v A e u v u v A e--==⎧-⎪⎨⎪-∂⨯∂+⎩∑∑X Q X X ≤≤. 其中, u 和v 是采样点处的参数坐标, 不等式的个数由采样点密度决定, 优化参数是曲面的控制顶点坐标, 目标函数是希望生成的曲面尽量通过给定的逼近点ij Q , 同时要求约束采样点处的最大面积误差不得超过e . 上述优化问题是一个在非线性约束下的最小二乘优化问题, 本文使用fmincon 函数进行求解.3.2 松弛保面积参数化约束条件的双二次Bézier曲面构造算法本文提出通过松弛保面积参数化约束条件来构造具有保面积参数化的双二次Bézier 曲面的算法思路. 首先通过增加曲面的面积容差, 然后指定在曲面的m ×n 个采样点处满足面积容差约束, 最后使用最小二乘法[24]拟合所要构造的双二次Bézier 曲面, 以达到曲面接近或经过给定曲面逼近点的形状设计要求.算法2. 松弛保面积参数化约束条件的双二次Bézier 曲面构造算法.输入. M ×N 个逼近点Q 00, Q 01, , Q 0M ; Q 10, Q 11, , Q 1M ; ; Q N 0, Q N 1, , Q NM 坐标, 采样点的个数m 和n , 以及面积容差e .输出. 具有保面积参数化的双二次Bézier 曲面.Step1. 根据输入控制顶点计算曲面面积A . Step2. 根据曲面u 和v 向的采样点个数m 和n 确定采样点处的不等式约束.Step3. 拟合双二次Bézier 曲面, 更新曲面控制顶点P 00, P 01, P 02, P 10, P 11, P 12, P 20, P 21和P 22坐标, 重新计算曲面面积A ʹ.Step4. 迭代. 将Step1中的输入控制顶点替代为Step3重更新后的控制顶点. 重复执行Step1~Step3, 直到2||||10A A A -'-⋅≤.第3期李效伟, 等: 具有保面积参数化的双二次Bézier曲面 471Step5. 重新拟合双二次Bézier曲面, 输出控制顶点P00, P01, P02, P10, P11, P12, P20, P21和P22坐标.4 实例本文使用的实验平台是主频为 3.6 GHz的Intel Core I7处理器, 内存为16 GB的台式机, 运行系统为64位的Windows 7操作系统, 显卡为8 GB显存的英伟达GeForce GTX1080. 实验过程中, 使用Visual Studio 2018集成开发环境实现本文提出的构造算法, 使用C++语言和OpenGL图形库显示曲面的等参线分布和纹理映射效果. 实验内容包括:实例1. 具有保面积参数化的双二次Bézier曲面的构造实例, 所构造曲面严格满足式(8)~式(11)给出约束条件.实例2. 松弛保面积参数化约束条件的双二次Bézier曲面的构造实例, 设定面积容差, 使用曲面拟合方法构造, 所构造曲面在容差范围内满足保面积参数化.4.1实例1为了展示本文算法的有效性, 图3中给出了3个实验结果. 图3a给出了曲面的等参线分布实验结果, 展示了曲面细分和网格化效果, 图3b给出了曲面的纹理映射实验结果. 实验结果可以看出, 3个曲面的参数化保持面积拉伸, 即完全满足保面积约束条件式(8)~式(11), 在曲面细分实验中, 虽然细分曲面的形状不同, 但是任何一个细分曲面的面积均保持面积拉伸; 在纹理映射实验中, 分别用黑白棋盘格和圆盘格展示了本文算法1生成曲面的保面积参数化特性, 虽然小方格和小圆圈形状发生了拉伸, 但是其面积仍然保持拉伸. 从曲面构造角度看, 通过本文算法1找到的曲面均需要保证有一个方向的控制顶点构成直线, 即控制多边形P00P01P02, P10P11P12和P20P21P22均为直线, 也即H1=H2=H3或H4=H5=H6, 这种约束导致可生成的曲面形状的有限性; 曲面另外一个方向可以实现一定程度的弯曲, 为了检验是否满足条件, 最终生成的曲面需要代入式(10)(11)验证. 虽然保面积约束条件较为苛刻, 但是不局限于图3中展示的3个曲面, 通过本文算法1可以找到更多符合保面积参数化约束条件的双二次Bézier曲面, 一个可行的方法为: 以图3中的任意一个曲面为基础, 通过调整曲面弯曲方向的控制顶点坐标位置, 可以生成一簇保面积参数化曲面, 如图4所示, 可以看出, 虽然同一簇曲面的形状相似, 但其弯曲程度不同. 表1给出了图4中4个双二次Bézier曲面图形的3个输入控制顶点坐标和其余控制顶点的计算系数. 图3~图5所示的曲面图形中, P00, P01和P10为本文算法1的输入控制顶点; P02, P11, P12, P20, P21, P22为通过本文算法1计算得到的控制顶点.需要特殊说明的是, 只是通过输入计算出的3个输入控制顶点P00, P01和P10, 并不能唯一确定满足条件的其余控制顶点, 因为在本文算法1的执行过程中其余控制顶点的计算系数k2和k4是自由变量, 通过设定不同的k2和k4值可以生成不同形状的双二次Bézier曲面. 另外, 经过实验案例测试, 在3个输入控制顶点P00, P01和P10取值相同, 但k2和k4取值不同的情况下, 生成了2种不同形状的双二次Bézier曲面, 如图5所示, 2种曲面都满足式(8)~式(11).图3 等参线分布和纹理映射实验图4 一簇具有保面积参数化的双二次Bézier曲面472计算机辅助设计与图形学学报 第33卷表1 图4中图形的部分控制顶点坐标和计算系数计算系数顶点坐标 图序k 1k 2k 3k 4k 5P 00P 01P 104a 0.0 5.0 1.0 1.0 1.0 (2,0,0) (2.5,0,0) (0,0.5,0) 4b 0.0 4.0 1.0 2.0 1.0 (1.5,0,0) (2,0,0) (0,0.5,0) 4c 0.0 3.5 1.0 3.0 1.0 (1.25,0,0)(1.75,0,0) (0,0.5,0)4d 0.0 3.0 1.0 4.0 1.0 (1,0,0) (1.5,0,0) (0,0.5,0)图5 输入数据相同的双二次Bézier 曲面通过给定不同的输入数据计算出的3个输入控制顶点P 00, P 01和P 10坐标, 能够生成形状较为丰富的具有保面积参数化的双二次Bézier 曲面, 如图6所示. 表2给出了图6中6个曲面图形的3个由本文算法1的输入数据计算出的控制顶点坐标和其余控制顶点的计算系数.4.2 实例2由于严格满足保面积参数化约束条件的双二次曲面的造型能力较为有限, 只能生成平面空间中的曲面,难以生成造型丰富的曲面, 因此其在某些特殊的实际应用中具有一定的局限性. 为此, 本文提出了松弛保面积参数化约束的双二次Bézier 曲面的构造算法. 为了验证松弛保面积参数化约束的双二次Bézier 曲面的造型能力, 使用C++语言编写程序实现了基于不等式方程组约束的曲面拟合算法, 所生成曲面的等参线分布和纹理映射效果如图7所示. 可以看出, 通过本文算法2构造的双二次Bézier 曲面具有丰富的形状, 具有较强的造型能力.a. 曲面1b. 曲面2c. 曲面3d. 曲面4e. 曲面5f. 曲面6图6 不同的输入数据生成双二次Bézier 曲面表2 图6中图形的部分控制顶点坐标和计算系数计算系数顶点坐标 图序k 1k 2k 3k 4k 5P 00P 01P 10 6a 0.0 1.0 1.0 0.4 1.0 (0,0,0) (0.5,0.5,0) (0,0.5,0) 6b 0.0 2.0 1.0 0.0 1.0 (0,0,0) (–0.25,0.2,0) (1,0.2,0) 6c 0.0 2.0 1.0 0.3 1.0 (0,0,0) (–0.25,0.4,0) (0.375,0.4,0) 6d 0.0 1.0 1.0 0.6 1.0 (0,0,0) (–0.25,0.333 3,0) (0.5,0.333 3,0)6e 0.0 1.0 1.0 0.9 1.0 (0,0,0) (–0.25,0.5,0) (0.25,0.5,0) 6f 0.0 1.0 1.0 1.0 1.0 (0,0,0) (–0.25,0.25,0)(0.75,0.25,0)表3给出的数据验证了本文算法2的有效性, 表中数据为采样数为104×104时图7中8个曲面的目标函数值f 、最大保面积能量J max 、迭代次数和给定的容差e . 其中, 目标函数值f 表示拟合生成的曲面与目标曲面的偏离程度, f 值越大, 表明拟合曲面越难以经过本文算法2中输入中的给定点, 从而更加偏离给定的曲面形状; 表3第4列表示在满足不等式约束的前提下优化过程的迭代次数. 相对于曲面2~曲面8, 曲面1的弯曲程度较小, 故将容差设置为其他曲面容差的1/10, 设定的容差第3期李效伟, 等: 具有保面积参数化的双二次Bézier曲面 473a. 曲面1b. 曲面2c.曲面3 d. 曲面4e. 曲面5f.曲面6 g.曲面7 h.曲面8图7 松弛后的双二次Bézier曲面表3图7曲面采样数为104×104的保面积能量与容差曲面 f J max迭代次数e曲面 f J max迭代次数e1 0.1457 0.00091450 0.00151.0247 0.008621 267 0.0102 0.8622 0.008502870.010 6 0.9875 0.00938268 0.0103 1.2457 0.009657 168 0.01071.5416 0.00933174 0.0104 1.3245 0.009355 171 0.01081.3142 0.00994459 0.010越小, 则生成的曲面越接近保面积参数化. 对于曲面造型, 如果预想生成弯曲幅度较大的曲面, 则可适当地将容差设定的更大一些. 例如, 本实验的曲面2~曲面8中, 将容差设置为0.010; 否则优化过程更新后的曲面不能很好地经过算法输入的给定点, 最终生成的曲面虽然能够将保面积容差限定在用户定义的范围, 但是其形状将会较大幅度地偏离初始曲面形状. 曲面上最大保面积能量J max表示的是曲面最坏处的保面积参数化偏离程度, 其值越大, 表明曲面在此位置处越偏离保面积参数化; 其值越小, 表明曲面在此位置处的保面积参数化效果越好. 曲面上采样点处最大保面积能量的。
二次贝塞尔曲线:优雅的数学之美二次贝塞尔曲线是一种常见的数学曲线,它因其优雅的形状和广泛的应用而被广泛采用。
本文将介绍二次贝塞尔曲线的定义、性质和应用,并探讨它背后的数学原理。
二次贝塞尔曲线是由法国数学家皮埃尔·贝塞尔在19世纪末提出的。
它是通过控制点定义的,通常由三个点确定。
这些点分别称为起始点、控制点和结束点。
曲线的形状由控制点的位置和区域决定。
二次贝塞尔曲线的定义涉及到参数方程。
设起始点为P0,控制点为P1,结束点为P2。
曲线上的每个点P(t)可以通过以下参数方程求得:P(t) = (1 - t)2P0 + 2(1 - t)tP1 + t2P2其中,t为参数,范围为0到1。
通过改变控制点的位置和参数t的值,可以得到不同形状的曲线。
二次贝塞尔曲线具有独特的性质。
首先,曲线始终在起始点和结束点之间。
其次,曲线呈现出流畅的弧线形状,美观且自然。
此外,通过调整控制点的位置和相对权重,可以实现曲线的弯曲和拉伸。
这些性质使二次贝塞尔曲线成为许多领域中所使用的重要工具。
二次贝塞尔曲线在计算机图形学中有广泛的应用。
它可以用来绘制曲线和平滑的轨迹。
在计算机辅助设计(CAD)领域,二次贝塞尔曲线用于绘制平滑的曲线和曲面。
此外,在动画和游戏开发中,二次贝塞尔曲线可以用来定义飞行路径、动画过渡和曲线运动。
除了计算机图形学,二次贝塞尔曲线还在其他领域中得到广泛应用。
在工程和建筑领域,它可以用来设计光滑的曲线和道路。
在工业设计中,二次贝塞尔曲线可以用来设计流线型的产品外观。
此外,它还被用于音乐合成、图像处理、金融分析和优化问题等领域。
二次贝塞尔曲线背后的数学原理是复杂而丰富的。
它涉及到多元函数、向量运算和微积分等数学概念。
通过深入研究二次贝塞尔曲线和相关的数学理论,可以进一步理解它的性质和应用。
总之,二次贝塞尔曲线以其优雅的形状和广泛的应用而受到广泛关注。
它在计算机图形学、工程设计、动画和游戏开发等领域发挥着重要作用。
用python实现贝塞尔近似解-概述说明以及解释1.引言1.1 概述贝塞尔曲线是一种在计算机图形学和计算机辅助设计中广泛应用的数学曲线。
它由法国数学家Pierre Bézier在20世纪60年代提出,并以他的姓氏命名而来。
贝塞尔曲线通过一系列的控制点来定义,它有着独特的特性,能够精确描述复杂的曲线形状。
贝塞尔曲线的形状由控制点之间的相对位置和权重因子所决定。
贝塞尔曲线近似解是指使用一条低次数的贝塞尔曲线来近似表示给定的高次数曲线。
这种近似解的方法可以减小曲线的复杂度,提高计算效率,并且可以更好地满足实际应用需求。
在本文中,我们将使用Python编程语言来实现贝塞尔曲线的近似解。
Python是一种高级编程语言,具有简洁易读、功能强大的特点,非常适合进行数学计算和图形处理。
本文的目的是介绍贝塞尔曲线的基本原理和近似解的方法,并通过Python编程示例来展示如何实现贝塞尔近似解。
我们将详细讲解贝塞尔曲线的定义、控制点的选择和权重因子的计算方法,以及如何利用Python 代码生成近似解的曲线。
此外,我们还将探讨贝塞尔近似解在实际应用中的一些场景。
无论是在计算机图形学中的曲线绘制,还是在计算机辅助设计中的形状构建,贝塞尔近似解都具有广泛的应用前景。
通过学习本文,读者将能够理解贝塞尔近似解的原理,并能够运用Python编程语言进行实际的应用开发。
在接下来的章节中,我们将详细介绍贝塞尔曲线的基本概念和原理,并通过具体的实例和代码示例,帮助读者掌握贝塞尔近似解的实现方法。
最后,我们将对本文进行总结,并展望贝塞尔近似解在未来的发展前景。
希望本文能够为读者提供一个深入了解贝塞尔曲线和近似解的入门指南,并激发对贝塞尔曲线应用的兴趣和探索。
让我们一起开始这段有趣的学习之旅吧!1.2 文章结构本文将按照以下结构来讨论贝塞尔近似解的实现方法和应用。
首先,在引言部分概述了本文的背景和目的。
接下来,在正文部分,我们将从贝塞尔曲线的简介开始讲述,介绍了贝塞尔曲线的基本概念和特点。
calayer 贝塞尔曲线贝塞尔曲线是一种常用于计算机图形学的数学曲线模型,由法国数学家皮埃尔·贝塞尔(Pierre Bézier)在20世纪60年代开发而来。
贝塞尔曲线被广泛应用于计算机辅助设计(CAD)、计算机游戏、计算机动画以及图形处理等领域,它在图形绘制上具有很高的灵活性和精度。
贝塞尔曲线的特点是由一组控制点来构造曲线,通过调整这些控制点的位置和权重,可以得到非常复杂的曲线形状。
根据控制点的数量和位置,贝塞尔曲线可以分为一阶贝塞尔曲线、二阶贝塞尔曲线、三阶贝塞尔曲线等不同的类型。
一阶贝塞尔曲线是由两个控制点构成的直线,通过线性插值的方法计算出曲线上的点。
二阶贝塞尔曲线需要三个控制点,其中两个控制点定义起始和终止位置,第三个控制点决定曲线的凹凸程度。
三阶贝塞尔曲线需要四个控制点,其中两个控制点定义起始和终止位置,另外两个控制点决定曲线的凹凸程度和弯曲方向。
贝塞尔曲线的计算基于贝塞尔插值的原理,即根据控制点的位置和权重来计算曲线上的点。
一般来说,贝塞尔曲线上的点通过插值多个控制点的位置得出,并且曲线上的点都位于控制点构成的凸包内。
贝塞尔曲线的另一个重要特性是它的局部控制性,即每个控制点只影响相邻的曲线段,而不会影响整个曲线。
这种局部性质使得对贝塞尔曲线进行局部调整和修改变得非常容易,而不需要对整个曲线重新计算。
贝塞尔曲线除了可以用来绘制曲线之外,还可以用来生成曲面。
通过在平面上放置一组控制点,可以生成一个二维曲面,称为贝塞尔曲面。
贝塞尔曲面可以用于进行三维建模和渲染。
贝塞尔曲线的绘制和计算可以通过多种方法来实现,包括直接计算控制点的位置、利用递归算法进行细分等。
在实际应用中,通常使用数学库或计算机图形学软件来实现贝塞尔曲线的计算和绘制。
总之,贝塞尔曲线是一种非常重要的数学曲线模型,它具有灵活性、精确性和局部控制性等优点,在计算机图形学领域具有广泛的应用前景。
通过合理地调整控制点的位置和权重,可以生成各种形状的曲线和曲面,为计算机图形学的发展做出了重要贡献。
第43卷 第1期武汉大学学报(自然科学版)V o l.43N o.1 1997年2月J.W uhan U niv.(Na tural Science Edition)Feb.1997曲线的二次有理Bezier曲线拟合*沈海鸥 陈淑珍 孙晓安(武汉大学电子信息学学院,武汉430072) 摘 要 根据1991年国际标准组织(ISO)颁布的关于工业产品数据交换的ST EP国际标准,采用非均匀有理B样条(N U RBS)的特例:二次有理Bezier曲线,提出了用二次有理Bezier曲线进行扫描点的曲线拟合方法,讨论了如何对多条二次有理Bezier曲线进行合并,以减少曲线段的数目.获得了优良的拟合效果. 关键词 Bezier曲线,拟合,曲线合并 分类号 T P391.41曲线的拟合是CAD、广告设计、字形设计等领域中的关键技术,在以上领域有广泛的应用.曲线拟合的质量和效率决定后续工作的质量和效率.为了保持图形的曲线信息,准确的表达设计者的意图,选择合适的曲线拟合方法是关键.同时这种方法应利于计算机表示,并且符合现行工业标准.国际标准组织(ISO)于1991年颁布了关于工业产品数据交换的S TEP国际标准,把非均匀有理B样条作为定义工业产品几何形状的唯一数学方法[1].本文根据这一国际标准,选用二次有理Bezier曲线进行拟合,以便对点列所描述的曲线进行表示和存储.二次有理Bezier 曲线是非均匀有理B样条曲线的特例[2],具有非均匀有理B样条曲线的优点[1],能用统一的N U RBS形式表达.由于初步拟合后的数据量很大,应对拟合曲线加以合并,以减少曲线段的数目.1 二次有理Bezier曲线的定义和基本特点二次有理Bezier曲线的定义[3]为r(t,w)=(1-t)2w0p0+2t(1-t)w1p1+t2w2p2(1-t)2w0+2t(1-t)w1+t2w2 (0≤t≤1)(1)其中p i(i=0,1,2)是控制顶点,w i(i=0,1,2)是对应控制顶点的权因子,t是参变量,且0≤t≤1.p0p1p2所组成的多边形叫控制多边形(如图1所示).二次N URBS曲线的定义[2]为 收稿日期:1996-01-17. 沈海鸥:男,23岁,硕士生*国防科工委科研基金资助的课题b (u ,w )=N 0,2w 0p 0+N 1,2w 1p 1+N 2,2w 2p 2N 0,2w 0+N 1,2w 1+N 2,2w 2取u 0=u 1=u 2=0,u 3=u 4=u 5=1,这时有:N 0,2=(1-u )2,N 1,2=2u (1-u ),N 2,2=u 2.所以r (t ,w )=b (u ,w ),即二次有理Bezier 曲线是非均匀有理B 样条曲线的特例.在本文中采用标准型的二次有理Bezier 曲线,取w 0=w 2=1,w =w 1,标准型的二次有理Bezier 曲线为r (t ,w )=(1-t )2p 0+2t (1-t )wp 1+t 2p 2(1-t )2+2t (1-t )w +t 2 (0≤t ≤1)(2)二次有理Bezier 曲线由于有一个权因子w ,其表达能力比非有理形式的Bezier 曲线强,可以表达多种曲线(如图2所示):当-1<w <1且w ≠0时,曲线为椭圆;当|w |=1时,曲线为抛物线;当w <-1或w >1时,曲线为双曲线.由图2可见,当w 为正值时,曲线在控制多边形的凸包中,当w 为负值时,曲线是对应w 为正的曲线在控制多边形凸包外的部分[3].可见w 这个权因子在二次有理Bezier 曲线中是一个举足轻重的参数,w 和控制多边形一起决定曲线的形状. 图1 二次有理Bezier 曲线 图2 权因子对二次曲线的影响2 二次有理Bezier 曲线权因子的求取用二次有理Bezier 曲线拟合数据点,就是通过控制多边形和控制多边形凸包内曲线上一点,确定曲线段的权因子w ,下面给出解决方法:如图(3)所示:已知有3个控制点p 0,p 1,p 2和曲线上一点p c . 由二次有理Bezier 曲线的方程(2),当w =0时:r (t ,0)=(1-t )2p 0+t 2p 2(1-t )2+t 2(3)这是一条从p 0到p 2的线段,固定t ,得到p 0p 2上的一点q .令U =2t (1-t )w (1-t )2+t 2+2t (1-t )w (4)则(1-U )q +U p 1=r (t ,w ) (t 为一特定值)(5)所以r (t ,w )(t 为一特定值,以w 为参数)是一条过p 1和q 的线段.由此可知,具有相同t 而w 不同的点,是一条过p 1和q 的直线.p c 和q 点在一条直线上且两点的t 值相同,所以求出q 点的t 即可知p c 点的t 值.120武汉大学学报(自然科学版)第43卷图3 二次曲线的权因子的求取令_=q -p 0p 2-q(6)由(3)式可知:q 点是当w =0时,r (t ,0)上的一点.所以_=t 2(1-t )2由于0≤t ≤1所以t =u 1+_(7)令_′=p 1-p c p c -q (8)并由(5)式可知:过p 1和q 的线段上的点p c 可以表示成(1-U )q +U p 1所以_′=p 1-(1-U )q -U p 1(1-U )q +U p 1-q =(1-U )U(9)将(4)式和(7)式代入(9)式,得11+_′=2u w 1+u +2u w所以w =1+_2u _′(10)3 二次有理Bezier 曲线的合并要合并两条二次有理Bezier 曲线,需要判断两条二次有理Bezier 曲线是否是一条二次曲线的两个不同部分.首先考虑二次有理Bezier 曲线的分割,令:B i =[w i p i ,w i ](11)对二次有理Be zier 曲线r (t ,w ),其控制顶点为p 0,p 1,p 2,权因子为w 0,w 1,w 2,有:B 0=[w 0p 0,w 0],B 1=[w 1p 1,w 1],B 2=[w 2p 2,w 2],将r (t ,w )在t 处分割成两段二次有理Bezier 曲线分别为r a ,r b ,它们的控制多边形和权因子分别为p a 0p a 1p a 2,w a 0,w a 1,w a 2,p b 0p b 1p b 2,w b 0,w b 1,w b 2(如图4所示).对应有B a 0,B a 1,B a 2,B b 0,Bb 1,B b 2.图4 二次曲线的分割由有理德卡斯特里奥算法[4]有: B a 0=B 0, B b 2=B 2, B a 1=B 0(1-t )+B 1t , B b 1=B 1(1-t )+B 2t , B a 2=B b 0=B a 1(1-t )+B b 1t由于r (t ,w )是标准型的二次有理Bezier曲线,有w 0=w 2=1,w 1=w ,可以算出: w a 0=1,p a 0=p 0121第1期 沈海鸥等:曲线的二次有理Bezier 曲线拟合 w a1=(1-t)+wt,p a1=(1-t)p0+w p1t(1-t)+wt w a2=w b0=(1-t)2+2t(1-t)w+t2 p a2=p b0=p0(1-t)2+2t(1-t)wp1+t2p2(1-t)2+2t(1-t)w+t2 w b1=w(1-t)+t,p b1=(1-t)w p1+tp2(1-t)w+t w b2=1,p b2=p2上面求出的w a2和w b0不等于1,不是标准型的二次有理Bezier曲线,由转换公式[2]:w-i=1w n(w0w n)i n-1w i(12)可得标准型的二次有理Bezier曲线的权因子为: w-a0=1,w-a1=w a1w a2,w-a2=1 w-b0=1,w-b1=w b1w b0,w-b2=1上面就是二次有理Bezier曲线的分割算法.可以将这一算法用于二次有理Bezier曲线的合并,其方法如下:p0,p1,p2是二次有理Bezier曲线r a的控制顶点,它们的权因子分别为1,w a,1.p2,p3,p4是二次有理Bezier曲线r b的控制顶点,它们的权因子分别为1,w b,1,且p1,p2,p3在一条直线上.延长p0p1和p4p3交于点p,采用前述方法,可以拟合一条过p0,p2,p4的二次有理Bezier曲线r,p点的权因子为w,p2点的参数为t.这时在p2点将曲线分割成两段r a′,r b′,并求出两段的控制多边形和权因子,进行标准化,如果标准化合的结果r a′,r b′分别和r a,r b相同,那么r a就是r a′,r b就是r b′,就认为r a,r b是同一条二次曲线r上的两段,是可以合并的,合并的结果就是r. 4 曲线拟合的基本步骤通过上面的讨论,可以得到曲线拟合的基本过程:1)从扫描图像中,提取出图像的边缘点.2)从顺序的3个边缘点中,取中间一个点为抽样点,得到点列p0,p1,…,p n.3)每5个抽样点作一组,取中间一点作为控制点,控制点的切矢方面由下式确定:f pi=16(p i-p i-2)+23(p i+1-p i-1)+16(p i+2-p i)4)每段曲线的中间控制顶点是前后两个控制点的切矢的交点.5)计算第一条二次曲线的权因子.在实际计算中,考虑到点列p0,p1,…,p n是从扫描图像的边缘点得到的,这些点的位置有抽样误差.为了减少抽样误差对权因子的影响,在求权因子时,应分别对p i+2,p i+3,p i+4各求1次权因子得到w i+2,w i+3,w i+4,然后取三者的平均值得w=(w i+2+w i+3+w i+4)/3.这样求得的权因子的曲线拟合效果更好.6)采用上一步的方法计算下一条二次曲线的权因子.122武汉大学学报(自然科学版)第43卷图5 曲线拟合的例子7)确定两条二次曲线是否可以合并,如能合并,则计算统一的曲线表达式,然后再回到上一步;如不能合并,回到上一步,再计算下一条二次曲线,直到所有点都被拟合为止.综上所述,本实验是在一台486计算机上对一幅已提取边缘点的图像完成的,实验结果如图5,图像是用扫描仪以200-dpi 的分辨率对一幅5.08cm 的图形扫描的,用本方法拟合需要7条二次曲线段,有效的减少了数据量,并获得了良好的效果.参考文献 1 施法中.计算机辅助几何设计与非均匀有理B 样条.北京:北京航空航天大学出版社,19942 孙家广,杨长贵.计算机图形学(新版).北京:清华大学出版社,1995 3 Ho sa ka M 著.CAD /CAM 曲线和曲面造型.冉瑞江,田洪霞译.北京:海洋出版社,1995 4 Fa rin G.Curv es and surfaces fo r computer aided g eo metric desig n :A prac tical guide.N ew Yo rk :Academic press ,1988QUADRATIC RATIO N AL BEZIER CURVE FITTINGShen Haiou ,C hen Shuzhen ,Sun Xiaoan(Co lleg e of Electro nic Info r matio n ,W uhan U niv ersity ,W uha n 430072,China ) Abstract That freefo rm curv e、surface and quadratic curv e 、surface are difficult to ex-press in uniform ma thematical m ethod is the primary problem faced by engineers.The pur-pose of No n-Uniform Ratio nal B-Spline (NU RBS)m ethod is to find a precise ma them atica lm ethod to present quadratic curv e、surface which is co nsistent with the B -Spline method that cha racterize the freefo rm curve 、surface .According to the S TEP International Standard fo r industrial product da ta excha ng e w hich is promulga ted by Internatio nal Sta nda rd Organiza-tion (ISO)in 1991,Quadratic Rational Be zier Curve,a special fo rm of N URBS is used in this paper .W e use Quadratic Ratio nal Bezier Curves to fit scaned points a nd discussed ho w to combine sev eral Quadratic Rational Bezier Curv es to reduce the number of curves.This m ethod has ex cellent fitting perfo rmance. Key words Bezier curve ,fit ,com bine curves 123第1期 沈海鸥等:曲线的二次有理Bezier 曲线拟合。
二次贝塞尔曲线矩阵
二次贝塞尔曲线可以通过矩阵进行描述和变换。
以下是关于二次贝塞尔曲线矩阵的基本介绍。
1. 二次贝塞尔曲线的定义
二次贝塞尔曲线是由两个控制点和起点终点确定的。
曲线路径由起点P0开始,以平滑的方式穿过一个控制点P1,最终到达终点P2。
2. 二次贝塞尔曲线矩阵表示
二次贝塞尔曲线可以通过一个变换矩阵进行描述,该矩阵将一个坐标点变换到曲线上。
具体来说,设一个二维平面上的坐标点为(x, y),变换矩阵为M,则经过变换后的坐标点为M(x, y)T。
3. 二次贝塞尔曲线矩阵的逆
对于二次贝塞尔曲线,其逆矩阵也是存在的。
通过将一个坐标点通过逆矩阵变换到原坐标系下,可以得到与二次贝塞尔曲线对应的标准曲线。
4. 二次贝塞尔曲线矩阵的应用
二次贝塞尔曲线矩阵可以用于各种变换操作,如平移、缩放、旋转等。
例如,要将一个图形从当前坐标系变换到目标坐标系,可以将图形的每个坐标点通过相应的变换矩阵进行变换。
综上所述,二次贝塞尔曲线矩阵是描述和变换二次贝塞尔曲线的重要工具。
通过使用矩阵,可以方便地实现各种复杂的几何变换操作,使得二次贝塞尔曲线在实际应用中更加灵活和可控。
2m次Bèzier曲线自适应降次逼近算法
白宝钢;金小刚
【期刊名称】《计算机工程与应用》
【年(卷),期】2005(041)001
【摘要】给出了封闭的2m次Bèzier曲线的降次逼近公式,并讨论了相应的逼近误差.文章工作除了具有传统的端点约束、C1-约束外,还具有以下特点:首先,基于欧几里德范数讨论逼近误差,更加符合人们的认识;其次,对于分段降阶逼近的情形,首先考虑并采用了选择拐点的策略;第三,考虑并采用了选择极大值点的策略.大量数值试验表明:第二、三两条策略的采用可以在很大程度上减少了2m-1次Bezier曲线段达到逼近2m次Bezier平面曲线的容差要求.
【总页数】4页(P64-66,173)
【作者】白宝钢;金小刚
【作者单位】温州师范学院计算机科学与工程学院,温州,325000;浙江大学
CAD&CG国家重点实验室,杭州,310027;浙江大学CAD&CG国家重点实验室,杭州,310027
【正文语种】中文
【中图分类】TP391.4
【相关文献】
1.2m次贝塞尔曲线降一次逼近及误差分析 [J], 白宝刚
2.端点处保持Cr,s连续的Bézier曲线一次降多阶算法 [J], 徐少平;张华;江顺亮;熊
宇虹;王三民
3.平面数字曲线的二次Bézier曲线逼近 [J], 周天祥
4.Bézier曲线的等距曲线的同次多项式逼近 [J], 王珺;张江平
5.逼近插值于一体的二次Bézier曲线同次扩展 [J], 程黄和
因版权原因,仅展示原文概要,查看原文内容请购买。
贝塞尔曲线(Bezier Curve)是一种应用于二维图形应用程序的参数化曲线,它由法国工程师Pierre Bézier在20世纪60年代为汽车制造工业开发。
贝塞尔曲线具有精确和易于修改的优点,因此在许多领域得到了广泛应用,包括计算机图形学、CAD/CAM、逆向工程和机器人学。
Decasteljau算法是一种用于生成贝塞尔曲线的递归算法。
该算法的基本思想是通过在控制多边形的每条线段上选择一个点,并将这些点连接起来形成新的控制多边形,然后重复这个过程直到控制多边形变为一条直线。
在这个过程中,每个点都会被用来生成贝塞尔曲线上的一个点。
具体来说,Decasteljau算法的步骤如下:
1. 初始化控制多边形,即初始的控制点集合。
2. 在控制多边形的每条线段上选择一个点,这个点的位置可以通过线性插值或者其他方法确定。
3. 将这些点连接起来形成新的控制多边形。
4. 重复步骤2和3,直到控制多边形变为一条直线。
5. 这条直线上的点就是贝塞尔曲线上的点。
在实现上,Decasteljau算法通常使用递归方式实现。
在每次递归
中,将当前的控制多边形进行分割,然后分别对分割后的子多边形进行递归处理。
当控制多边形变为一条直线时,递归结束。
需要注意的是,Decasteljau算法生成的贝塞尔曲线并不一定是唯一的,因为选择点的位置和方式可能会影响曲线的形状。
此外,由于递归算法的复杂度较高,因此在处理大规模数据时可能会遇到性能问题。
2次有理Bézier曲线的最优参数化陈军;王国瑾【期刊名称】《计算机研究与发展》【年(卷),期】2008(45)9【摘要】把Bézier曲线的最优参数化技术成功地推广到外形设计系统中更为常用的2次有理Bézier曲线场合.新方法能够事先对曲线进行重新参数化,而不需要在计算过程中对非均匀的参数速率采用动态的补偿算法.其关键是巧妙地化简需要求解的高次有理函数积分公式,使得M(o)bius参数变换公式并不是基于数值解法来得到近似解,而是简单明了地具有解析形式的精确解.M(o)bius变换能够保持有理Bézier曲线的控制顶点和形状不变,仅仅改变曲线的参数分布情况.优化后的参数速率保持C1连续.新参数速率关于单位速率的偏离量在L2范数下达到最小,即实现了最优参数化,所得到的参数最为接近弧长参数.新方法简单直接,数值实例验证了算法的正确与有效.【总页数】4页(P1601-1604)【作者】陈军;王国瑾【作者单位】浙江大学计算机图象图形研究所,杭州,310027;浙江大学CAD,&,CG 国家重点实验室,杭州,310027【正文语种】中文【中图分类】TP391.41【相关文献】1.有理Bézier曲线的分段Möbius重新参数化 [J], 胡倩倩;王伟伟;王国瑾2.一次复有理Bézier曲线的最优参数化 [J], 黄伟贤;王国瑾3.有理三次Bézier曲线参数化影响 [J], 李迎娣4.SPS参数化有理Bézier曲线的几何性质 [J], 朱如媛;徐晨东5.有理Bézier曲线的近似弦长参数化算法 [J], 李效伟; 孙黎; 杨义军; 曾薇因版权原因,仅展示原文概要,查看原文内容请购买。