图形学复习资料_6.doc
第六章 曲线与曲面 一、 曲线、曲面参数表示的基础知识 1、 参数曲线的定义:切矢量、法矢量、曲率、挠率 §切矢量:坐标变量关于参数的变化率; 弧长:对正则曲线 P(t)参数从 0 到 T 的弧长; dP(t) dt 0 dt n t c limL(n) lim Pi1Pi n n i 1 P P(t t) P(t), P 弦长 dp 的方向为 r点切线方向 dt 设弧长为 C t 0 P c 如选择 C为曲线参数,即 P(t) P(c) dp P dp 则: lim T 单位切矢量, =1 c 0 dc c dc dp dp dp 对于一般参数 t : if 0 T 1 dt dt dt dp dp dp 对于参数 c : T dc dt dt dc dp dp dc 对比上两式: T dt dt dt dt if r点有切线 t 0 t dP(t) dc dP(t) c dt 0 0 dt dt dt c c(t)是关于参数t的单调函数 c c(t)存在反函数 曲线P P (t)可以用弧长参数表示P P (c) 明确概念: dp :单位切矢量 dc dp :切矢量 dt 如果切矢量是弦长的 n 倍 曲线过顶点或回转 如果切矢量远小于弦长 曲线过于平坦 §曲率:曲线的弯曲变化率; T T T T1T2 T1T2 , T T1T2 1 2 c c T1T2 c T1T2 TT 又:lim 1 2 1 0 T T 1 2 T TT dT k lim ( lim ) ( lim 1 2 ) c 0 c c 0 c c 0 T T dc 1 2 又 T dp d2 p p' (c) k p'' (c) dc dc2 1/ 2 d 2x d2y d 2z k ( 2 ) 2 ( 2 ) 2 ( 2 ) 2 dc dc dc 1 曲率半径: k 1 §法矢量 T : 单位切矢量,方向为曲线的切线方向 dT 与T垂直 dc dT 与 dc平行的单位矢量记为N dT dc= dT 1 dc N=KN = N KN为曲率矢量,模为K 对于空间的参数曲线: 垂直单位切矢量T的矢量 法矢量 KN为法矢量,N为单位法矢量 曲线某点有一束法线(以R点为中心向外辐射),在同一平面 法平面(通过该点与T垂直的平面) 平行N的法线 主法线(通过曲率中心与R点的法线) N为单位主法线矢量 设B T N 垂直于T和N的法线 副法线 其中B为单位副法线矢量 T , N, B组成互相垂直的直角坐标系,下列关系成立: B T N, T N B, N B T 通过定点R TN决定的平面 密切平面 NB决定的平面 法平面 BT决定的平面 化直平面 §挠率 平面曲线 密切平面就是曲线所在 平面 副法矢量不变 dB 0 dc dB 反映曲线的钮挠性质 挠率 dc 设曲线 R 点的弧参数 C , R 邻域内取曲线上点 Q , 参数 C C 非平面曲线 B 不是常数 为 R , Q 处密切平面的夹角 c为弧长 RQ 定理:曲线的平面曲线 平均挠率 c 的充要条件:曲线上任 意点处的挠率等于 0 2、 插值、逼近、拟合与光顺 -函数逼近的重要方法; 函数逼近问题与插值问题; 插值函数; 常用方法:线性插值,抛物线插值 线性插值: 设给定函数 f(x)在两个点的值:y1=f(x1),y2=f(x2); 要求:线性函数 y (x) ax b近似代替 y f (x); 如选择 a, b,使 (x1 ) y1 , (x2 ) y2 则 (x)为 f(x)的线性插值函数 y2 y1 (x x1) x2 x1 x x2 x x1 y1 y x1 x2 x2 x1 2 (x) y1 点斜式 两点式 2 抛物线插值(二次插值): §设已知 f(x)在三个互异点 x1,x2,x3 的函数值为 y1,y2,y3; 2 §要求:构造函数 (x) ax bx c 使该函数在节点 Xi 处与 f(x)在该点处的值相等; §求解:构造线性方程组,求参数 a, b, c,即构造了插值函数 §逼近:-插值的问题? §型值点太多时→构造插值函数困难; §型值点多→误差大; -解决:选择低阶函数,在某种意义上逼近型值点→最佳逼近 §常用方法:最小二乘法 -最小二乘法:逼近的效果由各点偏差的平方和最小或加权的方差最小; §光顺:拐点不要太多-曲线的拐点太多→视觉效果差; -平面曲线的相对光顺条件: §1)具有二阶几何连续; §2)不存在多余拐点和奇异点; §3)曲率变化较小; 例:平面上的三次参数曲线段: x a0 a1t a2t2 a3t3 y b0 b1t b2t2 b3t3 0 t 1 §相应拐点方程: pt2 2qt 2r 0,式中,( p,q,r) (a1,a2 ,a3 ) (b1,b2 ,b3 ) 2 §若 p≠0,则可以构造表达式: I (q/ p) 2r / p §当 I>0 时,相应曲线有两个实拐点; §当 I=0 时,曲线上出现一个尖点; §当 I<0 时,曲线上会出现一个二重点; §拟合:曲线、曲面的设计过程中,用插值或逼近方法是生成的曲线、曲面达到某些设计要求。 3 3、 参数曲线的代数形式和几何形式 x(t) a3xt3 a2xt2 a1xt a0x 考虑三次参数曲线的代数形式: y(t) a t3 a t2 a t a 3y 2y 1y 0y 3 2 z(t) a3zt a2zt a1zt a0z 矢量形式: P(t) a3t3 a2t2 a1ta0 3 式一 Cx a3 a2 a1 a0 Tx t t 1 令: T t t [0,1] 2 x' (t) [3t2 2t 1 0]Cx 给定边界条件: x(0) P0x x(1) P1x x' (0) R0x x' (1) R1x 代入上两式,可得: P0x [0 0 0 1]Cx P1x [1 1 1 1]Cx R0x [0 0 1 0]Cx R1x [3 2 1 0]Cx P0 0 P 1 1 矩阵表示为: R0 0 R1 3 0 1 0 2 0 1 1 1 1 1 Cx 0 0 对上述方程两端乘以 4*4 的矩阵,可得: 2 2 1 1 P0 3 3 2 1 P 1 Cx 0 0 1 0 R0 0 0 R1 x 1 0 令 : P0 2 2 1 1 P 3 3 2 1 1 Mh ;Gh 0 0 1 0 R0 0 0 x 1 0 R1 则称 Mh 为 Hermite 矩阵(常数阵),Gh 为几何矢量; 4、 连续性定义 X(t)=T*Mh*Ghx→P(t)=T*Mh*Gh 所以,只要给定 Gh,就可在 0≤t≤1 范围内求出 P(t); 连续性条件:假定参数曲线段 以参数形式进行描述: 对于不同初始条件,Gh pi 不同,T,Mh 均是相同的;pi pi (t) 参数连续性 • t [ti0, ti1] 几何连续性 参数连续性(传统的、严格的连续性) 称曲线 P=P(t)在 t t0 处 n 阶参数连续,如果它在 t0 处 n 阶左右导数存在,并且满足 d k P (t ) tt dt k 0 d k P (t ) , k 0,1, n tt dt k 0 记号: C n 0 阶参数连续性,记作 C0 连续性,是指曲线的几何位置连接,即 pi (ti1) p(i 1) (t(i 1)0 ) 4 参数连续性 1 阶参数连续性:记作 C1 连续性,指代表两个相邻曲线段的方程在相交点处有相同的一阶导数: pi (ti1 ) p(i 1) (t(i 1)0 ) pi(ti1 ) p(i 1) (t(i 1)0 ) 2 阶参数连续性:记作 C2 连续性,指两个相邻曲线段的方程在相交点处具有相同的一阶和二阶导数; 几何连续性 0 阶几何连续性:记作 G0 连续性,与 0 阶参数连续性的定义相同,满足: p i ( ti 1 ) p ( i 1 ) ( t ( i 1 ) 0 ) 1 阶几何连续性:记作 G1 连续性,指一阶导数在相邻段的交点处成比例 2 阶几何连续性:记作 G2 连续性,指相邻曲线段在交点处其一阶和二阶导数均成比例 5、重新参数化、有理参数多项式曲线 重新参数化 目的:改变生成曲线的参数间隔,不改变曲线的形状与位置; 最简单的形式:曲线的走向变 重新参数化的一般形式:1)端点位置矢量不变;2)切矢量:重新参数化后的曲线与原来的曲线的几何 系数之间存在一定的比例关系; 参数曲线的截断 参数曲线的分割:参数曲线被分割成具有任意长度的 n 条新的参数曲线,求第 i 条曲线的几何系数;参 数曲线被等分成 n 段曲线,即参数变量的间隔相等; 参数曲线的复合:把几条参数曲线段连接在一起,形成一条复合的参数曲线;构造新曲线的几何系数 B 有理参数多项式曲线 目的:为更方便地控制曲线的形状; 原理:基于齐次坐标的概念,产生了用有理参数多项式构造曲线、曲面; 有理参数的优点: - (1) 具有几何和透视投影变换不变性; 无理多项式表示的曲线: 生成曲线的离散点; 对这些离散点做透视投影变换,得到要求的曲线; 有理多项式表示的曲线: 对定义的曲线的控制点做透视投影变换; 用变换后的控制点生成要求的曲线; - (2) 可精确的表示圆锥曲线、二次曲面,进而可统一几何造型算法; 研究内容包括: - 参数多项式曲线的代数形式与几何形式; - 参数多项式曲线的矩阵表示; - 参数多项式曲线的生成; 5 二、 常用的参数曲线 1、 Bezier 曲线 定义: - 一种以逼近为基础的参数曲线; - 由一组折线集,或 Bezier 特征多边形定义; - 曲线的起点、终点与多边形起点、终点重合; - 多边形的第一个边与最后一个边表示了曲线在起点和终点的切矢量方向; - 形状趋于特征多边形的形状; - 给定空间 n+1 个点的位置矢量:Pi,则 Bezier 曲线各点坐标的插值公式: n C (t) i 0 Pi Bi ,n (t), 0 t 1 Bezier 曲线的性质: 1)端点性质: A)端点位置矢量:Bezier 曲线的起点、终点与其相应的特征多边形的起点、终点重合; B)切矢量:Bezier 曲线的起点、终点的切线方向与其相应的特征多边形的第一条边及最后一条边的走向 一致; C)曲率:Bezier 曲线在端点处的 r 阶导数,只与(r+1)个相邻点有关,与更远的点无关; D)r 阶导函数的差分表示:N 次 Bezier 曲线的 r 阶导函数可用差分公式表示为: 2)对称性:Bezier 曲线及其特征多边形在起点处的几何性质与终点处相同; 若保持原 Bezier 曲线的全部定点位置不变,仅把次序颠倒,形成新的顶点; 则新 Bezier 曲线形状不变,只是走向相反; 3)凸包性:1)说明当 t 在 0 与 1 区间变化时,对某个 t 值,C(t)是特征多边形各项点 Pi 的加权平均,权 因子依次是 Bi,n(t); 2)在几何图形上,Bezier 曲线是 Pi 各点的凸线性组合,并且各点均落在特征多边形的凸包之中; 4)几何不变性:几何特性不随一定的坐标变换而变化的性质 Bezier 曲线的位置与形状仅与特征多边形的定点位置有关,不依赖坐标系的选择; 5)变差缩减性:如 Bezier 曲线的特征多边形是一个平面图形,则直线与曲线的交点个数 ≤ 该直线和特征 多边形的交点个数→变差缩减性; 说明 Bezier 曲线比特征多边形的波动小→Bezier 曲线比特征多边形所在的折线更光顺; 2、 B 样条曲线 目的:解决 Bezier 曲线的不足(1972 年,Gordon,Riesenfeld 扩展 Bezier 曲线); 1)控制多边形的顶点个数决定了 Bezier 曲线的阶次,n 较大时特征多边形对曲线的控制减弱; 2)调和函数在整个区间内均不为零→不能作局部修改; 方法:用 B 样条函数代替 Bernstein 函数,从而: 1)改进了 Bezier 特征多边形与 Bernstein 多项式次数相关的问题; 2)克服了 Bezier 曲线整体逼近的缺点; 均匀 B 样条函数的定义: 已知有 n+1 个控制点的特征多边形,其顶点为: Pi (i 0,1, , n) 则 K 次(K+1 阶)的 B 样条曲线的表达式: n C(u) Pi Ni,k(u) i 0 1 0 Ni ,1(u) Ni ,k (u) 若ti u ti 1 其它 (u ti ) t u Ni ,k1u i k1 Ni 1,k1u tk u tn1 ti k ti ti k1 ti 1 6 参数说明:k+1 是曲线的阶数,k 为 B 样条曲线的次数,曲线在连接点处具有(k-1)阶连续; ti 是节点值, T [t0,t1, ,tL 2k1] 构成了 k 次 B 样条曲线的节点矢量,节点是非减序列; L n k 且: 节点矢量:分为三种类型:均匀的,均匀非周期的和非均匀的; - 节点沿参数轴均匀等距分布,即 ti 1 ti =常数时,→均匀 B 样条函数; - 节点沿参数轴分布不等距,即ti 1 ti ≠常数时,→非均匀 B 样条函数。 均匀周期性 B 样条曲线 - T=(-2,-1.5,-1,-0.5,0,0.5,1,1.5,2) - T=(0,1,2,3,4,5,6,7) - 均匀 B 样条的基函数呈周期性: Ni ,k (u) Ni 1,k (u 1) Ni 1,k (u 1) u [tki ,tki 1] 均匀周期性二次(三阶)B 样条曲线 取 k=2,n=3,则 k+n+1=6,不妨设节点矢量为:T=(0,1,2,3,4,5,6): 1 0 N i ,1 (u ) N i , k (u ) 若 t i u ti 1 其它 (u ti ) t u N i ,k 1 u i k 1 N i 1,k 1 u ti k ti ti k 1 ti 1 4 u N 1, 2 u 3 3 (u 1) 5 u N 1,3 u N 1, 2 u N 2, 2 u 3 3 (u 2) 6 u N 2,3 u N 2, 2 u N 3, 2 u 3 3 (u 3) 7u N 3,3 u N 3, 2 u N 4, 2 u 3 3 N 0,3 u u t k u tn 1 N 0, 2 u 曲线的起点和终点值: 1 2 1 2 p(start) (P0 P1), p(end) (P2 P3) 均匀二次 B 样条曲线起点和终点处的导数: p(start) P1 P0, p(end) P3 P2 结论: 对于由任意数目的控制点构造的二次周期性 B 样条曲线,曲线的起点位于头两个控制点之间,终点位于 最后两个控制点之间; 对于高次多项式,起点和终点是 m-1 个控制点的加权平均值点。若某一控制点出现多次,样条曲线会更 加接近该点。 由不同节点矢量构成的均匀 B 样条函数所描绘的形状相同,可以看成是一个 B 样条函数的简单平移; 在构造每个线段时,采用均匀 B 样条函数比用非均匀 B 样条函数工作量小,且外形设计的效果差别不大。 7 B 样条曲线的性质 1.局部可控性 2. B 样条的凸组合性质 B 样条的凸组合性和 B 样条基函数的数值均大于或等于 0 保证了 B 样条曲线的凸包性,即 B 样条曲线必 处在控制多边形所形成的凸包之内。 3. 连续性 4. 导数; B 样条曲线的导数可用其低阶的 B 样条基函数和定点矢量的差商序列的线性组合表示。 可以证明,k 次 B 样条曲线段之间达到 k-1 次的连续性; 5. 几何不变性:形状和位置与坐标系的选择无关; 6. 变差缩减性:平面内任一直线与曲线的交点个数不多于该直线与特征多边形的交点个数; 7. 造型的灵活性: 用 B 样条曲线可构造直线段、尖点、切线等特殊情况:通过选择控制点的位置和节点的重复数。 3、非均匀有理 B 样条(NURBS)曲线 NURBS 方法:非均匀有理 B 样条(Nonuniform Rational B-Spline)方法 n n 定义:由分段有理 B 样条多项式基函数定 n C (u) Wi Pi Ni ,k (u) / Wi Ni ,k (u) Pi Ri ,k (u); i 0 i 0 义: i 0 例:假定用定义在三个控制顶点和开放均匀的节点矢量上的二次(三阶)B 样条函数来拟合,于是, T=(0,0,0,1,1,1),取权函数为: w0 w2 1 r w1 1 r 有理 B 样条的表达式为: C (t) P0N0,3(t) r 1 r N0,3(t) 0 r 1 P1N1,3(t) P2N2,3(t) r 1 r N1,3(t) N2,3(t) 取不同的 r 值得到各种二次曲线 NURBS 优点: 对标准的解析形式和自由曲线、曲面提供了统一的数学表达,无论始解析形状还是自由格式的形状均有 统一的表示参数,便于工程数据库的存取和应用; 可通过控制点和权因子来灵活地改变形状; 对插入节点、修改、分割、集合插值等的处理工具比较有力; 具有透视投影变换和仿射变换的不变性; 非有理 B 样条、有理及非有理 Bezier 曲线、曲面是 NURBS 的特例; NURBS 存在问题: 比一般的曲线、曲面定义方法更费存储空间和处理时间; 权因子选择不当会造成形状畸变; 对搭接、重叠形状的处理相当麻烦; 象点的映射这类算法在 NURBS 情况下会变得不稳定。 8 4、常用参数曲线的等价表示 Hermite,Bezier,B 样条三种非有理参数表示式的相互转换 对于同一条曲线,已知三种表示的一种形式,推导其它两种形式。 设已知三种曲线的表示形式都是几何形式: 则三次 Hermite 曲线为: 2 2 1 1 3 3 2 1 , BH [P0 PH (t) TM H BH , M H 0 0 1 0 0 0 1 0 T P1 P0' P1' ] 三次 Bezier 曲线为: 1 3 3 3 6 3 PZ (t) TM Z BZ , M Z 3 3 0 1 0 0 1 0 , BZ [Pi 0 0 Pi 1 Pi 2 Pi 3]T 三次 B 样条曲线为: 1 3 3 3 6 3 PB (t) TM B BB , M B 3 0 3 1 4 1 1 0 , BB BZ 0 0 1)已知:M H,BH;求BZ,BB M H BH M Z BZ M B BB BZ M Z1M H BH , BB M B1M H BH ; 2)已知:M Z,BZ;求BH,BB M Z BZ M H BH M B BB BH M H1M Z BZ , BB M B1M Z BZ ; 3)已知:M B,BB;求BH,BZ M B BB M H BH M Z BZ BH M H1M B BB , BZ M Z1M B BB ; 三、 常用的参数曲面: 1、 定义——参数曲面的表示:显式、隐式;参数式:从图形学角度,更便于用计算机表示与构造; 2、 重新参数化——参数方向变反 最简单形式:把参数变量 u 或/和 w 的方向变反;此方式不改变曲面片的形状;表示对一个曲面片改变参 数方向的三种情况。 3、Bezier 曲面、B 样条曲面、非均匀有理 B 样条(NURBS)曲面 Bezier 曲面基于 Bezier 曲线,可以方便的给出 Bezier 曲面的定义及其性质,Bezier 曲线中的一些算法 可以扩展到 Bezier 曲面的情况。 B 样条曲面基于均匀 B 样条的定义和性质,可得 B 样条曲面的定义 非均匀有理 B 样条(NURBS)曲面由双参数分段有理多项式曲面定义的 NURBS 曲面 9