《自由曲线与曲面-2 课件》由会员分享,可在线阅读,更多相关《自由曲线与曲面-2 课件(104页珍藏版)》请在金锄头文库上搜索。
1、计算机图形学 第七讲 自由曲线与曲面2主要内容1. 解析曲面2.参数曲面设计中的基本概念 3.Coons曲面4. Bezier曲面5. B样条曲面6. NURBS曲面7.细分曲面8. 曲面的其它表达9. 曲面求交算法(选讲,自学)10. OpenGL曲面功能(选讲,自学)1 解析曲面(代数曲面)代数曲面在造型系统中常见,但远远不能满足复 杂曲面造型的要求适合构造简单曲面,不能构造自由曲面不同类型曲面拼接连续性难以保证不同曲面求交公式不一,程序实现量大工程设计交互性差因此,CAD系统中除简单代数曲面外,必须具有 强大的自由曲面造型能力Bezier、B样条、BURBS曲面在商用CAD系统中 常见。
2、曲面用矢量方程表示:r(u,w)=x(u , w), y(u , w), z(u , w)u , w 0,1 参数u,w的变化区域是uw平面上的单位正方形域。 一旦参数u与w在uw平面的单位正方形域0, 10,1中变化,则对应到空间,即形成一张曲面片。 2 参数曲面设计基本概念参数域点向曲面片点的映射 1uw10r(u,0)r(u,1)r(1,w)r(0,w)(ui,wj)r(ui,wj)r(u,w)一.曲面基本参数1) 四条边界线r(u,0),r(u,1)r(0,w),r(1,w) r(u,1)r(u,0)r(0,w)r(1,w)uw2) 四个角点的位置矢量r(0,0),r(0,1),r(1
3、,0),r(1,1) r(0,0)r(1,0)r(0,1)r(1,1)3) 四个角点的切矢和扭矢 r(u,1)r(u,0)r(0,w)r(1,w)uwr(0,0)r(1,0)r(0,1)r(1,1)对r(u,w),将w看作 常数u变化时,对u求 偏导,就是u线上的 切矢ru(u,w) ru(u,w)= ur(u,w)同理,w 线上的切矢:rw(u,w)= wr(u,w)r(u,w)rw(u, w)ru(u, w)则边界曲线 r(u,0)上的切矢为:ru(u,0)= ur(u,w)w=0ru(u,1)、rw(0,w)、rw(1,w)均为边界曲线上的切矢。 边界曲线r(u,0) 上的法向( 参数w
4、方向上) 偏导矢:rw(u,0) = , 称为边界曲线的跨界斜率。 wr(u,w)w=0rw(u,1)、ru(0,w)、ru(1,w)均为边界曲线的跨界斜率。 r(u,1)r(u,0)r(0,w)r(1,w)uwr(0,0)r(1,0)r(0,1)r(1,1)r(u,w)rw(u, 0)ru(1, w)ur(u,w)u=0w=0wr(u,w)u=0w=0称为角点r(0,0) 的u向、w向切矢ru(0,0)=rw(0,0)=ur(u,w)u=1w=0wr(u,w)u=1w=0称为角点r(1,0) 的u向、w向切矢ru(1,0)=rw(1,0)=ur(u,w)u=0w=1wr(u,w)u=0w=1
5、称为角点 r(0,1) 的u向、w向切矢ru(0,1)=rw(0,1)=ur(u,w)u=1w=1wr(u,w)u=1w=1称为角点 r(1,1) 的u向、w向切矢ru(1,1)=rw(1,1)=rw(0, 0)ru(0, 0)r(u,1)r(u,0)r(0,w)r(1,w)uwr(0,0)r(1,0)r(0,1)r(1,1)r(u,w)rw(1, 1)ru(1, 1)ruw(u,w) = 称为混合偏导矢 (或扭矢)反映了ru对w 的变化率或 rw 对u 的变化率。 u w2r(u,w)uw2r(u,w)则,ruw(0,0)= 角点 r(0,0) 的扭矢ruw(0,1)= 角点 r(0,1)
6、的扭矢ruw(1,0)= 角点 r(1,0) 的扭矢ruw(1,1)= 角点 r(1,1) 的扭矢u w2r(u,w)u w2r(u,w)u w2r(u,w)u wu=0w=0u=0w=1u=1w=0u=1w=1二、曲面的拼接 A)G0连续拼接B)G1连续拼接,即有公共切平面1. 1. 双线性参数曲面:双线性参数曲面:由4个顶点及4个顶点所确定直线边界定义的曲面。3. Coons(3. Coons(孔斯孔斯) )曲面曲面vuv u双线性参数曲面方程双线性参数曲面方程l l四个顶点共面时,曲面为平面;四个顶点共面时,曲面为平面;l l四个顶点不共面时,曲面为空间三维双线性参数曲面。四个顶点不共面
7、时,曲面为空间三维双线性参数曲面。v向插值得到的直纹面2. 2. 孔斯(孔斯(CoonsCoons)曲面(双线性曲面(双线性CoonsCoons曲面)曲面)vuu向插值得到的直纹面边界条件分析:边界条件分析:四个角点依次连线形成 的线段,可视为双线性 参数曲面的边界。CoonsCoons曲面曲面=p3(u,v) - 双线性参数曲面孔斯曲面方程:孔斯曲面方程:双线性曲面方程:双线性曲面方程:CoonsCoons曲面曲面=p3(u,v) - 双线性参数曲面3. 3. 双三次参数曲面片(双三次双三次参数曲面片(双三次CoonsCoons曲面)曲面)UVT一般参数曲面方程:一般参数曲面方程:双三次参数
8、曲面方程:双三次参数曲面方程:双三次参数曲面的边界条件四个角点四个角点处沿u向的切向矢量四个角点处沿v向的切向矢量四个角点处的混合导矢(扭矢)双三次参数曲面的边界条件双三次参数曲面的边界条件uvMB由边界条件确 定的方程可求 解出各aij双三次参数曲面方程:uv双三次参数曲面的缺点:l一个曲面片需要16个几何量才能定义,而不同类型的矢量数值上一般 具有不同的数量级,不便于设置。l几何矢量中含有一阶偏导数和混合偏导数,这些参数对于设计而言缺 乏直观性,会给曲面形状的控制和修改造成困难。双三次参数曲面方程:给定空间n+1个点的位置矢量Pi(i=0,1,2,n),则 Bezier曲线定义为:4 Be
9、zier曲面的定义-张量积曲面将Bezier曲线的方法推广到Bezier曲面。设有 (n+1) (m+1)个控制顶点,则构成的nm次Bezier曲 面方程为:展开上式得:双三次Bezier曲面当n=m=3时,即为双3次 Bezier曲面,由16个控制顶 点组成的网格决定。双三次贝塞尔曲面的特性分析双三次贝塞尔曲面的特性分析:贝塞尔曲面由16个控制点所构成的空间特征网格控制,特征网格边界上的12个控 制点与曲面片的边界曲线相联系,其中四个角点本身是曲面片边界端点;特征网 格内部的4个控制点确定曲面内部形状。曲面的几何变换可通过对每个控制点的 几何变换来实现。l双三次贝塞尔曲面片的由双三次贝塞尔曲
10、线交织而成,四条边界曲线为由边界 上控制点定义的双三次贝塞尔曲线。l贝塞尔曲面的几何矢量矩阵由16个控制点的位置矢量组成,几何意义非常明确 ,便于曲面修改和控制。l贝塞尔曲面不具备局部修改特性,控制点位置的改变主要改变该控制点附近的 曲面形状,但对其它部分也有影响。P(0.7,0.6)xyzovu1010 0.60.7Bezier曲面参数空间和三维欧式空间的映射关系Bezier曲面的特性1)2)Bezier曲面的控制网格的四个角点是Bezier曲面的4个角点,即:Bezier曲面的控制网格的最外一圈顶点定义了Bezier曲面的4条边 界,且每条边界仍为一Bezier曲线。即:事实上,沿Bezi
11、er曲面任何等参数的截线均为 一Bezier曲线。显然,固定参数v,对参变量u而言 是一簇Bezier曲线;固定参数u,对参变量v而言也 是一簇Bezier曲线。vu1010xyzo3)Bezier曲面边界的跨界一阶切矢只与定义该边界的顶点和 相邻的一排顶点有关;且曲面与边界三角形相切。 同样,其跨界二阶导矢只与边界顶点和相邻的两排顶点有 关。4) 其它特性与Bezier曲线类似:几何不变性、对称性、凸 包性Bezier曲面的计算与绘制一般Bezier曲面的绘制:1)U向离散2)V向离散3)计算网格点坐标4)构建四边形(或两个三角形)Bezier曲面的拼接 ,即两曲面的首末控制点相同。A)G0
12、连续B)G1连续最简单直接的方法为:,即有公共切平面l为了实现多张曲面拼接,需要更多的自由度和更 为宽松的条件才可能实现。为实现这一目标往往 需要更高阶的曲面,对低阶曲面可通过升阶方法 提高阶次。l 特征多边形顶点数决定了它的阶次数,当n较大时 ,不仅计算量增大,稳定性降低,且控制顶点对 曲线的形状控制减弱;l不具有局部性,即修改一控制点对曲线产生全局 性影响。l1972年Gordon等用B样条基代替Bernstein基函数 ,从而改进上述缺点。Bezier曲面的不足 类似Bezier曲面,将均匀三次B样条曲 线推广可得到均匀双三次B样条曲面的 定义如下:5 B样条曲面 可见,均匀双三次B样条
13、曲面是由16个控制点网格定义 的。或者,写成 :对于多的网格点,形成多个B样条曲面片:B样条曲面的性质 B样条方法能够很方便绘制复杂曲面,并比Bezier方法 更灵活,因此应用更广泛。先沿等参数方向离散成网格点,然后依次连线绘 制或者填充多边形 。B样条曲面的计算与绘制B样条曲面的反算借鉴B样条曲线的反算 思想,先对给定型值 点进行u向反算,反算 得到一组控制点,通 过升阶使控制点数相 等,再以此控制点为 型值点进行v向反算, 具体步骤如下:a)以U向截面数据点(型值点)及端点u向切矢,应用B样条曲线 反算,构造出各截面曲线,求出它们的B样条控制顶点:b)仍以U向视首末截面数据点处v向切矢为“
14、位置矢量”表示的“数 据点”,又视四角角点扭矢为“端点v向切矢”,应用曲线反算,求 出定义首末u参数边界(即首末截面曲线)的跨界切矢曲线的控制顶 点。 c)然后固定指标i,以第一步求出的n1条截面曲线的控制顶 点阵列中的第i排即: 为“数据点”,以上一 步求出的跨界切矢曲线的第i个顶点为”端点切矢”,在节点矢 量V上应用曲线反算,分别求出m3条插值曲线即控制曲线的B 样条控制顶点 三次B样条插值曲面的控制顶点。 ,即为所求双6. NURBS曲面由于NURBS曲面与B样条曲面采用相同的基函 数,因此NURBS曲面具有和B样条曲面的所有 性质。另外,由于引入权因子,使得NURBS曲面具 有更大的灵
15、活性;且采用有理表达,因而其表 达能力大大增强,NURBS曲面可以统一表达 二次曲面、B样条曲面和Bezier曲面等。追求内部表达模型的统一是CAGD领域学者们的重要目 标之一,NURBS不是终点,学者们仍在努力。(目前样条表达能力更强,但控制参数更多)7 其他表达方式二次曲面(quadric)是最基本的曲面表达:如球面、锥 面、环面、抛物面、双曲面等;其特点为表达简单,计算量小, 尤其是求交运算容易获得其解析解,因此商用系统中广泛采用。显式:Quadric surfaceSuperQuadricsuperquadric toroids(环)superquadric ellipsoids(椭球)superquadric曲面在商用CAD 系统应用相对较少,但在动 画软件中常用 隐式曲面Implicit Surface 隐式曲面是元球(metaball)的更一般形式,它在表现人体 的肌肉、水滴、云、树等物体的造型和动画方面有很大 的优势, 隐式曲面造型目前尚在发展和完善阶段。 偏微分方程(PDE)曲面 PDE方法使用一组椭圆偏微分方程构造曲面,曲 面的形状由所选择的偏微分方程和给定的边界条 件确定。 4