计算机图形学第九章.ppt
上传人:sy****28 上传时间:2024-09-13 格式:PPT 页数:120 大小:7.4MB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

计算机图形学第九章.ppt

计算机图形学第九章.ppt

预览

免费试读已结束,剩余 110 页请下载文档后查看

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第九章Bézier曲线曲面Bézier曲线曲面操作动画演示曲线曲面的表示是计算机图形学的重要研究内容之一。常用的曲线曲面的类型优点:曲线曲面的形状不依赖于坐标系的选择人机交互直观易于计算易于拼接造型灵活构造曲面模拟帆船第九章Bézier曲线曲面显式表示一个坐标变量能够显式地表示为另一个变量的函数。平面曲线显式表示的一般形式是一条直线方程每一个x值只对应一个y值用显式方程不能表示封闭或多值曲线2.隐式表示平面曲线隐式表示的—般形式为:三维空间曲线的隐式表示式为交面式:曲线的非参数表示存在的问题是:与坐标系相关会出现斜率为无穷大的情况(如垂线)非平面曲线难用常系数的非参数化函数表示不利于计算和编程3.参数表示将曲线上各点的坐标变量显式地表示成参数的函数形式其中,和分别是参数的显式函数通常将参数区间规范化为[0,1]参数方程中的参数可以代表任何量,如时间、角度等连接和两点的直线段的参数方程可写为一条参数曲线的表示形式并不是惟一的例如:在第一象限内的单位圆弧可表示成其中其中θ和t为等距取值参数表示比非参数表示更优越:9.1.2参数曲线的切矢量、弧长、法矢量和曲率当时,导数矢量的方向趋近于P点处的切线方向,记为=亦称为P点的切矢量。在极限情况下,弦长和弧长相等,即从微积分的意义讲,上式是曲线从到的折线长度的极限,令4.曲率记两切矢的夹角为,当又T25.主法矢量和副法矢量取弧长s为参数KN称为曲线的曲率矢量密切平面、法平面和从切平面法平面通过给定点且包含主法矢量N和副法矢量B的平面密切圆密切圆所在的平面包含了直线段和,又过M、R、Q的圆一定在密切平面上,并且其法线方向与的方向相同讨论以t为参数时,曲线的曲率由9.1.3参数曲面的切平面和法矢量用来描述参数曲面片几何性质的几何元素2)边界线。矩形域曲面片的四条边界线是:4)点处的法矢。面片在点处的法矢可表示为2.参数曲面的切平面和法矢量曲面上过点的任何一条曲线在点的切矢量都是曲面在该点的切矢量。所有这些切矢量张成的平面称为曲面在点的切平面。9.1.4参数曲线的多项式表示9.1.4参数曲线的多项式表示又由代入式H9.1.5参数连续性和几何连续性例如,如果曲线在处满足C2连续,则它一定满足下述条件2.几何连续性一阶几何连续(GC1)如果曲线在点t=t0处满足GC0连续,且切矢量方向相同,即存在常数>0,使,则称曲线在t=t0处一阶几何连续(GC1)。二阶几何连续(GC2)如果曲线在点t=t0处满足GC1连续,且副法矢量连续,曲率连续,即,,则称曲线在t=t0处二阶几何连续(GC2)。几何连续性和参数连续性的关系:如果曲线在t=t0处是GC2的,则经过适当参数化,该曲线也是C2的。曲线在t0处GC2连续的充要条件是存在常数>0和,使得第九章Bézier曲线曲面9.2Bézier曲线实例演示动画9.2.1Bézier曲线的定义控制多边形折线例:1、2和3次Bézier曲线2.Bernstein基函数的性质对称性最大值9.2.2Bézier曲线的性质端点的曲率Bezier曲线在端点处的r阶导数,只与(r+1)个相邻点有关,与更远的点无关。仿射不变性凸包性交互能力交互能力变差缩减性保凸性9.2.3Bézier曲线的其他性质P2让t在[0,1]间变动,就得到Bézier曲线,并且向量是曲线在点处的切向量上式说明假设n-1边形按式(9.28)递推n-1次后生成,n-1边形按式(9.28)递推n-1次后生成0≤t≤1根据定义,有2.Bézier曲线的升阶P19.2.4Bézier曲线的拼接GC0连续:Q2GC2连续:下面推导式调整曲线和,使它们在连接处达到GC2连续的算法如下:步骤2:围绕点转动多边形,使得b因为和在拼合点处的曲率不一定相同,9.2.5Bézier曲线的离散生成Bézier曲线经中点分割得到的两段曲线可表示为在实际中用的较多的是三次Bézier曲线,时的递推关系式如表9.1所示。表9.1呈直角三角形垂直的直角边上的点,,,是的控制顶点;斜边上的点,,,是分割后第一条曲线的控制顶点;水平的直线边上的点,,,是分割后第二条曲线的控制顶点。经过适当次数的割角后,分割得到的每段曲线段都能由其两端点的连线所代替,所以该方法可用来生成Bézier曲线。算法9.1算法实现三次Bézier曲线的中点离散。voidcurve-split(floatP[4][2],floatQ[4][2],floatR[4][2]){inti,j;for(i=0;i<4;i++)//初始化for(j=0;j<2;j++)Q[i][j]=P[i][j];for