计算机图形学第8讲曲线曲面_第1页
计算机图形学第8讲曲线曲面_第2页
计算机图形学第8讲曲线曲面_第3页
计算机图形学第8讲曲线曲面_第4页
计算机图形学第8讲曲线曲面_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1曲线与曲面曲线与曲面(Curves and Surfaces)2本章目标l曲线的表示方法曲线的表示方法l重点掌握重点掌握Bezier曲线曲线l学会使用学会使用OpenGL的函数的函数为什么要研究曲线与曲面l计算机图形学两大基本任务计算机图形学两大基本任务n建模建模n绘制绘制3为什么要研究曲线与曲面l建立复杂模型建立复杂模型n一个球面一个球面n复杂曲面复杂曲面u电话电话u人脸人脸u赛车赛车4Rzyx222为什么要研究曲线与曲面5为什么要研究曲线与曲面l使用曲面曲线的好处使用曲面曲线的好处n控制物体形状控制物体形状u建模建模u修改修改n保证光滑与连续性保证光滑与连续性n可导性可导性n易于绘制易于

2、绘制67主要内容l参数曲线基础参数曲线基础l参数多项式曲线参数多项式曲线l三次三次Hermite曲线曲线lBezier曲线曲线lBezier曲面曲面lOpenGL相关函数相关函数8参数曲线基础参数曲线基础l曲线的表示形式曲线的表示形式n非参数表示和参数表示非参数表示和参数表示l非参数表示非参数表示n显式表示显式表示u坐标间建立函数关系坐标间建立函数关系u不能建立多值曲线不能建立多值曲线n隐式表示隐式表示u看做是两曲面的交看做是两曲面的交u坐标变量间可以多对坐标变量间可以多对1 )()(xgzxfy 0922zyx 0),(0),(zyxgzyxf9曲线的表示形式曲线的表示形式l参数表示参数表示

3、n参数方程参数方程n参数表示的矢量表示参数表示的矢量表示ut 规范到规范到0,1:u矢量表示:矢量表示:P=x, y, zT , P(t)=x(t), y(t), z(t)T ut 可以表示时间、角度等量可以表示时间、角度等量,)()()(battzztyytxx abatt 1 , 0)( ttPP10曲线的表示形式曲线的表示形式l如:直线方程的矢量表示如:直线方程的矢量表示l如:圆如:圆1 , 0)()(1 , 0)(010010010 ttyyyytxxxxttPPPPP0P1P(t)01t010 xxxxtt 反映了反映了P 在在 P0P1 间的相对位置间的相对位置010 xxxxt

4、360, 0sincos0 RyRx反映了半径与反映了半径与 X 轴的夹角轴的夹角P()11曲线的表示形式曲线的表示形式l参数表示的优点参数表示的优点n容易确定曲线边界。由参数区间确定容易确定曲线边界。由参数区间确定n表示形式不变性。不依赖于坐标系的选取表示形式不变性。不依赖于坐标系的选取n表示能力强。利于控制点来控制曲线形状,如后面将要学表示能力强。利于控制点来控制曲线形状,如后面将要学到的到的Bezier曲线曲线12切矢量、法矢量、曲率和绕率切矢量、法矢量、曲率和绕率l位置矢量位置矢量n矢量表示:矢量表示: PP(t), 0t1n参数方程参数方程n导数导数u正则点:正则点:k1时,对时,对

5、tt0,P(t0)0u正则曲线:所有点是正则点正则曲线:所有点是正则点 1 , 0,)()()(ttzztyytxx,)(,)(,)()()()(10ddddddddTkttzttyttxttPtPkkkkkkkkk13切矢量、法矢量、曲率和绕率切矢量、法矢量、曲率和绕率l切矢量(切矢量(tangent vector)n参数参数 t 递增一个单位时三个坐标变量递增一个单位时三个坐标变量 的变化量的变化量l弧长弧长n对正则曲线,定义弧长:对正则曲线,定义弧长: )( )( )( )()( tztytxdttdPtP222011d)(dd)(dd)(dd)(ddd)(dlim)(lim)(ttzt

6、tyttxttPtttPPPnLtstniiinn其中14切矢量、法矢量、曲率和绕率切矢量、法矢量、曲率和绕率n弧长参数表示弧长参数表示)( )( )( )(0d)(ddd)(d0sPPtPPtssttssttPdtdstttPst可以用弧长参数表示为曲线存在反函数的单调函数是关于参数15切矢量、法矢量、曲率切矢量、法矢量、曲率n单位切矢量单位切矢量u记记T(s)为为PP(s)上任意一点的切矢量。上任意一点的切矢量。则则T(s)为单位切矢量为单位切矢量1)(dd/d)(d/)()(d)(ddd)(d0tPtttPdsdtdttsdPdssdPttPdtdstttPstdssdPsT)( 16切

7、矢量、法矢量、曲率和绕率切矢量、法矢量、曲率和绕率l法矢量法矢量对等式两边求导后有对等式两边求导后有n 与与 垂直垂直n主法矢量主法矢量(normal)n副法矢量副法矢量(binormal) 1| )(|dddddd)(2sTtPtPsttPsPsT| )(|)()(sssTTN 02sTsT sT sT| )(|)( )(sssNNBl法矢量(法矢量(normal vector)l密切平面密切平面( osculating plane)nT、N构成构成l切平面切平面(tangent plane)nB、T构成构成l法平面法平面(normal plane)nN、B构成构成切矢量、法矢量、曲率和绕率

8、切矢量、法矢量、曲率和绕率17| )()(|)()(ttttPPPPB )(| )()(|)()()(ttttttPPPPPPN 切平面切平面切矢量、法矢量、曲率和绕率切矢量、法矢量、曲率和绕率1819切矢量、法矢量、曲率和绕率切矢量、法矢量、曲率和绕率l曲率曲率(curvature)n曲线的弯曲程度曲线的弯曲程度n曲率半径曲率半径ssks lim )(0)(1 )(sksp P(s)点处的曲率点处的曲率切矢量、法矢量、曲率和绕率切矢量、法矢量、曲率和绕率l绕率绕率(Torsion)对两边求导对两边求导对两边求导对两边求导B与与N平行平行 度量曲线的扭曲程度度量曲线的扭曲程度 20 0ssss

9、TBTB 0ss TB 0ss TB 02sB 02ssBBB与T垂直B与B垂直 ssNBsss lim )(0切矢量、法矢量、曲率和绕率切矢量、法矢量、曲率和绕率l两边求导后两边求导后FrenetSerret 公式公式21 sssTBN sssBTN22参数连续性与几何连续性参数连续性与几何连续性l参数连续性参数连续性n传统的、严格的连续性传统的、严格的连续性n曲线曲线 P = P(t)在在 tt0 处处n阶参数连续,如果它在阶参数连续,如果它在 t0 处处n阶左右导数存在,并且满足阶左右导数存在,并且满足n记为记为Cn nkdttPddttPdttkkttkk, 1 , 0,)()(00

10、23参数连续性与几何连续性参数连续性与几何连续性l几何连续性几何连续性n直观的、易于交互控制的连续性直观的、易于交互控制的连续性n0阶几何连续阶几何连续u称曲线称曲线P=P( t ) 在在 t=t0 处处0阶几何连续,如果它在阶几何连续,如果它在 t0 处位置处位置连续,即连续,即u记为:记为:G0n1阶几何连续阶几何连续u称曲线称曲线 P=P(t) 在在 t = t0 处处1阶几何连续,如果它在阶几何连续,如果它在 t0处处 GC0 ,并且切矢量方向连续,即,并且切矢量方向连续,即u记为:记为: G1)( )(00 tPtP任一常数任一常数为为0)( )( 00 tPtP参数曲面l曲面参数表

11、示曲面参数表示l曲面上的点曲面上的点l曲面上的切向量曲面上的切向量l曲面上的法向量曲面上的法向量l角点角点24 1 , 0 1 , 0, ,),(),(),(vuvuzzvuyyvuxx),(00vuP),(00vuuP),(00vuvP),(),(),(000000vuvuvuvuPPN)0 , 1 (),1 , 1 (),1 , 0(),0 , 0(PPPP25参数连续性与几何连续性参数连续性与几何连续性l几何连续性(续)几何连续性(续)n2阶几何连续阶几何连续*u称曲线称曲线 P=P(t) 在在 tt0 处处2阶几何连续,如果它在阶几何连续,如果它在 t0 处处l(1) G1l(2)副法

12、矢量方向连续)副法矢量方向连续l(3)曲率连续)曲率连续)()(00 tBtB)()(00 tktk26曲线与曲面曲线与曲面l参数曲线基础参数曲线基础l参数多项式曲线参数多项式曲线l三次三次Hermite曲线曲线lBezier曲线曲线lBezier曲面曲面lOpenGL相关函数相关函数27参数多项式曲线参数多项式曲线l为什么采用参数多项式曲线?为什么采用参数多项式曲线?n表示最简单表示最简单n理论和应用最成熟理论和应用最成熟ln次多项式曲线次多项式曲线,)()()(10101010ttztzztztytyytytxtxxtxnnnnnn28参数多项式曲线参数多项式曲线l矩阵表示矩阵表示n矢量表

13、示矢量表示n加权和形式加权和形式n缺点缺点uPi 没有明显的几何意义没有明显的几何意义uPi 与曲线的关系不明确,导致曲线的形状控制困难与曲线的关系不明确,导致曲线的形状控制困难CTttzzzyyyxxxtztytxtPnnnn 1)()()()(1010101 , 0)(10 tPttPPCTtPnnFerguson curve29参数多项式曲线参数多项式曲线l参数多项式曲线的矩阵表示参数多项式曲线的矩阵表示n矩阵表示矩阵表示u矩阵分解矩阵分解u几何矩阵几何矩阵 G = G0 G1 Gnl控制顶点控制顶点 Giu基矩阵基矩阵M:MT 确定了一组基函数确定了一组基函数TGGC)(tP 1 ,

14、0)(0ttBtiniiGCTP tBi30参数多项式曲线参数多项式曲线l参数多项式曲线的矩阵表示(续)参数多项式曲线的矩阵表示(续)n例子:直线段的矩阵表示例子:直线段的矩阵表示GMT 1 , 011011)1 ()(1010ttPPtPtPtPP0P1控制顶点控制顶点: : P0;P0P1基函数基函数: : 1t ;ttMT31参数多项式曲面参数多项式曲面l矩阵表示矩阵表示n矢量表示矢量表示n形式形式CVUT10101100010011)()()()(nmnmmnnmvvGGGGGGGGGuutztytxtP 1 , 01 , 0,)(00TvuvuPtPminjjiijCVU32参数多项

15、式曲线参数多项式曲线l参数多项式曲面的矩阵表示参数多项式曲面的矩阵表示n矩阵表示矩阵表示u矩阵分解矩阵分解u几何矩阵几何矩阵 l控制顶点控制顶点 GijuMUU、MVV 分别确定了两组基函数分别确定了两组基函数mnmmnnGGGGGGGGG101011000100VVUVUtPGUGCTTT)( 1 , 01 , 0, ,),(00,TvuvBuBGvuPminjnjmiijCVU vBuBnjmi, 33参数多项式曲线参数多项式曲线l生成方法生成方法n流程:流程:P(t)P0P1t + + Pn t n 1 , 0 t参数离散参数离散 nit0计算型值点计算型值点折线折线 niP0连接型值点

16、连接型值点计算一个型值点的运算量计算一个型值点的运算量 乘法:乘法:n(n+1)/2次次 加法:加法:n次次34参数多项式曲线参数多项式曲线l参数多项式曲线的生成(续)参数多项式曲线的生成(续)nHorner迭代算法迭代算法)()(0, 2, 1,)()()(01tRtPnnkPttRtRPtRkkknn 结果:结果:令令n次乘法和次乘法和n次加法次加法35曲线与曲面曲线与曲面l参数曲线基础参数曲线基础l参数多项式曲线参数多项式曲线l三次三次Hermite曲线曲线lBezier曲线曲线lBezier曲面曲面lOpenGL相关函数相关函数369.3 三次三次Hermite曲线曲线l三次三次Her

17、mite曲线的定义曲线的定义n给定给定4个矢量个矢量P0, P1, R0, R1 ,称满足下列条件的三次多,称满足下列条件的三次多项式曲线项式曲线 P(t) 为为Hermite 曲线曲线1010)1( ,)0( )1(,)0(RPRPPPPP P0P1R0R137Hermite曲线曲线l矩阵表示矩阵表示1 , 0)( tTMGtP 1T10T01T10T03210| 0010| 1111|0001|RMGTMGRMGTMGPMGTMGPMGTMGHHtHHHHtHHHHtHHHHtHH CTttzzzyyyxxxtztytxtPnnnn 1)()()()(101010n次多项式参数方程次多项式

18、参数方程389.3 三次三次Hermite曲线曲线n合并合并n解(不唯一)解(不唯一)HHHGRRPPMG 取取30102010111000111010 1100121023002301301020101110001130102010111000111HHHHMGMG39三次三次Hermite曲线曲线l基矩阵与基函数(调和函数)基矩阵与基函数(调和函数) )()()()(223231111001210230023011010323232332tHtHtGtGttttttttttttTMHP(t)=P0G0(t)+P1G1(t)+R0H0(t)+R1H1(t)基函数为权:基函数为权: G0(t)

19、;G1(t);H0(t);H1(t)Hermite曲线上的点为曲线上的点为P0、P1、R0、R1的的加权和加权和40三次三次Hermite曲线曲线l形状控制形状控制n改变端点位置矢量改变端点位置矢量P0,P1n调节切矢量调节切矢量R0,R1的方向的方向n改变切矢量改变切矢量R0,R1的长度的长度41三次三次Hermite曲线曲线l几何变换几何变换n仿射不变性:对曲线的几何变换等价于对仿射不变性:对曲线的几何变换等价于对P0,P1,R0,R1做几何变换做几何变换l曲线生成曲线生成n取型值点:取型值点:tin对每个对每个ti,计算,计算 P(ti)42曲线与曲面曲线与曲面l参数曲线基础参数曲线基础

20、l参数多项式曲线参数多项式曲线l三次三次Hermite曲线曲线lBezier曲线曲线lBezier曲面曲面lOpenGL相关函数相关函数lPierre tienne Bzier (1910-1999)n法国工程师法国工程师n机械工程学位机械工程学位n电子工程学位电子工程学位n雷诺公司雷诺公司n并非发明并非发明Bzier曲线曲线uPaul de Casteljau4344Bezier曲线曲线lBezier曲线曲线n几何造型的基本工具几何造型的基本工具n目前在很多图形软件中广泛应用(如目前在很多图形软件中广泛应用(如AutoCAD)Bezier曲线曲线lBezier曲线定义曲线定义 :位置矢量(控

21、制点:位置矢量(控制点, control point) n:次数次数 :控制多边形:控制多边形lBezier基函数(基函数(Bernstein多项式多项式)45)!( ! 1 , 0)1 ()(,ininCtttCtBininiinni其中 1 , 0, )(0,ttBPtPniniiiPnPPP1046Bezier曲线曲线lBezier基函数的基本性质基函数的基本性质n正性正性n权性权性., 1 , 0, 1)(0),1 , 0(; 1, 1 , 0, 0)(, 1)(, 1;, 2 , 1, 0)(, 1)(, 0.1 , 0, 0)(, 0,nitBtnitBtBtnitBtBtttBn

22、ininnninni1)1 ()1 ()(.1 , 0, 1)(00,0,nininiinninininittttCtBttB由二项式定理:lBezier基函数的基本性质(续)基函数的基本性质(续)n对称性对称性n降阶公式降阶公式n升阶公式升阶公式47Bezier基函数基函数., 1 , 0,1 , 0),()()1 ()(1, 11,nitttBtBttBninini., 1 , 0,1 , 0),(11)(11)(1,1, 1,nittBnintBnitBninini., 1 , 0,1 , 0),1 ()(,nittBtBninni48lBezier基函数的基本性质(续)基函数的基本性质

23、(续)n导数导数n积分积分n最大值最大值u在在Bi, n(t)在在 t i / n处取得最大值处取得最大值Bezier基函数基函数., 1),()()(1,1, 1,nitBtBntBninini., 1 , 0,11d)(10,ninttBniBezier基函数基函数l线性无关性线性无关性nn次多项式空间的一组线性无关函数次多项式空间的一组线性无关函数n任何任何n次多项式可表示为它们的线性组合次多项式可表示为它们的线性组合4950Bezier曲线定义及性质曲线定义及性质lBezier曲线的基本性质曲线的基本性质(1) 端点性质端点性质(2)端点切矢量)端点切矢量导数曲线导数曲线 1 , 0)

24、()()( 101,1ttBPPntPniniiin次次Bezier曲线曲线 P(t) 的导数曲线的导数曲线 P(t) 是是 n1次次Bezier曲线曲线)(| )( )(| )( 11010 nnttPPntPPPntPnttPtPPtP 100|)(|)(二阶导数曲线二阶导数曲线51Bezier曲线定义及性质曲线定义及性质(3)仿射不变性)仿射不变性u几何性质不随坐标变换而变换(形状、曲率等)几何性质不随坐标变换而变换(形状、曲率等)u仿射变换不改变曲线的表示形式仿射变换不改变曲线的表示形式)()()()(,00,tBPAtBPAtPAnininiinii对曲线的变换只要作用于控制顶点即可

25、对曲线的变换只要作用于控制顶点即可52Bezier曲线定义及性质曲线定义及性质(4)凸包性)凸包性u凸包:凸包: Pi的凸包是指包含这些点的最小凸集的凸包是指包含这些点的最小凸集uBezier曲线位于其控制顶点的凸包之内曲线位于其控制顶点的凸包之内53Bezier曲线定义及性质曲线定义及性质例:一些例:一些Bezier曲线曲线Bezier曲线54Bezier曲线定义及性质曲线定义及性质(5)平面曲线的保型性)平面曲线的保型性u保凸性:如果多边形是凸的,那么保凸性:如果多边形是凸的,那么Bezier曲线也是凸的曲线也是凸的u变差缩减性:平面内任一直线与变差缩减性:平面内任一直线与Bezier曲线

26、的交点个数不多曲线的交点个数不多于该直线与控制多边形的交点个数。说明于该直线与控制多边形的交点个数。说明Bezier曲线比控制曲线比控制多边形的波动小,更光顺多边形的波动小,更光顺55Bezier曲线定义及性质曲线定义及性质(6)拟局部性)拟局部性 局部性指移动控一个制顶点时,只影响曲线的局部。局部性指移动控一个制顶点时,只影响曲线的局部。 移动控制顶点移动控制顶点Pi 时,对应参数时,对应参数 ti /n 的曲线上的点变动最大,的曲线上的点变动最大,远离远离 i/n 的曲线上的点变动越来越小的曲线上的点变动越来越小56Bezier曲线曲线l一次一次Bezier曲线曲线nn = 1时,有两个控

27、制点时,有两个控制点 P0 和和 P1 ,Bezier多项式是一次多项式是一次多项式:多项式:0,1 t)1 ()()(10101 ,kkktPPttBPtp一次一次Bezier曲线是连接起点曲线是连接起点P0和终点和终点P1的直线段的直线段57Bezier曲线曲线l二次二次Bezier曲线曲线nn=2时,有时,有3个控制点个控制点P0、P1和和P2,Bezier多项式是二次多多项式是二次多项式:项式:201201022102202,)2()(2 0,1 t )1 (2)1 ( )()(tPPPtPPPPtPttPttBPtpkkk22101001022121)(ttPPPtPlp(t) =

28、(1 -t )2 P0 + 2 (1-t) t P1 + t2 P2 , 0 t 1p(0) = 1 P0 + 0 P1 + 0 P2p(1/3) = (4/9) P0 + (4/9) P1 + (1/9) P2p(1/2) = (1/4) P0 + (1/2) P1 + (1/4) P2p(2/3) = (1/9) P0 + (4/9) P1 + (4/9) P2p(1) = 0 P0 + 0 P1 + 1 P258b2,0b2,20u011b2,1P0P1P2u = 0u = 1/2u = 159Bezier曲线曲线l三次三次Bezier曲线的矩阵表示曲线的矩阵表示n矩阵表示矩阵表示3,3

29、3,23, 13,03210303,)(1 ,0)(BBBBPPPPtPtBPtPiiiTMGtttGtttttttttGtCttCttCtCG BEZBEZ32BEZ3323232BEZ333223213303BEZ1100033003630133133363331)1()1()1(60Bezier曲线的递推算法曲线的递推算法lHorner算法算法n只适宜低次只适宜低次Bezier曲线(如三次曲线(如三次Bezier曲线)曲线)lde Casteljau算法(数值更稳定)算法(数值更稳定) 1 , 0, )()(0,ttBPtPniniinririiriPtPrninrtPPtrPP0111

30、)(,1 ,0;,2,1,)1(,0, Bezier曲线的递推算法曲线的递推算法lPaul de Casteljau (1930- )n法国物理学家、数学家法国物理学家、数学家n在雪铁龙汽车工作期间在雪铁龙汽车工作期间提出一种曲线算法提出一种曲线算法n国际实体建模协会国际实体建模协会(Solid Modeling Association)Breizer奖,奖,20126162Bezier曲线的递推算法曲线的递推算法lBezier曲线的离散生成曲线的离散生成算法(续)算法(续)1ttr0 r1 r2 r3 nririiriPtPrninrtPPtrPP0111)(, 1 , 0;, 2 , 1,

31、)1(, 0, 的点处的点处上分割比为上分割比为位于线段位于线段)(:ttPPPririri1111Bezier曲线的递推算法曲线的递推算法l一次一次Bezier曲线曲线63Bezier曲线的递推算法曲线的递推算法l二次二次Bezier曲线曲线64Bezier曲线的递推算法曲线的递推算法l三次三次Bezier曲线曲线65Bezier曲线的递推算法曲线的递推算法l四次四次Bezier曲线曲线6667Bezier曲线的拼接曲线的拼接lBezier曲线的拼接及其连续性曲线的拼接及其连续性n可以用任意数目的控制点逼近出一条可以用任意数目的控制点逼近出一条Bezier 曲线,但是高曲线,但是高次次Bez

32、ier曲线计算比较复杂,曲线计算比较复杂,n为构造复杂曲线,工程上往往使用分段三次为构造复杂曲线,工程上往往使用分段三次Bezier样条曲样条曲线来描述,即将一段段的三次线来描述,即将一段段的三次Bezier曲线首尾相连拼接起曲线首尾相连拼接起来来n由于由于Bezier曲线通过端点,较容易获得曲线通过端点,较容易获得0阶连续性阶连续性n关键问题是如何保证连接处具有关键问题是如何保证连接处具有G1和和G2连续性连续性l如何保证连接处具有如何保证连接处具有G1和和G2连续性连续性? (1)在两段三次在两段三次Bezier曲线间得到曲线间得到GC1连续性连续性68Bezier曲线的拼接曲线的拼接为实

33、现为实现G1连续,则有:连续,则有:)(3)0()(3)1(012231QQpPPp )1()0(12pp )(2301PPQQ 亦即:亦即:69Bezier曲线的拼接曲线的拼接)2()2()1()0(32121012PPPQQQpp (2)在两段三次在两段三次Bezier曲线间得到曲线间得到G2连续性:连续性:Bezier曲线的升阶与降阶曲线的升阶与降阶l升阶(升阶(degree elevation)n为了能更加灵活地控制曲线,需要增加控制点个数为了能更加灵活地控制曲线,需要增加控制点个数n增加控制点时,为了保持原有曲线,需要改变原控制点增加控制点时,为了保持原有曲线,需要改变原控制点n如何

34、确定新的控制点如何确定新的控制点n已知已知求求 使得使得70 1 , 0, )()(0,ttBPtPninii1, 0,*niPi 1 , 0, )()(101,*ttBPtPniniiBezier曲线的升阶与降阶曲线的升阶与降阶l对于对于由基函数的升阶公式由基函数的升阶公式有有71., 1 , 0,1 , 0),(11)(11)(1,1, 1,nittBnintBnitBninini 1 , 0, )()(0,ttBPtPninii ., 1 , 0,1 , 0,111)(01,1,nittBPniPnintBniniiini1*111iiiPniPninPBezier曲线的升阶与降阶曲线的

35、升阶与降阶l新的控制点从旧控制点分段线性插值得到的新的控制点从旧控制点分段线性插值得到的n参数为参数为l升阶后的新的特征多边形在原始特征多边形的凸包内升阶后的新的特征多边形在原始特征多边形的凸包内l特征多边形更靠近曲线特征多边形更靠近曲线721niBezier曲线的升阶与降阶曲线的升阶与降阶l降阶降阶n升阶的逆过程升阶的逆过程推出推出731*111iiiPniPninP74曲线与曲面曲线与曲面l参数曲线基础参数曲线基础l参数多项式曲线参数多项式曲线l三次三次Hermite曲线曲线lBezier曲线曲线lBezier曲面曲面75Bezier曲面曲面lBezier曲面曲面n利用两组正交的利用两组正

36、交的 Bezier 曲线逼近由控制点网格描述的曲曲线逼近由控制点网格描述的曲面面n其中其中 pj, k 是给定的是给定的 (m+1)(n+1) 个控制点的位置个控制点的位置nBezier 曲面与曲面与 Bezier 曲线有相同的性质曲线有相同的性质 1 ,01 ,0, ),()(),(00,vuuBvBPvuPminjnjmiji76Bezier曲面曲面u(1,1)lBezier曲面性质曲面性质n权性权性n曲面的恰好通过曲面的恰好通过4个角控制点个角控制点n曲面上点曲面上点的切平面正好为三角形的切平面正好为三角形 所在平面所在平面Bezier曲面曲面77. 1,0 allfor , 1)()(

37、00,vuvBuBminjjnim) 1 , 0(),1 , 1 (),0 , 1 (),0 , 0(PPPPBezier曲面曲面lde Casteljau算法算法l递推递推或或78 1 ,01 ,0, ),()(),(00,vuuBvBPvuPminjnjmijiBezier曲面曲面79Bezier曲面曲面8081Bezier曲面曲面l实例实例Bezier曲面曲面8283曲线与曲面曲线与曲面l参数曲线基础参数曲线基础l参数多项式曲线参数多项式曲线l三次三次Hermite曲线曲线lBezier曲线曲线lBezier曲面曲面lB样条曲面与曲线样条曲面与曲线B样条曲线与曲面lBezier曲线缺点:

38、曲线缺点:n曲线或曲面不能作局部修改曲线或曲面不能作局部修改n曲面的拼接比较复杂曲面的拼接比较复杂l1972 年,年,Gordon、Riesenfeld等人提出了等人提出了B样条样条方方法,在保留法,在保留Bezier方法全部优点的同时,克服了方法全部优点的同时,克服了Bezier方法的弱点。方法的弱点。84 1 , 0, )(0,ttBPtPniniiB样条曲线与曲面l什么是样条函数?什么是样条函数?n“在数学学科数值分析中,样条是一类分段(片)光滑在数学学科数值分析中,样条是一类分段(片)光滑、并且在各段交接处也有一定光滑性的函数。在中国大、并且在各段交接处也有一定光滑性的函数。在中国大陆

39、,早期曾经被称做陆,早期曾经被称做“齿函数齿函数”。后来因为工程学术语。后来因为工程学术语中中“放样放样”一词而得名。一词而得名。”l为什么要使用样条函数?为什么要使用样条函数?n龙格现象:高次多项式龙格现象:高次多项式n样条函数:样条函数:u低次低次u光滑光滑85B样条曲线lB样条(样条(B-Spline)n一类样条函数一类样条函数nB表示表示Basisn保留保留Brezier优点优点n克服克服Brezier缺点缺点86B样条曲线l定义定义l :控制顶点控制顶点 :k阶(阶(k-1次)次)B样条基函数样条基函数由由k个个k-1次分段多项式组成次分段多项式组成分段多项式相连的分段多项式相连的t

40、值称为值称为节点节点 曲线上曲线上ti序列构成的向量称为序列构成的向量称为节点向量节点向量 87nikiitNPtP0,)()(iP ), 0( ,nitNki88lB样条基函数样条基函数nde Boor-Cox迭代公式迭代公式n结点向量结点向量8990t5t4t2t3t1t0t6t7N0,1(t)N3,4(t)N0,4(t)N0,3(t)N0,2(t)N1,1(t)N2,2(t)N1,2(t)91 , otherwise 0 if 1)( , otherwise 0 if 1)(211 , 1101 , 0ttttNttttN otherwise 0 if if )()()()( 21122

41、100102, 01 , 11221 , 00102, 0tttttttttttttttNtNtttttNtttttNt2t1t0N0,1(t)N0,2(t)N1,1(t)92 otherwise 0 if if if )()()()(3223313321121133122020100100203 , 02, 11332, 00203 , 0ttttttttttttttttttttttttttttttttttttttttttNtNtttttNtttttNt2t3t1t0N0,3(t)N0,2(t)N1,2(t)93t5t4t2t3t1t0t6t7N0,1(t)N3,4(t)N0,4(t)N0,

42、3(t)N0,2(t)N1,1(t)N2,2(t)N1,2(t)三次节点节点94 46361161otherwise0 if 3 if2 if2 if 1)(233432121104, 0tttvttuttttuttttvttttvttttutNl性质性质n非负性非负性n权性权性95l分类分类n均匀均匀B样条曲线样条曲线u节点均匀分布节点均匀分布n准均匀准均匀B样条曲线样条曲线u两端节点具有重复度两端节点具有重复度kn非均匀非均匀B样条曲线样条曲线u节点按非递减顺序任意分布节点按非递减顺序任意分布96Cttii1l局部性局部性 nP(t)在区间在区间(ti,ti+1)顶多与顶多与k个控制顶点个

43、控制顶点Pj(j=i-k+1,.,i)有关有关,与其它控制顶点无关;,与其它控制顶点无关;n移动该曲线的第移动该曲线的第i个控制顶点个控制顶点Pi至多影响到定义在区间至多影响到定义在区间(ti,ti+k)上那部分曲线的形状,对曲线的其余部分不发生上那部分曲线的形状,对曲线的其余部分不发生影响影响97l连续性连续性nP(t)在在r( k r n )重节点处连续阶不低于)重节点处连续阶不低于k-1-rn整条曲线连续阶不低于整条曲线连续阶不低于k-1-rmax,其中,其中rmax表示位于区间表示位于区间(tk-1,tn+1)内的节点的最大重数内的节点的最大重数l凸包性凸包性nP(t)在区间在区间(t

44、i,ti+1, k -1 r n上部分位于上部分位于k个点个点Pi-k+1 ,Pi-k+1的的凸包内凸包内n整个曲线位于各凸包的并集内整个曲线位于各凸包的并集内l分段参数多项式分段参数多项式nP(t)在每一区间在每一区间 (ti,ti+1), k -1 r n都是次数不高于都是次数不高于k -1的分段的分段多项式多项式nP(t)是参数是参数t的的k -1次次分段多项式分段多项式98l导数公式导数公式l变差缩减性变差缩减性n平面内任一直线与曲线的交点个数不多于该直线与控制平面内任一直线与曲线的交点个数不多于该直线与控制多边形的交点个数多边形的交点个数l几何不变性几何不变性nB样条曲线的形状和位置

45、与坐标系的选择无关样条曲线的形状和位置与坐标系的选择无关l仿射不变性仿射不变性99l直线保持性直线保持性n控制多边形退化为一条直线时,曲线也退化为一条直线控制多边形退化为一条直线时,曲线也退化为一条直线l造型的灵活性造型的灵活性n用用B样条曲线可以构造直线段、尖点、切线等特殊情况样条曲线可以构造直线段、尖点、切线等特殊情况100l目的:更加快速地计算目的:更加快速地计算B样条曲线样条曲线l输入:控制顶点输入:控制顶点 ,节点序列,节点序列til先将先将t限定在区间限定在区间ti,ti+1)上上101iPl递推公式递推公式102103l割角割角104节点插入算法l通过插入节点可以进一步改善通过插入节点可以进一步改善B样条曲线的局部性样条曲线的局部性质,提高质,提高B样条曲线的形状控制的灵活性,可以实样条曲线的形状控制的灵活性,可以实现对曲线的分割等现对曲线的分割等l插入节点插入节点=插入控制顶点插入控制顶点给定一条给定一条k阶阶(k-1次次)B样条曲线样条曲线及其节点向量及其节点向量n插入节点插入节点 得到:得到:n决定新的决定新的B样条基于是样条基于是105nikiitNPtP0,)()(,10ntttT,111nkiittttt求1jP节点插入算法l求新控制顶点求新控制顶点r为节点为节点t的重复度的重复度l当当r=0时,它仅涉及节点序列时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论