《计算机图形学03》由会员分享,可在线阅读,更多相关《计算机图形学03(67页珍藏版)》请在金锄头文库上搜索。
1、计算机图形学计算机图形学Computer GraphicsComputer Graphics使用班级:地信2009级 王增武 WangZTel:13518208752QQ:64434430第一章第一章 绪论绪论第二章第二章 光栅图形学光栅图形学第三章第三章 曲线和曲面曲线和曲面第四章第四章 图形变换图形变换第三章第三章 造型技术造型技术第六章第六章 真实感图形显示真实感图形显示上机实验上机实验第三章第三章 曲线和曲面曲线和曲面3.1 3.1 曲线曲面参数表示的基础知识曲线曲面参数表示的基础知识 3.2 3.2 常用的参数曲线常用的参数曲线3.3 3.3 常用的参数曲面常用的参数曲面第三章第三章
2、 曲线和曲面曲线和曲面3.1 3.1 曲线曲面参数表示的基础知识曲线曲面参数表示的基础知识 3.2 3.2 常用的参数曲线常用的参数曲线3.3 3.3 常用的参数曲面常用的参数曲面3.1 3.1 曲线曲面参数表示的基础知识曲线曲面参数表示的基础知识显示表示隐式表示参数表示3.1 3.1 曲线曲面参数表示的基础知识曲线曲面参数表示的基础知识曲线和曲面的表示方法1显式表示显式表示是将曲线上各点的坐标表示成方程的形式,且一个坐标变量能够用其余的坐标变量显式的表示出来。2隐式表示隐式表示不要求坐标变量之间一一对应,它只是规定了各坐标变量必须满足的关系。3参数表示参数表示是将曲线上各点的坐标表示成参数方
3、程的形式。假定用t表示参数,参数t在0,1区间内变化,当t=0时,对应曲线段的起点,当t=1时,对应曲线段的终点。3.1 3.1 曲线曲面参数表示的基础知识曲线曲面参数表示的基础知识与显式、隐式方程相比,用参数方程表示曲线和曲面更为通用,其优越性主要体现在以下几个方面:(1)曲线的边界容易确定。(2)点动成线。(3)具有几何不变性。(4)易于变换。(5)易于处理斜率为无穷大的情形。(6)表示能力强。3.1 3.1 曲线曲面参数表示的基础知识曲线曲面参数表示的基础知识位置矢量、切矢量、法矢量、曲率与挠率1位置矢量2切矢量3法矢量主法矢量、副法矢量法平面、密切平面、副法平面4曲率和挠率插值、逼近、
4、拟合和光顺型值点:是指通过测量或计算得到的曲线或曲面上少量描述其几何形状的数据点。控制点:是指用来控制或调整曲线曲面形状的特殊点,曲线曲面本身不一定通过控制点。插值和逼近:这是曲线曲面设计中的两种不同方法。插值设计方法要求建立的曲线曲面数学模型,严格通过已知的每一个型值点。而逼近设计方法建立的曲线曲面数学模型只是近似地接近已知的型值点。拟合:是指在曲线曲面的设计过程中,用插值或逼近的方法使生成的曲线曲面达到某些设计要求。曲线段间的连续性定义曲线段间的连续性定义连续性: C0连续(0阶参数连续)前一段曲线的终点与后一段曲线的起点相同。 C1连续(一阶参数连续) 两相邻曲线段的连接点处有相同的一阶
5、导数。 C2连续(二阶参数连续) 两相邻曲线段的连接点处有相同的一阶导数和二阶导数。对于参数曲线段若:1)则 在P处具有 连续; 2) 在点P处重合,且在点P处的切矢量方向相同,大小不相等,则 在点P处具有 连续; 3) 在点P处重合,且在P点处的切矢量方向相同,大小相等,则 在点P处具有 连续;4)若 在点处已有 , 连续性,且 的大小和方向均相同,则 在点P处具有 连续;5)若 在点处已有 , 连续性,且 的方向相同,大小不相等,则 在点P处具有 连续;参数曲线的线性形式和几何形式调和函数曲线段间C1,C2和G1,G2连续性定义重新参数化四点式曲线有理参数多项式曲线第三章第三章 曲线和曲面
6、曲线和曲面3.1 3.1 曲线曲面参数表示的基础知识曲线曲面参数表示的基础知识 3.2 3.2 常用的参数曲线常用的参数曲线3.3 3.3 常用的参数曲面常用的参数曲面1 Bezier曲线曲线1Bezier曲线的定义曲线的定义在给定空间个点0,1,n,称下列参数曲线为次的Bezier曲线其中, 是Bernstein基函数,即一般称折线0,1,n为C(u)的控制多边形;0,1,n各点为C(u)的控制顶点。控制多边形是C(u)的大致形状的勾画;C(u)是对0,1,n的逼近。 图8.1Bezier曲线 Bernstein基函数具有下列性质:基函数具有下列性质:1) 非负性: 对于所有的i,n以及 均
7、有 成立;2) 规范性: 3)对称性 4)递推性5)端点性6)最大性: 在 处达到最大值;7)可导性8)升阶公式9)分割性10)积分性 2Bezier曲线的性质曲线的性质Bezier曲线C(u)具有以下性质: 1)端点性质端点性质 2) 端点切矢量端点切矢量 Bezier曲线在 点处与边 相切,在点 处与边 相切。 3) 端点的曲率端点的曲率:在C(u)两端点的曲率分别为:这是因为4)对称性)对称性若保持原全部顶点的位置不变,只是把次序颠倒过来,则新的Bezier曲线形状不变,但方向相反。5)几何不变性)几何不变性Bezier曲线的位置和形状只与特征多边形的顶点的位置有关,它不依赖坐标系的选择
8、。移动第i个控制顶点 将对曲线上参数为 的那个点 处发生最大的影响。6)凸包性)凸包性因为是多边形各顶点0,1,n的加权平均,而权因子 ,这反映在几何图形上有两重含义:a. Bezier曲线C(u)位于其控制顶点0,1,n的凸包之内;b. Bezier曲线C(u)随着其控制多边形的变化而变化;7)变差缩减性)变差缩减性对于平面Bezier曲线C(u),平面内任意条直线与其交点的个数不多于该直线与其控制多边形的交点个数;3常用常用Bezier曲线的矩阵表示曲线的矩阵表示由Bezier曲线C(u)的定义,可推出常用的一次、二次、三次Bezier曲线矩阵表示 1)一次一次Bezier曲线曲线 矩阵表
9、示为这是一条从 到 的直线段 图8.2 一次Bezier 曲线 。 2)二次)二次Bezier曲线曲线矩阵表示为 二次Bezier曲线3)三次)三次Bezier曲线曲线矩阵表示为: 图8.4三次Bezier曲线4Bezier曲线的曲线的De Casteljau算法算法给定三维空间点给定三维空间点 以及一维标量参以及一维标量参数数 ;假定:;假定:并且并且 那么 即为Bezier曲线上参数 处的点。 DeCasteljau(P,n,u,C) /* Compute point on a Bezier curve usingDeCasteljaualgorithm*/*Input:P,n,u*/*O
10、utput:C(apoint)*/for(i=0;i=n;i+)Qi=Pi;for(k=1;k=n;k+)for(i=0;i=n-k;i+)Qi=(1.0-u)*Qi+u*Qi+1;C=Q0; 图8.5 Bezier 曲线的De Casteljau算法5Bezier曲线的几何作图法曲线的几何作图法利用DeCasteljau算法可以以几何方式计算参数值 处的曲线点:1)根据给定的参数值 ,在控制多边形的每条边上确定某一分割点,使分割后的线段之比为 ;由此得分割点为:由此组成一个边数为(n-1)的新的多边形;2)用相同的方法对该多边形再次分割,得到分割点 形成另一个新的多边形;3)按相同的过程分割
11、n-1次后,得到两个顶点 ,再分割得到所求的点 即为所求的 处的曲线点; 图8.6 Bezier 曲线的几何作图法6.Bezier曲线的分割曲线的分割几何作图法中计算得到 的同时也将原Bezier曲线分为两个子曲线段:就是定义在 上的子曲线段,而 是定义在 上的子曲线段。Bezier曲线的任意分割是指给定两个参数值 求原Bezier曲线 上由两点 与所界定的那段子曲线段的控制顶点:1)先用 对原曲线做一分为二的分割; 2) 对 那个子曲线用 做一分为二的分割,所得子曲线段 就是所求的原Bezier曲线的子曲线段 图8.7 Bezier 曲线的分割 Bezier曲线的升阶曲线的升阶有时为了便于B
12、ezier曲线的修改,需要增加控制顶点提高灵活性,而不要改变原来曲线的形状,也就是将n次的Bezier曲线进行升级表达为n+1次的Bezier曲线,即:只需将左边乘以 然后比较 的系数,即可得到 几何意义:1) 新的控制顶点是对老的特征多边形在参数处进行线性插值的结果;2) 升阶后的新的特征多边形在老的特征多边形的凸包内;3) 升阶后的新的特征多边形更逼近Bezier曲线;例如对于二次Bezier曲线:升阶后的控制顶点为8.Bezier曲线的顶点反求曲线的顶点反求已知Bezier曲线上给定参数处的位置矢量和参数阶次,利用Bezier曲线定义和端点特性,可列出一组方程,求解方程组,就可得到相应的
13、控制顶点。 例子: 已知三次Bezier曲线上的四个点分别为Q0(120,0),Q1(45,0), Q2(0,45),Q3(0,120),它们对应的参数分别为0, 1/3, 2/3, 1,反求三次Bezier曲线的控制顶点。由已知条件可得方程组:Q Q0 = P P0 (t=0)Q Q1 = (8/27)P P0 + (4/9)P P1 + (2/9)P P2 + (1/27)P P3 (t=1/3)Q Q2 = (1/27)P P0 + (2/9)P P1 + (4/9)P P2 + (8/27)P P3 (t=2/3)Q Q3 = P P3 (t=1)bezier曲线的端点性质得到的;其余
14、两式是由三次Bezier曲线的展开式:C(u)=(1-u)3P0+3u(1-u)2P1+3u2(1-u)P2+u3P3 分别将Q Q0、Q Q1、Q Q2、Q Q3的x、y坐标代入方程组求解,可得:x0 = 120 x1= 35 x2 = 27.5 x3 = 0y0 = 0 y1 = 27.5 y2 = 35 x3 = 120 9. Bezier9. Bezier曲线的拼接曲线的拼接设有两条Bezier曲线 和 ,其控制顶点分别为:0,2,n和Q0,Q2,Qm:现考虑两条曲线的拼接,不同阶几何连续的条件如下:1)一阶连续性 根据端矢量条件: 其连续条件为 即 :1) 二阶连续性根据二阶导矢量:
15、为满足连续性条件:可得: 图8.8 Bezier 曲线的拼接10、有理、有理Bezier曲线曲线有理Bezier曲线的定义式为:与Bezier曲线相比,除了可以调节有理Bezier曲线的控制顶点外,还可以调节其权因子的大小来改变曲线的形状;因而具有更强的造型功能; 其性质包括:1)端点性质:2)端点切矢量 3)凸包性质;4)有理再生性;若控制顶点落在一条直线上,曲线为直线; 5)仿射和透视不变性;6)权因子的作用:当权因子全为零时,曲线与控制顶点无关;当某一权因子增大(小)时,曲线向相应的控制顶点靠近(远);当权因子为无穷大时,该控制顶点即为曲线上的点。 第三章第三章 曲线和曲面曲线和曲面3.
16、1 3.1 曲线曲面参数表示的基础知识曲线曲面参数表示的基础知识 3.2 3.2 常用的参数曲线常用的参数曲线3.3 3.3 常用的参数曲面常用的参数曲面1 Bezier曲面曲面1定义定义在空间给定 个点 称下列张量积形式的一般称Pij为Bezier曲面 的控制顶点;把由两组多边形 (i=0, 1, , n)和 (j=0,1,2, ., m)组成的网称为Bezier曲面 的控制网格,记为 控制网格 是 的大致形状勾画;是对 的逼近。 Bezier 曲面 2性质性质Bezier曲面 具有以下性质:1)端点位置端点位置: 四个端点分别是 这是因为2)边界曲线边界曲线 的四条边界的四条边界线分别是以
17、线分别是以 为控制多边形的Bezier曲线。3)端点的切平面端点的切平面 三角形 所在的平面分别在点 与曲面 相切 4)端点法线方向端点法线方向 由端点的切平面知 是 在点 的法线方向;其余各端点 的法向情况也类似5)5)凸包性凸包性 曲面 位于其控制顶点 的凸包性。6)几何不变性几何不变性 曲面 的形状和位置与坐标系的选取无关,仅仅与各控制顶点的位置有关 7) 变差递减性变差递减性对于Bezier曲面,空间任意条直线与其交点的个数不多于该直线与其控制多边形的交点个数;3Bezier曲面的曲面的De Casteljau算法算法假定已知 个点构成的Bezier曲面 以及参数下面的De Caste
18、ljau算法可计算出相应的曲面上的点坐标:首先对确定的 计算 ,也就是说利用De Casteljau算法计算控制顶点的第 j0行 ;利用(m+1)次 De Casteljau算法计算 ;再次对 计算 的值得到 。DeCasteljauSurf(P,n,m,u,v,S)/*ComputeapointonaBeziersurface*/*Input:P,n,m,u,v*/*Output:S*/if(n=m)for(j=0;j=m;j+)DeCasteljau(Pj,n,u,Qj)DeCasteljau(Q,m,v,S);elsefor(i=0;i=n;i+)DeCasteljau(Pi,m,v,Q
19、i);DeCasteljau(Q,n,u,S);4Bezier曲面的微分曲面的微分 阶的Bezier曲面 的偏微分5BezierBezier曲面的法矢量曲面的法矢量 Bezier曲面的法矢量等于两个偏微分的叉积; 5.Bezier曲面的升阶曲面的升阶假设将 阶的Bezier曲面升阶为 ,则:采用Bezier曲线升阶类似的处理方法,得到: 若升阶为 ,则:7Bezier曲面的几种表达形式曲面的几种表达形式 1)双一次Bezier曲面: 这是一双曲抛物面(马鞍面);2)双二次Bezier曲面 该曲面的四条边界是抛物线3)双三次Bezier曲面:该曲面的四条边界都是三次Bezier曲线;可通过控制内部的四个控制顶点 来控制曲面内部的形状;8Bezier曲面拼接曲面拼接 两块曲面拼接时,若在其公共边界上任一点的切平面重合,则称这两曲面沿其公共边界达到了G1连续。 设 阶Bezier曲面 和另一块 阶曲面 拼接:如果下列条件满足其中k为常数,则 和 沿其公共边界 P(1,v)达到G1连续。 图8.10 Bezier 曲面的拼接温故而知新曲线曲面参数表示的基础知识曲线曲面参数表示的基础知识 常用的参数曲线常用的参数曲线常用的参数曲面常用的参数曲面作业P P: