7.1 多边形表面 7.2 二次曲面和超二次曲面 7.3 样条表示 7.4 三次插值样条 7.5 Bézier曲线和曲面 第七章 三维对象的表示 7.1 多边形表面 7.2 二次曲面和超二次曲面 7.3 样条表示 7.4 三次插值样条 7.5 Bézier曲线和曲面 第七章 1
7.1 多边形表面 边界表示 (Boundary representation,B-reps): 用一组平面或曲面来描述一个三维物体。 用一组平面或曲面来描述一个三维物体。 多边形网格 样条曲面 图7-1 边界表示 7.1.1 平面方程 平面方程可表示为: A x + B y + C z + D = 0 其中,(x, y, z) 是平面上任意点,A,B,C,D 为常数 第七章 2
A= y1(z2-z3) + y2 (z3-z1) + y3 (z1-z2) 为求解系数 A, B, C, D, 可从平面中选取三个不共线点 (x1 , y1 , z1),(x2 , y2 , z2),(x3 , y3 , z3) 代入方程中得: (A/D) xk + (B/D) yk + (C/D) zk = -1 k=1,2,3 运用 Cramer 法则,上述方程组的解可由行列式表示为: 展开得: A= y1(z2-z3) + y2 (z3-z1) + y3 (z1-z2) B= z1 (x2-x3) + z2 (x3-x1) + z3 (x1-x2) C= x1 (y2-y3) + x2 (y3-y1) + x3 (y1-y2) D= - x1 (y2z3-y3z2) - x2 (y3z1-y1z3) - x3 (y1z2-y2z1) 第七章 3
设平面法向量为 N(A,B,C), P为平面上一点,则平面方程可以用向量形式表示: 图7-2 一个物体的二个相邻多边形 V1 V2 V3 V4 V5 E1 E6 E2 E3 E4 E5 7.1.2 多边形表 几何表 属性表 顶点表: V1:x1,y1,z1 V2:x2,y2,z2 V3:x3,y3,z3 V4:x4,y4,z4 V5:x5,y5,z5 边表: E1 :V1 , V2 E2 :V2 , V3 E3 :V1 , V3 E4 :V3 , V4 E5 :V4 , V5 E6 :V5 , V1 面表: S1 :E1 , E2 , E3 S2 :E3 , E4 , E5 , E6 第七章 4
7.2 二次曲面与超二次曲面 7.2.1 二次曲面 1. 球面 2. 椭球面 第七章 5
7.2.2 超二次曲面 S=2.5 S=0.5 S=1 S=1.5 S=2 S=3 S=3.5 1. 超椭圆 第七章 6 7.2.2 超二次曲面 S=2.5 S=0.5 S=1 S=1.5 S=2 S=3 S=3.5 图7-3 各种S值下的超椭圆 1. 超椭圆 第七章 6
2. 超椭球面 例:各种 S 值下的超椭球面 7.2.3 柔性对象 图7-4 柔性物体:缆绳 第七章 7
7.3 样条表示 7.3.1 样条曲线 (Spline Curve): 图7-5 样条曲线 7.3.1 样条曲线 (Spline Curve): 在计算机图形学中,样条曲线指由多项式曲线段连接而成的曲线,在每个曲线段的连接处满足特定的连续条件。 控制点:用来生成样条曲线的坐标点。 控制多边形:依次连接各控制点得到的一组连续线段。 凸包:包围一组控制点的凸多边形边界。 图7-6 控制点、控制多边形及凸包 第七章 8
7.3.2 样条曲线的参数连续性条件: 7.3.3 样条曲线的分类: 插值样条曲线:样条曲线通过所有控制点 C0连续 C1连续 C2连续 图7-7 参数连续性 插值样条曲线:样条曲线通过所有控制点 逼近样条曲线:样条曲线不通过所有控制点 7.3.3 样条曲线的分类: 线性插值 二次插值 三次插值 高次插值 自然三次样条 Hermite 插值 Cardinal 样条 Bézier 曲线 B 样条曲线 b 样条 第七章 9
7.4 三次插值样条 7.4.1 自然三次样条 : 给定n+1个控制点 ,构造一个三次插值样条,每对控制点构造一个曲线段,两相邻曲线段在相交处有相同的一阶和二阶导数。 图7-8 自然三次样条 设第k个曲线段的参数三次多项式为: n+1个控制点产生n个曲线段,每个曲线段有四个待定系数,那么n+1个控制点构造自然三次样条,需要确定4n个待定系数。 第七章 10
n+1个控制点可分为n-1个内控制点和两个外控制点。 两个外控制点: 两个外控制点可建立两个方程。 第七章 11
再获得两个方程的方法: 设定 、 两控制点的二阶导数为0; 在 、 两控制点外再增加两个控制点 、 ,这样原来的n+1个 控制点都变成了内控制点,可得到所需的4n个方程。 7.4.2 分段三次Hermite插值样条 : 给定n+1个控制点 ,构造一个三次插值样条,每对控制点构造一个曲线段,曲线段通过控制点并在控制点处有给定的切线(一阶导数)。 设第k个曲线段的参数三次多项式为: 参数三次多项式的一阶导数为: 第七章 12
设 、 控制点处曲线的一阶导数为 、 ,由给定的边界条件:曲线段通过各控制点,并在各控制点处有给定的一阶导数, 建立如下方程: 写成矩阵形式: 第七章 13
第七章 14
图7-9 汽车效果图和线框图 第七章 15
图7-10 飞机线框图 第七章 16
7.5 Bezier曲线和曲面 7.5.1 Bézier曲线 : 由两个端点和若干个不在曲线上的点来决定曲线的形状。 由两个端点和若干个不在曲线上的点来决定曲线的形状。 给定空间两点 、 ,其位置向量为 、 ,则连接这两点的直 线向量方程为: 图7-11 过两点Bézier曲线 第七章 17
给定空间三点 ,其位置向量为 ,则可构造一 条二次Bézier曲线,曲线的向量方程为: 第七章 18
给定空间四点 ,其位置向量为 ,则可构 造一条三次Bézier曲线,曲线的向量方程为: 第七章 19
给定空间n+1点 ,其位置向量为 ,则可构造一条n次Bézier曲线,曲线的向量方程为: 第七章 20
Bézier曲线的起点是第一个控制点;终点是最后一个控制点。 端点性质: Bézier曲线的起点是第一个控制点;终点是最后一个控制点。 曲线在起点处的切向量落在特征多边形的第一条边上,长度是边长的n倍; 曲线在终点处的切向量落在特征多边形的最后一条边上,长度是边长的n倍。 对称性: 凸包性:曲线落在控制点的凸包内。 几何不变性: Bézier曲线的形状由控制点 唯 一确定,而与坐标系的选取无关。 第七章 21
图7-14 利用Bézier曲线构造C0连续的曲线 第七章 22
图7-15 利用Bézier曲线构造C1连续的曲线 曲线在起点处的切向量落在特征多边形的第一条边上,长度是边长的n倍; 曲线在终点处的切向量落在特征多边形的最后一条边上,长度是边长的n倍。 令 点与 点重合, 点在 的延长线上,且: 图7-15 利用Bézier曲线构造C1连续的曲线 曲线段在 点的一阶导数为: 曲线段在 点的一阶导数为: 第七章 23
B1,3 (u) = 3u (1-u) 2 B2,3 (u) = 3u 2 (1-u) B3,3 (u) = u 3 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 图7-16 Bézier曲线混合函数 7.5.4 三次Bézier 曲线: 给定空间四点,可构造一条三次Bézier曲线,曲线的向量方程为: 四个混合函数的形式如下: B0,3 (u) = (1-u) 3 B1,3 (u) = 3u (1-u) 2 B2,3 (u) = 3u 2 (1-u) B3,3 (u) = u 3 第七章 24
三次Bézier曲线的向量方程可以表示为矩阵形式: 第七章 25
给定空间 个点 ,利用两组正交的Bézier曲线逼近这些点,得到的曲面称为 次Bézier曲面,曲面的向量函数形式如下: 控制顶点: 控制网格: 第七章 26
7.5.6 Bézier曲面性质: 角点位置: Bézier曲面的四个角点分别是其控制网格的四个角点。 边界线: Bézier曲面 的四条边界是Bézier曲线。 凸包性: Bézier曲面 包含在其控制顶点 的凸包内。 第七章 27
作业: 1. 图10-37是用Bézier曲线段构造的一个C1连续的曲线,图中的做 法是否正确,如有错误请说明错误的原因。 2. 写出五个控制点的Bézier曲线向量方程及混合函数表达式。 第七章 28