前言:
目前同学们对“bezier曲线离散生成算法”大约比较讲究,姐妹们都想要分析一些“bezier曲线离散生成算法”的相关内容。那么小编也在网络上搜集了一些有关“bezier曲线离散生成算法””的相关文章,希望小伙伴们能喜欢,你们快快来了解一下吧!计算机图形基础
1.1计算计三维软件建模方法
目前三维软件两大流行建模方法:曲面建模法和多边形建模法。
1.1.1曲面建模
曲面建模最常用的是NURBS建模。NURBS是Non-Uniform Rational B-Splines的缩写,是“非统一均分有理性B样条”的意思。NURBS由Versprille在其博士学位论文中提出,1991年,国际标准化组织(ISO)颁布的工业产品数据交换标准STEP中,把NURBS作为定义工业产品几何形状的唯一数学方法。1992年,国际标准化组织又将NURBS纳入到规定独立于设备的交互图形编程接口的国际标准PHIGS(程序员层次交互图形系统)中,作为PHIGS Plus的扩充部分。Bezier、有理Bezier、均匀B样条和非均匀B样条都被统一到NURBS中。NURBS曲线和NURBS曲面在传统的制图领域是不存在的,是为使用计算机进行3D建模而专门建立的。在3D建模的内部空间用曲线和曲面来表现轮廓和外形。它们是用数学表达式构建的,NURBS数学表达式是一种复合体。
曲面建模的特点是物体表面由多个四边形曲面拼接而成,表面光顺,数据精准,参数化表示。缺点是不能自动生成曲面,需由建模工具手动创建曲面,再拆分裁剪合并。适用于工业设计,产品设计,偏用于工业的应用。软件代表有Pro/E(Creo), UG ,Solidworks ,CATIA, Rhino等。
1.1.2多边形建模
多边形建模就是polygon建模,是将物体表面分成很多个可调整的多边形平面,通过调整多边形来调整物体的形状。特点是物体有一个完整的整体,不存在面片间的无缝拼接问题,但是曲面只能无限接近光滑(数据量也会无限增大),却不能真正光滑。多边形建模最大的缺点是无法精确的表示曲面。适用于游戏,电影,以及作渲染,偏用于视觉的应用。软件代表有3dsmax等。
1.1.3细分曲面建模
通过反复细化初始的多边形网格,可以产生一系列网格趋向于最终的细分曲面。每个新的子分步骤产生一个新的有更多多边形元素并且更光滑的网格。一种最新出现的建模技术,编辑方式同多边形建模差不多,曲面又同NURBS曲面一样光滑。软件代表Maya里可以用这三种建模方法,细分曲面建模可以直接创建细分曲面的表面物体,也可以在多边形曲面或NURBS曲面的表面物体上编辑细分曲面。
1.2曲线与曲面的基础知识
1.2.1工业产品的几何形状分类
一类是规则曲面组成,如平面,圆柱面,圆锥面,球面等,可以用初等解析函数表达出来。画图方面可以由画法几何和机械制图的方法完全清楚表达和传递形状信息。
另一类是由自由曲面组成,如汽车车身造型,飞机的外形曲面,轮船舰艇的形体等,这些曲面已不能用初等解析函数清楚完整的表达出来了,需要更高级的数学方式表达出来了。这类形状也不能用机械制图清楚完整的表达出来了,长期的研究已形成了现在的计算机辅助几何设计。
1.2.2曲线分类
曲线同样分两类
一类是规则曲线,可以用曲线方程式表示。如圆,椭圆,双曲线,抛物线,螺旋线等。
另一类是自由曲线。不能确切用数学方程式表示的任意形状的曲线。如汽车,飞机,舰船的外型线条。它是由一些实际测量得到的一系列离散数据点采用曲线拟合来确定。通过少数分散的点生成得到的自由曲线需要用最贴近这些点的函数式来描述。
1.2.3自由曲线曲面的发展历史
1963年,美国波音(Boeing)飞机公司的费格森(Feiguson)提出用参数三次方程来构造曲面。用三次曲线将曲线曲面表示成参数矢量函数形式,构造了组合曲线和由四角点的位置矢量、两个方向的切矢定义的双三次曲面片。
1964年,美国麻省理工学院(MIT)孔斯(Coons),用封闭曲线的四条边界定义一块曲面。同年,舍恩伯格(Schoenberg)提出了参数样条曲线、曲面的形式。
1971年,法国雷诺(Renault)汽车公司的贝塞尔(Bezier)发表了一种用控制多边形定义曲线和曲面的方法。同期,法国雪铁龙(Citroen) 汽车公司的德卡斯特里奥(de Castelijau)也独立地研究出与Bezier类似的方法。
1972年,德布尔(de Boor)给出了B样条的标准计算方法。
1974年,美国通用汽车公司的戈登(Gorden)和里森费尔德(Riesenfeld)将B样条理论用于形状描述,提出了B样条曲线和曲面。
1975年,美国锡拉丘兹(Syracuse)大学的佛斯普里尔(Versprill)提出了有理B样条方法。
80年代后期皮格尔(Piegl)和蒂勒(Tiller)将有理B样条发展成非均匀有理B样条(NURBS)方法,并已成为当前自由曲线和曲面描述的最广为流行的技术。
1991年,国际标准化组织(ISO)颁布的工业产品数据交换标准STEP中,把NURBS作为定义工业产品几何形状的唯一数学方法。
1992年,国际标准化组织又将NURBS纳入到规定独立于设备的交互图形编程接口的国际标准PHIGS(程序员层次交互图形系统)中,作为PHIGS Plus的扩充部分。Bezier、有理Bezier、均匀B样条和非均匀B样条都被统一到NURBS中。
非均匀有理B样条(NURBS)成为大多数CAD软件系统的表达技术。
1.2.4自由曲线曲面拟合
控制点:用于确定曲线曲面的位置和形状,所控制的曲线或曲面不一定通过控制点。
型值点:用于确定曲线曲面的位置和形状,所控制的曲线或曲面一定通过控制点。
插值点:为了提高曲线和曲面的输出精度,或为了修改曲线和曲面的开关,在控制点或型值点之间插入的点。
拟合:生成曲线,用解析表达式逼近离散数据的一种方法。插值和逼近的统称。就是最佳的逼近或通过给定的数据点,并使所构造的曲线或曲面光滑连接。
插值:给定一组有序的数据点Pi,i=0, 1, …, n,构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线。曲线需通过插值点,算法有线性插值,抛物线插值,埃尔米特(Hermite)插值。
逼近:构造一条曲线使之在某种意义下最接近给定的数据点,称为对这些数据点进行逼近,所构造的曲线为逼近曲线。曲线不通过但逼近控制点,贝兹尔曲线,B样条曲线。
1.2.5自由曲线曲面光顺和连续性
光顺(Firing)
光顺通俗的含义是指曲线的拐点不能太多,曲线拐来拐去,就会不顺眼,对平面曲线而言,相对光顺的条件是:
a. 具有二阶几何连续性(G2);
b. 不存在多余拐点和奇异点;
c. 曲率变化较小。
光顺度可以由几何形体显示的视觉效果和曲率图来衡量。光顺的曲线曲率图是连续的。
光顺要求几何连续性G2,而不是要求参数连续性G2,因为参数连续性不一定能保证切线方向与曲率连续。
光顺度可以通过修改数据点或增加数据点或减少数据点来改善。
当曲线用控制多边形定义时,无需改变控制多边形,只要改变形状参数
便可改变曲线的形状
1.2.5参数连续性和几何连续性
连续性:设计一条复杂曲线时,常常通过多段曲线组合而成,这需要解决曲线段之间如何实现光滑连接的问题,即为连续性问题。
曲线间连接的光滑度的度量有两种:
函数的可微性:组合参数曲线在连接处具有直到n阶连续导矢,即n阶连续可微,这类光滑度称之为 Cn或n阶参数连续性。
几何连续性:组合曲线在连接处满足不同于的某一组约束条件,称为具有n阶几何连续性,简记为 Gn;
曲线光滑度的两种方法并不矛盾,参数连续性Cn包含在几何连续性Gn 当中。
设有两条曲线P(t)和Q(t),
若要求在结合处达到G0连续或C0连续,即两曲线在结合处位置连续,两者是一致的
若要求在结合处达到G1连续,就是说两条曲线在结合处在满足G0 连续的条件下,并有公共的切矢量Q(0)'=aP(1)' (a为大于0的常数)当a=1时,G1 连续就成为 C1 连续。两者不一致,C1连续是G1连续中的一种,G1连续不一定C1连续
若P和Q在连接处已有C0C1 连续性且曲率的大小和方向均相等,即P(1)''=Q(0)''则P和Q在连接处具有C2 连续;依次推广之。
若P和Q在连接处已有C0C1 连续性且曲率的大小不相等但方向相等,
则P和Q在连接处具有G2 连续.
C2连续在参数曲线正则时与G2连续一致。
采用参数连续性作为参数曲线的光滑性之度量具有以下明显的缺陷: ① 参数连续性与所选取的参数有关; ② 参数可微的曲线几何上不一定光滑; ③ 几何上光滑的曲线有可能是不可微的。
因此,参数连续性不能客观、准确地度量参数曲线的光滑性,而形状的客观内在几何特征是不依赖于参数的选取和具体参数化。正是由于此,CAD/CAM中人们才引入了称之为视觉连续的几何连续性,它与参数的选取和具体参数化无关,排除了由参数选取引起的非正则情况,只要求较弱的限制条件,且为形状定义和形状控制提供了额外的自由度。
1.2.6曲率 半径 挠率
曲线的曲率(curvature)就是针对曲线上某个点的切线方向角对弧长的转动率,通过微分来定义,表明曲线偏离直线的程度。数学上表明曲线在某一点的弯曲程度的数值。
曲率的倒数就是曲率半径。
在曲线上任何一点其半径值的倒数(1/r)为曲率(Curvature)(曲线斜率对X轴的变化率),其中r为该点半径值。对直线而言,其半径为无限大,所以曲率为0;对云形线而言,线上每点的曲率都不相同,作连续性变化,若曲率在某点从一侧切换到另一侧,则该点为弯曲点。
挠率,它的绝对值度量了曲线上邻近两点的次法向量之间的夹角对弧长的变化率。平面曲线是挠率恒为零的曲线。空间曲线如不是落在一平面上,则称为挠曲线。
在三维曲线的基本微分几何中,曲线的挠率代表曲率平面的扭曲程度。
1.2.6圆锥曲线
圆锥曲线包括椭圆、抛物线、双曲线。通过直角坐标系,它们又与二次方程对应,所以,圆锥曲线又叫做二次曲线
通过RHO的定义来解
Rho就是双曲线的高度和其起始点切线交点的高度的比值。我们知道Rho应该在0~1之间。
o 椭圆:0.05 < Rho < 0.5
o 当从四个圆锥段创建封闭椭圆截面时,生成真正椭圆的唯一 rho 值为 (sqrt (2)?1)。按如下所示精确输入数值(不作为近似值 .4142)。
o 抛物线:参数 = 0.5
o 双曲线:0.5 < 参数 < 0.95
1.2.7样条曲线
所谓样条曲线(Spline Curves)是指给定一组控制点而得到一条曲线,曲线的大致形状由这些点予以控制,一般可分为插值样条和逼近样条两种,插值样条通常用于数字化绘图或动画的设计,逼近样条一般用来构造物体的表面。
最初,样条曲线都是借助于物理样条得到的,放样员把富有弹性的细木条(或有机玻璃条),用压铁固定在曲线应该通过的给定型值点处,样条做自然弯曲所绘制出来的曲线就是样条曲线。
非均匀有理 B 样条曲线(NURBS),是一种用途广泛的样条曲线,它不仅能够用于描述自由曲线和曲面,而且还提供了包括能精确表达圆锥曲线曲面在内各种几何体的统一表达式。
控制多边形:样条曲线是由一些折线组成的多边形构造出来的。简单地说,以数值计算的方法,用光滑的参数曲线段逼近该控制多边形,就构造出一条样条曲线。改变该多边形的顶点和个数,会影响曲线的形状。
做好高质量曲面理论篇
做好高质量曲面技术篇
标签: #bezier曲线离散生成算法