640 likes | 742 Views
第六章 曲线和曲面 ( 三 ) . 主要内容:. 曲线、曲面参数表示的基础知识 常用的参数曲线 常用的参数曲面. 曲面表示:. 曲面表示的作用: 能使模型表现的质量更高,特别是构造高质量真实感模型; 曲面建模方法 :很多 方法一 :类似于多面体建模,用小的,互相连接的曲面片,而不是用多边形构造模型; 方法二 :直接定义实体对象的表面,如多面体、球体、柱体和圆锥体等,再用这些实体对象构建模型,此过程也称为实体建模; 构建模型方法: 加法建模 :把许多简单的实体对象组合起来构建模型;
E N D
第六章 曲线和曲面(三)
主要内容: • 曲线、曲面参数表示的基础知识 • 常用的参数曲线 • 常用的参数曲面
曲面表示: • 曲面表示的作用: • 能使模型表现的质量更高,特别是构造高质量真实感模型; • 曲面建模方法:很多 • 方法一:类似于多面体建模,用小的,互相连接的曲面片,而不是用多边形构造模型; • 方法二:直接定义实体对象的表面,如多面体、球体、柱体和圆锥体等,再用这些实体对象构建模型,此过程也称为实体建模; • 构建模型方法: • 加法建模:把许多简单的实体对象组合起来构建模型; • 减法建模:从给定的物体中去除某些部分,从而构建新的物体,如,在球体或立方体中挖一个柱形的洞。减法建模类似于雕塑;
曲面绘制: • 曲面的建模和逼近比较复杂; • 两种曲面的表示方法:特征网格、插值面片 • 特征网格:用给定的节点集Pij构造曲面; • 直接推广Bezier-Bernstein和Bezier-B样条曲线逼近方法。 • 特征网格是一个多边形网络,其顶点为Pij • 插值面片: • 描述曲面片的边界曲线,再通过边界曲线的插值,“填充”曲面片的内部;
常用的参数曲线 • 参数曲面的定义 • 参数曲面的重新参数化 • 平面、二次曲面和直纹面 • Bezier曲面 • B样条曲面 • Coons曲面 • 常用双三次参数曲面的等价表示
参数曲面的定义 • 参数曲面的表示: • 显式、隐式; • 参数式:从图形学角度,更便于用计算机表示与构造; • 1、一张矩形域上的参数曲面片 • 定义:由曲线边界包围,具有一定连续性的点集面片; • 用双参数的单值函数表示(如图):
参数曲面的定义 • 其中 为参数; • 上式可改写为: • 参数曲面片的常用几何元素: • 1)角点: 代入 可得四个点: • 2)边界线:矩形域曲面片的四条边界线是: • 3)曲面片上一点; • 4) 点的切矢:在面片上一点 处有 向切矢为 向切矢为: • 5) 点的法矢:该点处的法矢记为: ,简记为:
参数曲面的定义 • 2、常用面片的参数表示举例(1) • 在xoy平面上,矩形域的平面片的参数表示(如图): • 球面(如图): • 球心坐标: • 半径:r • 参数:纬度,经度 • 表达式:
参数曲面的定义 • 常用面片的参数表示举例(2) • 简单回转面 • 若一条曲线绕Z轴旋转,会得到一张回转面;如图; • 参数表达式:
参数曲面的定义 • 3、双三次参数曲面片的代数形式 • 定义:两个三次参数变量定义的曲面片;应用最广泛的一种面片; • 代数形式: • 矩阵表示: • 若已知四个角点坐标及其切矢量,则该面片边界线的代数形式: • 1) • 2)
参数曲面的定义 • 3) • 4) • 4、双三次参数曲面片的几何形式 • 1)几何表示是基于其代数表示和 边界条件: • A. 4个角点位置矢量 • B.角点处的8个切点 • A、B共同定义边界曲线(如图:)
参数曲面的定义 • 2)边界曲线表达式: • F与Hermite曲线的调和函数相同; • 3)求辅助线(如图); 对曲线 作u向切矢,可以得到一条辅助线: 类似的,另外三条辅助曲线: 钮矢:其中 是曲面片角点处的扭矢; 双三次曲面片上任一点的扭矢满足:
参数曲面的定义 • 4)由边界曲线和辅助线,构造双三次参数曲面片,其几何系数矩阵为: 其中: • 左上角子阵:矩形域的角点位置矢量; • 左下角子阵:角点在u向的切矢; • 右上角子阵:角点在w向的切矢; • 右下角子阵:角点的钮矢; • 5)求 : • 曲面点pi,j可看成曲线Piw和Puj的交点,也是求一个给定参数值的参数曲线上的一点。对于两条曲线,首先确定其几何系数 ,进而求
参数曲面的定义 • A:确定几何系数 • 设从曲线 开始,确定其几何系数: • B:求 • 由 边界曲线,求 • 由 边界曲线,求 • 由 辅助曲线,求 • 由 辅助曲线,求 • 上式中系数: 是 的简写;
参数曲面的定义 • 6)几何表示的矩阵式: • 由上述四式求得 曲线的几何系数后,则点 点 处的 : 令 ,则双三次参数曲面片的几何和表示的矩阵式为: 此处: M和三次Hermite曲线的系数矩阵相同 -》
参数曲面的定义 • 7)代数形式和几何形式间的关系: • 由 定义的双三次参数曲面称为Hermite曲面或Ferguson曲面; • 基于式6-3-2: 和6-3-1: 可得双三次参数曲面代数形式和几何形式之间的关系: 构造参数曲面的主要任务:构造其几何系数矩阵B。 • 5、双三次参数曲面的切矢和钮矢 • 1)U向切矢: • 2)w向切矢: • 3)钮 矢:
常用的参数曲线 • 参数曲面的定义 • 参数曲面的重新参数化 • 平面、二次曲面和直纹面 • Bezier曲面 • B样条曲面 • Coons曲面 • 常用双三次参数曲面的等价表示
参数曲面的重新参数化 • 1、参数方向变反 • 最简单形式:把参数变量u或/和w的方向变反; • 此方式不改变曲面片的形状; • 如图,表示对一个曲面片改变参数方向的三种情况:
参数曲面的重新参数化 • 初始曲面片如图a,其几何系数Ba: • 若参数U方向取反-》相应法矢方向也取反,几何系数为Bb: • 若参数w方向取反-》相应法矢方向也取反,几何系数为Bc: • 若u,w方向均取反-》相应法矢方向不变,几何系数如Bd:
参数曲面的重新参数化 • 2、重新参数化的一般形式 • 一般情况如图(下页)所示: • 图a所示曲面片参数区间从 变到 ,从 变到 ;其几何系数B1; • 图b参数区间从 变到 ,从 变到 ;其几何系数B2; • 对B1,B2两张曲面片,角点位置应重合,即: • 若要求两张曲面片的参数方程仍是双三次,要求u和t, w和v是线性关系:
参数曲面的重新参数化 • 3、参数曲面片的分割 • 给定参数曲面片,几何系数矩阵B1; • 要求其子曲面片的几何系数为矩阵B2;边界由 及 定义的参数曲线,如图:
参数曲面的重新参数化 • 对于新面片,角点有如下关系: 其中P矢量是B1的元素,q矢量是B2的元素; • 若令 ,则相应切矢和扭矢如下表示: • 由上述16个表达式可以构造分割后子曲面片的几何系数矩阵B2;
常用的参数曲线 • 参数曲面的定义 • 参数曲面的重新参数化 • 平面、二次曲面和直纹面 • Bezier曲面 • B样条曲面 • Coons曲面 • 常用双三次参数曲面的等价表示
平面、二次曲面和直纹面 • 1、平面 • 最简洁的参数表示形式(如图): • 其代数形式是双三次曲面片代数形式的退化表示,即: • 其中: 说明该平面片过且平行于r,s矢量。其相应的几何形式为: 角点: U向切矢: W向切矢: 扭矢: 由此四个参数表示的几何参数矩阵:
平面、二次曲面和直纹面 • 2、二次曲面 • 球体、柱体、锥体都属于二次曲面家族; • 二次曲面用二次(x,y或z)方程定义; • 几何表示定义参数下表所示,对应图6.3.11
平面、二次曲面和直纹面 • 二次曲面的代数式定义: • 写成矩阵: • 上式化简可消去一次项,可得: • 即: -》二次曲面的判断式; • 若 则方程表示一个球面,其半径为:
平面、二次曲面和直纹面 • 其余情况见下图:
平面、二次曲面和直纹面 • 3、直纹面 • 定义: • 绕面上任一点的面法矢旋转含该法矢的平面,如果该平面至少在某一方向上有一条边和该面重叠,则此面在一个方向上是直纹面(如图:)。 • 如在多个方向上该平面边和此面重叠,则此面在该点有多个直纹; • 最简单的直纹面是平面; • 二次曲面中的圆锥(台)面和圆柱面是单直纹面; • 一张双曲面和双曲抛物面是双直纹面; • 直纹面可看作是对两条已知边界曲线的线性插值;
平面、二次曲面和直纹面 • 直纹面表示: • 已知两条边界曲线式: • 则直纹面为: • 注意: • 曲面的角点和边界曲线的端点重合; • 直纹面的边界和线性插值边界重合: • 即: • 若已知: ,直纹面可以写成: • 直纹面例子如图所示:
平面、二次曲面和直纹面 • 4、双线性曲面 • 单位正方形的参数空间内,以其相反边界进行线性插值而获得的面; • 如图,设任一点的参数坐标: • 其矩阵形式: • 角点: • 如给定四个三维点,则用上式插值得到的双线性曲面也是三维的; • 如给定单位立方体不共面的四个点,则双线性插值面为双曲抛物面,如图:
常用的参数曲线 • 参数曲面的定义 • 参数曲面的重新参数化 • 平面、二次曲面和直纹面 • Bezier曲面 • B样条曲面 • Coons曲面 • 常用双三次参数曲面的等价表示
Bezier曲面 • 1、定义 • 基于Bezier曲线,能给出Bezier曲面的定义和性质,Bezier曲线中的一些算法可以扩展到Bezier曲面的情况。 • 曲面定义:设 为 个空间点列,则 次Bezier曲面定义为: • 基函数:式中 为Bernstein 基函数; • 特征网格:依次用线段连接点列 中相邻两点所形成的空间网格为特征网格; • Bezier曲面的矩阵表示: • 实际应用中m,n小于4;
Bezier曲面 • 1)双线性Bezier曲面: • 定义: 上式定义了一张双线性Bezier曲面; • 如果已知四个角点,则: • 2)双二次Bezier曲面: • 定义: • 上式定义的曲面,其边界曲线及其参数坐标曲线均为抛物线; • 3)双三次Bezier曲面: • 定义:
Bezier曲面 • 上式的矩阵形式: • 双三次Bezier曲 面如图所示-》
Bezier曲面 • 式中参数阵 的作用: • 1) 是曲面特征网格16个控制顶点的几何位置矩阵,其中 在曲面片的角点处; • 2) 阵四周的12个控制点定义四条Bezier曲线,即曲面片的边界曲线; • 3) 阵中央的四个控制点 与边界曲线无关,但也影响曲面的形状;
Bezier曲面 • 2、Bezier曲面片的拼接 • 已知两张双三次Bezier曲面片: • 令: • 相应特征网格如图: • 1) 达到 连续 此时:
Bezier曲面 • 2) 达到 连续 此时在 区间, 在 处的切矢 和 在 处的切矢必须相同,即两个曲面在公共边界处的法矢必须连续,其表达式为: 分为两种情况讨论: a)设 将位置矢量和 代入上式有: 表示这四串点列应位于同一条直线上;
Bezier曲面 b)设: 说明过 边界曲线上的一点作切平面,则 上的 应位于此切平面内,式中 为任意正数, 是w的一次方程;
常用的参数曲线 • 参数曲面的定义 • 参数曲面的重新参数化 • 平面、二次曲面和直纹面 • Bezier曲面 • B样条曲面 • Coons曲面 • 常用双三次参数曲面的等价表示
B样条曲面 • 1、定义 • 曲面定义:基于均匀B样条的定义和性质,可得B样条曲面的定义; 设有 个空间点列 ,则 定义了k×l次B样条曲面; • 基函数:式中 分别为k次和l次的B样条基函数。 • 特征网格:有 组成的空间网格称为B样条曲面的特征网络; • 矩阵表示: 式中y,z分别表示在u,v参数 方向上曲面片的个数: 是某个B样条面片的控制点编号;
B样条曲面 • 最常用的B样条曲面是二次、三次B样条曲面; • 1)均匀双二次B样条曲面: • 已知曲面的控制点 则构造步骤: (1)沿v或u向构造均匀二次B样条曲线,有:
B样条曲面 • (2)再沿u或v向构造均匀二次B样条曲线,即可得均匀双二次B样条曲面: • 2)均匀双三次B样条曲面: • 已知曲面的控制点 构造步骤: • (1)沿v或u向构造均匀三次B样条曲线(i=0,1,2,3),有:
B样条曲面 • (2)再沿u或v向构造均匀三次B样条曲线,即可得均匀双三次B样条曲面: • 可认为是顶点沿 滑动, 每组顶点对应相同的v,当 v由0到1连续变化,即形成B样条曲线;
B样条曲面 • 3、反求均匀B样条曲面的控制点 • 已知型值点: • 求相应均匀双三次B样条曲面的控制点列: • 1)双向曲线反算法: • (1)求特征多边形 • 对u向的m组型值点,按照B样条曲线的边界条件以及反算公式,求得由m组 B样条曲线构成的特征多边形,顶点为: • (2)求特征网格控制点 • 每条曲线均要加两个边界条件-》可得(n+2)×m个特征网格控制点 • 把边Vi,j看作是v向的m组型值点,再作(n+1)次B样条曲线反算,即可得双三次B样条曲面的特征网格控制点:
B样条曲面 • 2)广义矩阵法: • 以均匀双三次B样条曲面为例:
常用的参数曲线 • 参数曲面的定义 • 参数曲面的重新参数化 • 平面、二次曲面和直纹面 • Bezier曲面 • B样条曲面 • Coons曲面 • 常用双三次参数曲面的等价表示
Coons曲面 • Coons曲面 • 1964年,美国麻省理工学院S.A.Coons提出一种曲面分片、拼合造型的思想,Bezier曲面和B样条曲面的特点是曲面逼近控制网格,Coons曲面的特点是插值,即通过满足给定的边界条件的方法构造Coons曲面 • Coons曲面的特点 • 属于构造插值曲面的方法,曲面构造的几何意义明确且曲面的表达式简洁,用于构造给定型值点的曲面,不适用于进行曲面设计。 • 原因:在曲面设计的初级阶段,设计者对其所设计产品的外形仅有粗略的概念。为得到满意的外形,需要不断地修改型值点的位置。
Coons曲面 • 由于扭矢的几何意义不明显,设计人员难以把握,难以提供精确的角点信息,使曲面的形状不易控制 • 不具备局部性。修改任意一个型值点都会影响整张曲面的形状,而其形状变化又难以预测 • 基本概念 • 假定参数曲面方程为P(u, v), u,v€[0, 1] • 曲面片的四条边界 • P(u,0), P(u,1), P(0,v), P(1,v) • 曲面片的四个角点 • P(0,0), P(0,1), P(1,0), P(1,1)
Coons曲面 • u线和v线上的切矢:P(u,v)的u向和v向求偏导矢: • 边界线P(u,0)上的切矢: 同理:Pu(u,1), Pv(0,v), Pv(1,v)也是边界线上的切矢 • 边界曲线的跨界切矢: 边界曲线P(u,0)上的法向(指参数v向)偏导矢 同理,Pv(u,1), Pu(0,v), Pu(1,v)也是边界曲线的跨界切矢