可以确定一张三次Bezier曲面片
- 格式:ppt
- 大小:373.00 KB
- 文档页数:13
2.2.3 Bezier曲线在工程设计中,由给定型值点进行曲线设计往往由于型值点的误差而得不到满意的结果。
另一方面,在一些更注重外观的设计中,型值点的精度又不很重要。
从1962年起,法国雷诺汽车公司的Bezier开始构造他的以“逼近”为基础的参数曲线表示法。
以这种方法为基础,完成了一种自由型曲线和曲面的设计系统UNIS-URF,1972年在雷诺汽车公司正式使用。
Bezier曲线的形状是通过一组多边折线(称为特征多边形)的各顶点唯一地定义出来的。
在多边形的各顶点中,只有第一点和最后一点在曲线上,其余的顶点则使用控制曲线的导数、阶次和形式。
第一条和最后一条折线则表示出曲线在起点和终点处的切线方向。
曲线的形状趋向仿效多边折线的形状。
改变控制点与改变曲线形状有着形象生动的直接联系。
如图2.6所示。
1)Bezier曲线的定义给定 n+ l个空间向量bi(i= 0,l,…,n),称 n次参数曲线段为Bezier曲线。
式中使用了Bernstein多项式Bi,n(u)作为基函数:u是局部参数,u∈[0,1]。
我们给出n=3的Bezier曲线的矩阵表示:则有 P(u)=UMB2)Bezier曲线的性质Bezier曲线的基本数学表达式:这说明Bezier曲线在始点和终点处的切线方向是与Bezier控制多边形的第一边及最后一边的走向一致。
这说明曲线在起点和终点处的二阶导数仅与相邻的二点位置有关,而与其余各点的位置关。
Bezier曲线的这一特性说明,只需适当移动控制点就能获得满意的曲线位置和形状。
利用这个特性,当采用分段Bezier 曲线时,只要保证曲线在接点处的折线共线,就可以得到C1连续性。
如图2.7所示的一个公共端点的二条Bezier曲线,当两段曲线的控制折线在接点处共线时,就保证了它们连成的曲线在公共端点的一阶连续。
Bezier曲线还具有凸包性,即B6zier曲线均落在由它的控制点形成的凸壳内。
所谓凸壳是指用橡皮图从外面去套所有控制点所形成的凸多边形。
Bezier曲线原理及实现代码(c++)一、原理:贝塞尔曲线于1962年,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。
贝塞尔曲线最初由Paul de Casteljau于1959年运用de Casteljau 算法开发,以稳定数值的方法求出贝塞尔曲线。
线性贝塞尔曲线给定点P0、P1,线性贝塞尔曲线只是一条两点之间的直线。
这条线由下式给出:且其等同于线性插值。
二次方贝塞尔曲线的路径由给定点P0、P1、P2的函数B(t) 追踪:。
TrueType字型就运用了以贝塞尔样条组成的二次贝塞尔曲线。
P0、P1、P2、P3四个点在平面或在三维空间中定义了三次方贝塞尔曲线。
曲线起始于P0走向P1,并从P2的方向来到P3。
一般不会经过P1或P2;这两个点只是在那里提供方向资讯。
P0和P1之间的间距,决定了曲线在转而趋进P3之前,走向P2方向的“长度有多长”。
曲线的参数形式为:。
现代的成象系统,如PostScript、Asymptote和Metafont,运用了以贝塞尔样条组成的三次贝塞尔曲线,用来描绘曲线轮廓。
一般化P0、P1、…、P n,其贝塞尔曲线即。
例如:。
如上公式可如下递归表达:用表示由点P0、P1、…、P n所决定的贝塞尔曲线。
则用平常话来说,阶贝塞尔曲线之间的插值。
一些关于参数曲线的术语,有即多项式又称作n阶的伯恩斯坦基底多项式,定义00 = 1。
点P i称作贝塞尔曲线的控制点。
多边形以带有线的贝塞尔点连接而成,起始于P0并以P n终止,称作贝塞尔多边形(或控制多边形)。
贝塞尔多边形的凸包(convex hull)包含有贝塞尔曲线。
线性贝塞尔曲线函数中的 t 会经过由 P 0 至P 1 的 B(t ) 所描述的曲线。
例如当 t=0.25 时,B(t ) 即一条由点 P 0 至 P 1 路径的四分之一处。
就像由 0 至 1 的连续 t ,B(t ) 描述一条由 P 0 至 P 1 的直线。
mfc 三次贝塞尔曲线拼接圆MFC(Microsoft Foundation Classes)是Microsoft提供的一个用于快速开发Windows应用程序的框架。
在MFC中,图形处理常常是应用程序中的重要组成部分。
在本文中,我将探讨使用MFC实现三次贝塞尔曲线拼接圆的方法和技巧。
让我们来了解一下什么是三次贝塞尔曲线。
三次贝塞尔曲线是一种平滑的曲线,它由起始点、终止点和两个控制点组成。
通过调整控制点的位置,可以改变曲线的形状。
三次贝塞尔曲线的公式如下所示:B(t) = (1 - t)³P0 + 3(1 - t)²tP1 + 3(1 - t)t²P2 + t³P3在这个公式中,P0是起始点的坐标,P1和P2是控制点的坐标,P3是终止点的坐标,t是一个0到1之间的参数。
这个参数决定了曲线上的点的位置。
现在,让我们将三次贝塞尔曲线和圆形联系起来。
我们知道圆是一个由无限多个点组成的曲线,这些点的距离圆心的距离是相等的。
我们可以使用三次贝塞尔曲线来模拟圆形。
为了拼接圆,我们需要使用多个三次贝塞尔曲线来逼近圆的形状。
我们可以将圆分成若干个相等的弧段,并将每个弧段近似为一个三次贝塞尔曲线。
通过在相邻的曲线之间设置控制点使得曲线能够平滑地连接起来,从而拼接成一个完整的圆。
在MFC中,我们可以使用CPoint类来表示点的坐标。
对于每个三次贝塞尔曲线,我们需要四个CPoint对象来表示起始点、两个控制点和终止点。
通过调整这四个点的坐标,我们可以控制曲线的形状。
现在让我们来编写一个程序来实现这个功能。
我们需要创建一个MFC 应用程序,并添加一个绘图区域。
在绘图区域中,我们可以使用MFC 提供的函数来绘制曲线和圆。
接下来,我们需要计算每个弧段的起始点、终止点和控制点的坐标。
由于圆是对称的,我们可以使用旋转和平移的方法来计算这些点的坐标。
对于第一个弧段,起始点和终止点的坐标可以通过简单的旋转获得。
三次Bezier曲线一、程序设计功能:1.设计绘图窗口,能实现数据的多次输入;2.具有多次绘图功能,能实现不同数据的绘图;3.具有清屏功能,在画完该次图形后,清除图像并重建坐标系,4.具有数据完整性检测功能,当数据输入不完整时,通过弹窗提示用户数据输入不完整。
二、程序设计思想:先在草稿纸上求出三次Bezier曲线的各坐标参数前的系数表达式:a1 = -px(0) + 3 * px(1) - 3 * px(2) + px(3)b1 = 3 * px(0) - 6 * px(1) + 3 * px(2)c1 = -3 * px(0) + 3 * px(1)d1 = px(0)a2 = -py(0) + 3 * py(1) - 3 * py(2) + py(3)b2 = 3 * py(0) - 6 * py(1) + 3 * py(2)c2 = -3 * py(0) + 3 * py(1)d2 = py(0)然后根据三次Bezier曲线的特点来定义为以u为变量的函数,然后根据取点速率的不同来绘制相应四个顶点的曲线。
三、程序代码:Private Sub Command1_Click()Picture1.DrawWidth = 2Picture1.FontSize = 12 '此处定义绘制坐标系时的字体大小,因为后面程序要用到字体设置,故此处字体设置要重新声明,不可用系统默认的字体,否则再次绘制图形时,坐标由于字体过大而很难看Picture1.Scale (-300, 300)-(300, -300) '定义PictureBox坐标系Picture1.Line (-300, 0)-(300, 0)Picture1.Line (0, 300)-(0, -300) 'VB编译系统中,其默认的是在Form(窗体)中画图,当需要在其他属性框中画图时,需要加上其对应的属性框名称Picture1.CurrentX = 270: Picture1.CurrentY = 40: Picture1.Print "X"Picture1.CurrentX = 15: Picture1.CurrentY = 285: Picture1.Print "Y"Picture1.FontSize = 9 '坐标上的数字字体小一些For i = -280 To 280 Step 40Picture1.Line (i, 0)-(i, 8)Picture1.CurrentX = i - 12: Picture1.CurrentY = -5: Picture1.Print iNext iFor j = -280 To -40 Step 40Picture1.Line (0, j)-(8, j)Picture1.CurrentX = -28: Picture1.CurrentY = j + 10: Picture1.Print jNext jFor j = 40 To 280 Step 40Picture1.Line (0, j)-(8, j)Picture1.CurrentX = -28: Picture1.CurrentY = j + 10: Picture1.Print jNext jDim px(4) As Double '定义控制点的x坐标的数组Dim py(4) As Double '定义控制点的y坐标的数组Dim a1, b1, c1, d1 As Double '定义x系数Dim a2, b2, c2, d2 As Double '定义y系数Dim x, y, u As Double '定义曲线中的自变量u和变量x,yIf (Not IsNumeric(Text1) Or Not IsNumeric(Text2) Or Not IsNumeric(Text3) Or Not IsNumeric(Text4) _Or Not IsNumeric(Text5) Or Not IsNumeric(Text6) Or Not IsNumeric(Text7) Or Not IsNumeric(Text8)) ThenMsgBox "对不起!系统检测到数据输入不完整,请您输入完整后绘图。
马素静,刘旭敏:带形状参数的三次TC-B ézier 曲线2009,30(5)11510引言曲线曲面设计是计算机辅助几何设计和计算机图形学的一个重要研究课题,NURBS 方法是曲线曲面设计比较成熟的方法具有很多优势,但NURBS 方法在形状设计和分析中也存在着一些局限性[1],如求导、积分、权因子选取、不能表示超越曲线等。
鉴于NURBS 模型存在的局限性,为了保持其良好的几何性质,克服其不足,一些新的曲线曲面模型应运而生。
在这些模型中,值得一提的是基于多项式和非多项式混合空间上的曲线曲面模型,称为混合曲线曲面模型。
这些模型不仅继承了多项式样条的优点,还避免了使用NURBS 时产生的缺点。
目前,混合模型的研究主要集中在三角函数空间、双曲函数空间、基于分段的均匀B 样条等几个方面。
工业技术的迅速发展对自由曲线曲面技术不断提出新问题,现代工业应用领域对于自由曲线曲面都有着近似的严格要求:精度标准高,表面质量好,整体光顺性佳。
与此同时,自由曲线曲面还需要满足不同产品各自的功能指标。
而通用CAD/CAM 系统中一次性生成的自由曲线曲面通常很难达到以上的全部要求,为此,需要针对工业设计的实际需求,对曲线曲面进行功能驱动的微小幅度调整。
签于这些问题,本文提出了基于三角函数空间的新模型--带形状参数的三次TC-B ézier 曲线,新模型引入了形状控制参数可以实现对曲线曲面的微调。
同时,本文从工程应用的角度出发,对新模型的具体应用进行了一定研究。
1曲线的结构及性质定义1对,的三角多项式{=11+sin1,31+sin sin 2=1+3,3+cos2为带参数1≤的三次TC-B ézier 曲线。
的值越大曲线越逼近控制多边形。
同时证明了几种有实际应用价值的曲线(椭圆弧、花瓣)可以用带形状参数三次TC-B ézier 曲线的形式精确表示。
还给出了带参数三次TC-B ézier 曲线间的affectsgeometricpropertyofcurves,thelargeris1condition of cubic TC-B ézier curvesand example in surface modeling are presented.The modeling examples illustrate that the new curve is very valuable for computer aided geometric design.Key words :shape parameter;TC-B ézier curves;ellipse arc;continuity;surface modeling计算机工程与设计Computer Engineering and Design0.20.40.60.81.0图1三次TC-B ézier 基函数1.00.80.60.40.2011522009,30(5)计算机工程与设计Computer Engineering and Design 为的三次TC-Bézier基函数有如下基本性质:性质1正性≤≤1(0,性质3对称性=;=性质4端点性质01,3===0(3,3=1,,3===0(0,上有一个局部最大值,可通过对基函数求导,只需验证,具有单峰性,因为根据对称性,可知,也有单峰性。
课程名称:?计算机图形学?论文题目:双三次Bezier曲面的绘制教学部:年级:班级:学号:姓名:摘 要:本文主要讨论了在VC++中使用OpenGL 绘制Bezier 、NURBS 等典型曲面的一般性方法和OpenGL 的特点及功能,OpenGL 可以与Visual C++严密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性 。
关键词:Bezier 曲面;OpenGL ;曲面绘制一、设计概述1.设计要求1〕掌握双三次Bezier 曲面定义:Bezier 曲面与 Bezier 曲线有一样的性质,Bezier 曲面片是由特征多面体的顶点决定的,利用两组正交的 Bezier 曲线逼近由控制点网格描述的曲面。
给定〔n+1〕*〔m+1〕个点Pjk 〔i=0,1…n ;j=0,1,...m 〕,那么可以生成一个n*m 次的Bezier 曲面片,其表示形式为其中Pij 是Bezier 曲面片的特征多面体。
当m=n=3时,特征多面体有16个顶点,其相应的Bezier 曲面片称为双三次Bezier 曲面片。
2〕实现矩阵相关运算;双三次Bezier 曲面片的矩阵表示为其中2.设计方案∑∑===m i n j n j m i j i Q v B u B p v u 00,,,)()(),([0,1]v)(u,∈T T bb Q V GM UM v u =),(⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=0001003303631331b M ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=44434241343332312423222114131211P P P P P P P P P P P P P P P P G []123u u u U =[]123v v v V =1〕给定16个三维控制点如下:P00(200,20,0),P01(150,0,100),P02(50,-130,100),P03(0,-250,50);P10(150,100,100),P11(100,30,100),P12(50,-40,100),P13(0,-110,100);P20(140,280,90),P21(80,110,120),P22(30,30,130),P23(-50,-100,150);P30(150,350,30),P31(50,200,150),P32(0,50,200),P33(-70,0,100);2〕实现键盘控制曲面旋转效果二、环境需求分析开发环境:Windows XP开发工具:Microsoft Visual Studio 2005运行环境:本系统是基于OpenGL软件接口和VC++应用程序开发的一套管理系统,本系统可以在装有Windows 98 /2000/XP/NT的操作系统下运行。
实验六 双三次Bezier 曲面一、实验目的根据Bizer 曲面的基础知识和数学基础,对其算法进行程序设计,验证算法的正确性,并通过程序结果加深对常用曲面数学模型的理解。
二、实验任务(2学时)Bezier 曲面算法及其程序设计。
三、实验内容和实验步骤1、算法描述Bezier 曲面是由Bezier 曲线拓广而来,以两组正交的Bezier 曲线控制点构造空间网格来生成曲面。
m×n 次张量积形式的 Bezier 曲面的定义如下(参照教材P200式7-20):(u ,v )∈〔0,1〕×〔0,1〕双三次Bezier 曲面定义如下(参照教材P201式7-21):(u ,v )∈〔0,1〕×〔0,1〕展开上式,有代入得到:)()(),(m 0i ,,0,∑∑===v B u B P v u p n j m i nj j i 33,,3,3i 00(,)()() i j i j j p u v P Bu B v ===∑∑0,30,00,10,20,31,31,01,11,21,30,31,32,33,32,02,12,22,32,33,03,13,23,33,3()()(,)()()()()()()B v P P P P B v P P P P p u v B u B u B u B u PP P P B v P P P P B v ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎡⎤=⋅⋅⎣⎦⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦320,3321,3322,333,3()331()363()33()B u u u u B u u u u B u u u B u u ⎧=-+-+⎪=-+⎪⎨=-+⎪⎪=⎩320,3321,3322,333,3()331()363()33()B v v v v B v v v v B v v v B v v ⎧=-+-+⎪=-+⎪⎨=-+⎪⎪=⎩0,00,10,20,31,01,11,21,3322,02,12,22,33,03,13,23,313313630(,)133001000P P P P P P P P p u v u u u P P P P P P P P --⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎡⎤=⋅⋅⎣⎦⎢⎥⎢⎥-⎢⎥⎢⎥⎣⎦⎣⎦3213313630330010001v v v ⎡⎤--⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⋅⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦令则有: 生成曲面时可以通过先固定u, 变化v 得到一簇Bezier 曲线;然后固定v ,变化u 得到另一簇Bezier 曲线,两簇曲线交织生成Bezier 曲面。
三次B样条反求控制点王凌云【摘要】反求工程作为复杂工业产品设计与制造的重要技术手段之一,深受CAD/CAM领域的广泛重视,特别是自由曲面重构技术作为复杂曲面产品反求工程中的"瓶颈"问题,是今后一个时期的研究热点.反求工程中最为关键的技术就是曲面重构技术.目前主要有两大重构方法:NURBS曲面重构和三角Bezier曲面重构.本文围绕NURBS曲面重构展开研究,提出一种反算三次B样条曲线、曲面控制顶点的简便算法.该算法适用于准均匀和非均匀B样条曲线、曲面的反算.算法采用非节点边界条件,不需要由用户提供, 从而使反算过程得以简化.【期刊名称】《泰山学院学报》【年(卷),期】2010(032)003【总页数】4页(P40-43)【关键词】反求工程;非均匀有理B样条;型值点;控制点【作者】王凌云【作者单位】山东服装职业学院,科研所,山东,泰安,271000【正文语种】中文【中图分类】TP301.6在CACG实践中,常遇到要求构造插值曲线和插值曲面,以用于已有曲线曲面的形状表示.NURBS方法为标准解析形式的初等曲线曲面和自由型曲线曲面的精确表示和设计提供了一个公共的数学表示,有操纵控制顶点及权因子,为各种形状设计提供了充分的灵活性,由于非均匀有理B样条(NURBS)可以精确表示解析形状和自由曲线曲面,国际标准组织于1991年把NURBS作为表示工业产品几何形状的工业标准. NURBS曲线曲面在实际应用中可以分为两种形式:一种是已知控制点求解曲线曲面上的点,称为正算问题.另一种情况是已知曲线曲面上的型值点,求解曲线曲面的控制点,称为反算问题.在实际应用中,常常是给出一组离散的型值点,要求构造通过该型值点的曲线曲面,即所谓的曲线曲面插值.文中只讨论三次NURBS曲线问题,给出反算控制点的方法.1.1 B样条基础知识B样条方法是以距离加权插值法为基础,以数据点为型值点反求其控制点,然后将B 样条曲面看作是两个不同方向的B样条曲线的直积,避免复杂的矩阵运算.B条曲面由于其本身具有的跨界曲率自连续性使得曲面片间的光顺性问题得以简化.其中di(i=0,1,…,n)为控制顶点,又成为德布尔点,顺序连成的折线又称为B样条控制多边形, Ni,k(u)(i=0,1,…,n)称为规范k次B样条基函数,是由节点矢量U=[u0,u1,…,un+k+1]按Cox-De Boor递推公式定义的k次规范B样条基函数,表示如下:按照如上定义,在定义式中取k=3就是一条三次NURBS曲线的数学表达式.一般常用的是非均匀有理B样条,它采用非均匀节点矢量,并在两端点处采用重节点技术,使得曲线严格地插值于首末端点,工程中,一般三次B样条曲线曲面己经能满足实际的需求了.1.2 B样条曲线反算的一般过程a)根据型值点的分布趋势,构造非均匀节点矢量. b)应用计算得到的节点矢量构造非均匀B样条基. c)构建控制点反算的系数矩阵.d)建立控制点反算方程组,求解控制点列.其中,B样条基函数的求值是关键.1.2.1 假设规定为使一k次B样条曲线通过一组数据点qi(i=0,1,…,m),反算过程一般地使曲线的首末端点分别和首末数据点一致,使曲线的分段连接点分别依次与B样条曲线定义域内的节点一一对应.即qi点有节点值uk+i(i=0,1,…,m).1.2.2 三次B样条插值曲线节点矢量的确定曲线控制点反算时一般使曲线的首末端点分别与首末型值点一致,型值点pi(i=0,1,…,n)将依次与三次NURBS曲线定义域内的节点一一对应.三次NURBS插值曲线将由n+3个控制点di(i= 0,1,…,n+2)定义,相应的节点矢量为U=[u0,u1,…,un+6].为确定与型值点相对应的参数值ui+3(i=0,1,…,n),需对型值点进行参数化处理.选择ui一般采取以下方法:(1)均匀参数化法:1.2.3 反算三次B样条曲线的控制顶点给定n+1个数据点pi,i=0,1,…,n.通常的算法是将首末数据点p0和pn分别作为三次B样条插值曲线的首末端点,把内部数据点p1,p2,…,pn-1依次作为三次B样条插值曲线的分段连接点,则曲线为n段.因此,所求的三次B样条插值曲线的控制顶点bi,i=0,1,…,n+2应为n+3个.节点矢量U=[u0,u1,…,un+6],曲线定义域u∈[u3,un+3].B样条表达式是一个分段的矢函数,并且由于B样条的局部支撑性,一段三次B样条曲线只受4个控制点的影响,下式表示了一段B样条曲线的一个起始点:式中ui+3为起始点的参数值,i∈[0,m-4],通过该式可获得m-3个分段曲线的起始点.由于采用了重节点技术,末端型值点与控制点重合,则p0=V0;pm-3=Vm-1.则反求控制点方程组如下:该方程组有m个未知数Vj,而方程的个数是m-2个.为此,还需补充两个端点条件:对于C2连续的三次B样条闭曲线,因为首末数据点相重,q0=qm,不计重复,方程减少一个,又首末三个控制点依次相重,即dn-2=d0,dn-1=d0,dn=d2;未知控制点的数目减少了三个,所以方程个数与未知数个数相同,上述线性方程组可改写成如下矩阵形式,解方程,即可求出全部控制点.对于B样条开曲线以及不要求在相重的首末数据点q0=qm处C2连续的三次B 样条B曲线,n-1个方程不足以决定其包含的n+1个未知控制顶点,还必须增加两个通常由边界条件给定的附加方程,这样求解三次B样条控制顶点的线性方程组可以写成如下矩阵形式.2.1 B样条曲面重构对于B样条曲面的重构,实际上就是已知型值点Qij(i=0,1,…,m;j=0,1,…,n);求相应均匀双三次B样条曲面的控制点阵pij(i=-1,0,1,…,m+1;j=-1,0,1,…,n+1)具体的方法就是:1)对u向的n+1组型值点,按照B样条曲线的边界条件及反算公式,求得由n+1组B样条曲线构成的控制多边形,这里每条曲线均要加两个边界条件,故会得到(m+3)*(n+1)个特征网格控制点Vij(i=-1,0,1,…,m+1;j=-1,0,1,…,n+1).2)把Vij看作是v向的(m+3)次B样条曲线反算,即可得到双三次B样条曲面的控制点pij(i=-1,0, 1,…,m+1;j=-1,0,1,…,n+1).如果从0开始算点,pij(i=0,1,…,m+2;j=0,1,…,n+2).2.2 插值曲面的光顺性问题利用上述方法得到的曲面,在片内满足C2连续,但在片间的公共边界以及多个片相交的角点处,只满足了位置连续,需要进行光顺处理.光顺方法大体上可以分为两大类:局部光顺法和整体光顺法.局部光顺法只是对少数“坏点”进行修改,具有较强的局部修改能力,并且计算速度快,但是“坏点”较多时光顺的效果不理想;整体光顺法是对全部型值点进行修改,曲面整体光顺效果较为理想,但计算量大,收敛速度慢.光照反射特性法属于整体光顺法,通过反射线来检查曲面的光顺性.能量法是典型的整体光顺法,使曲面的整体能量在一定的约束条件下达到最小.但是用能量法光顺曲面,不论原来的曲面是什么形状,光顺后的曲面趋于向平面变化,导致曲面变形,而且计算速度受控制顶点个数的限制,不适合处理大量数据.小波分析法是将曲面分解为低分辨率曲面和细节曲面,分解次数越多,曲面越光顺.分解算法和重构算法速度快,适合大数据量曲面光顺.无论采用哪种方法,要达到所有截面曲线和控制曲线都光顺不是轻而易举的,要求设计员拥有相当的经验积累和理论基础,经过耐心细致艰巨的工作才能实现.曲面的光顺问题迄今没有得到圆满的解决,人们期待在这方面得到突破性的进展. 在反算控制点过程中,用的参数化方法不同,最后的结果也有差别,比较而言采用积累弦长参数化法最合适.均匀参数化方法比较适合于数据点多边形各边接近相等的场合.积累弦长参数化法如实反映了数据点按弦长的分布情况,一直被认为是最佳参数化法.它克服了数据点按弦长分布不均匀情况下采用均匀参数化所出现的问题.向心参数化方法考虑了数据点相邻弦线的折拐情况,当数据点有急剧拐弯时,这种方法效果很好.所以,在实际应用中要根据数据点的分布情况选择合适的参数化方法来反算控制点.本文给出了一种反算三次B样条插值曲线和双三次B样条插值曲面控制顶点的简便算法.其实践证明:该算法稳定可靠,速度较快,结果也能令人满意.当用户对边界条件无特殊要求时,适合采用本算法.【相关文献】[1]王飞.三次B样条反算的一种简便算法[J].北京邮电大学学报,1996,(3):84-90.[2]施法中.计算机辅助几何设计与非均匀有理B样条[M].北京:北京航空航天大学出版社,1994.[3]吕丹,等.三次NURBS曲线控制点的计算[J].弹箭与制导学报,2006,(4):357-359.[4]彭伟.逆向工程中的NURBS曲面重构研究[D].南京:南京理工大学,2003.[5]徐文鹏.基于人体特征的服装cad参数化技术研究与应用[D].杭州:浙江大学,2004.[6]王少纯,等.基于NURBS方法的三维型腔曲面的几何描述及网格域的生成[J].哈尔滨工业大学学报,2000,32(2).[7]杨晓静.B样条曲面构造方法的研究和实现[D].北京:北京工业大学,2003.。