第三章几何造型技术 几何造型技术是一项研究在计算机中,如何表达物体模型形状的技术。它从诞生到现在,仅仅经历了三十多年 的发展历史,由于几何造型技术研究的迅速发展和计算机硬件性能的大幅度提高,已经出现了许多以几何造型作为 核心的实用化系统,在航空航天、汽车、造船、机械、建筑和电子等行业得到了广泛的应用。 在几何造型系统中,描述物体的三维模型有三种,即线框模型、表面模型和实体模型。线框模型是计算机图形 学和CAD/CAM领域最早用来表示物体的模型,计算机绘图是这种模型的一个重要应用。线框模型用顶点和棱边来表 示物体,由于没有面的信息,它不能表示表面含有曲面的物体:另外,它不能明确地定义给定点与物体之间的关系 点在物体内部、外部或表面上),所以线框模型不能处理许多重要问题,如不能生成剖切图、消隐图、明暗色彩 图,不能用于数控加工等,应用范围受到了很大的限制。 面模型在线框模型的基础上,增加了物体中面的信息,用面的集合来表示物体,而用环来定义面的边界。表 面模型扩大了线框模型的应用范围,能够满足面面求交、线面消隐、明暗色彩图、数控加工等需要。但在该模型中, 只有一张张面的信息,物体究竟存在于表面的哪一侧,并没有给出明确的定义,无法计算和分析物体的整体性质 如物体的表面积、体积、重心等,也不能将这个物体作为一个整体去考察它与其它物体相互关联的性质,如是否相 交等。 实体模型是最高级的模型,它能完整表示物体的所有形状信息,可以无歧义地确定一个点是在物体外部、内部 或表面上,这种模型能够进一步满足物性计算、有限元分析等应用的要求。 虽然三维表面模型表示三维物体的信息并不完整,但它能够表达复杂的雕刻曲面,在几何造型中具有重要的地 位,对于支持曲面的三维实体模型,表面模型是它的基础,本章将主要介绍有关表面和实体的造型技术 曲线曲面 3.2实体在计算机内的表示 实体造型系统简介 3.1参数曲线和曲面 如何表示象飞机、汽车、轮船等具有复杂外形产品的表面是工程中必须解决的问题。1963年美国波音(Boei 飞机公司的佛格森( Ferguson)最早引入参数三次曲线,将曲线曲面表示成参数矢量函数形式,构造了组合曲线和 由四角点的位置矢量、两个方向的切矢定义的佛格森双三次曲面片。1964年,美国麻省理工学院(MIT)的孔斯 ( Coons)用封闭曲线的四条边界定义一张曲面。同年,舍恩伯格( Schoenberg)提出了参数样条曲线、曲面的形 式。1971年,法国雷诺( Renault)汽车公司的贝塞尔( Bezier)发表了一种用控制多边形定义曲线和曲面的方法 同期,法国雪铁龙( Citroen)汽车公司的德卡斯特里奥( de casteli jau)也独立地研究出与 Bezier类似的方法 1972年,德布尔( de boor)给出了B样条的标准计算方法。1974年,美国通用汽车公司的戈登( Gorden)和里森 费尔德( Riesenfeld)将B样条理论用于形状描述,提出了B样条曲线和曲面。1975年,美国锡拉丘兹( Syracuse) 大学的佛斯普里尔( Verspril1)提出了有理B样条方法。80年代后期皮格尔( Piegl)和蒂勒( Tiller)将有理 样条发展成非均匀有理B样条方法,并已成为当前自由曲线和曲面描述的最广为流行的技术 3.1.1曲线曲面参数表示的基础知识 曲线、曲面可以用显 式和参数表示,由于参数表示的曲线、曲面具有几何不变性等优点,计算机图形学 中通常用参数形式描述曲线、曲面,本小节讨论一些参数曲线和曲面表示的基础知识。 3.1.1.1显式、隐式和参数表示 曲线和曲的表示面方程有参数表示和非参数表示之分,非参数表示又分为显式表示和隐式表示。 对于一个平面曲线,显式表示一般形式是:y=f(x)。在此方程中,一个x值与一个y值对应,所以显式方程 不能表示封闭或多值曲线,例如,不能用显式方程表示一个圆 如果一个平面曲线方程,表示成f(x,y)=0的形式,我们称之为隐式表示。隐式表示的优点是易于判断函数 f(x,y)是否大于、小于或等于零,也就易于判断点是落在所表示曲线上或在曲线的哪一侧 对于非参数表示形式方程(无论是显式还是隐式)存在下述问题: 与坐标轴相关 会出现斜率为无穷大的情形(如垂线) 对于非平面曲线、曲面,难以用常系数的非参数化函数表示 不便于计算机编程。 在几何造型系统中,曲线曲面方程 示成参数的形式,即曲线上任一点的坐标均表示成给定参数的函数。 假定用t表示参数,平面曲线上任一点P可表示为: P(t)=[x(t),y(t)] 空间曲线上任一三维点P可表示为 P(t)=[x(t),y(t),z(t)] 最简单的参数曲线是直线段,端点为P1、P2的直线段参数方程可表示为: P(t)=P1+(P2-P1)tt∈[0,1] 计算机图形学第三章(1)第47页共29页
计算机图形学 第三章(1) 第 47 页 共 29 页 第三章 几何造型技术 几何造型技术是一项研究在计算机中,如何表达物体模型形状的技术。它从诞生到现在,仅仅经历了三十多年 的发展历史,由于几何造型技术研究的迅速发展和计算机硬件性能的大幅度提高,已经出现了许多以几何造型作为 核心的实用化系统,在航空航天、汽车、造船、机械、建筑和电子等行业得到了广泛的应用。 在几何造型系统中,描述物体的三维模型有三种,即线框模型、表面模型和实体模型。线框模型是计算机图形 学和 CAD/CAM 领域最早用来表示物体的模型,计算机绘图是这种模型的一个重要应用。线框模型用顶点和棱边来表 示物体,由于没有面的信息,它不能表示表面含有曲面的物体;另外,它不能明确地定义给定点与物体之间的关系 (点在物体内部、外部或表面上),所以线框模型不能处理许多重要问题,如不能生成剖切图、消隐图、明暗色彩 图,不能用于数控加工等,应用范围受到了很大的限制。 表面模型在线框模型的基础上,增加了物体中面的信息,用面的集合来表示物体,而用环来定义面的边界。表 面模型扩大了线框模型的应用范围,能够满足面面求交、线面消隐、明暗色彩图、数控加工等需要。但在该模型中, 只有一张张面的信息,物体究竟存在于表面的哪一侧,并没有给出明确的定义,无法计算和分析物体的整体性质, 如物体的表面积、体积、重心等,也不能将这个物体作为一个整体去考察它与其它物体相互关联的性质,如是否相 交等。 实体模型是最高级的模型,它能完整表示物体的所有形状信息,可以无歧义地确定一个点是在物体外部、内部 或表面上,这种模型能够进一步满足物性计算、有限元分析等应用的要求。 虽然三维表面模型表示三维物体的信息并不完整,但它能够表达复杂的雕刻曲面,在几何造型中具有重要的地 位,对于支持曲面的三维实体模型,表面模型是它的基础,本章将主要介绍有关表面和实体的造型技术。 3.1 曲线曲面 3.2 实体在计算机内的表示 3.3 求交分类 3.4 实体造型系统简介 3.1 参数曲线和曲面 如何表示象飞机、汽车、轮船等具有复杂外形产品的表面是工程中必须解决的问题。1963 年美国波音(Boeing) 飞机公司的佛格森(Ferguson)最早引入参数三次曲线,将曲线曲面表示成参数矢量函数形式,构造了组合曲线和 由四角点的位置矢量、两个方向的切矢定义的佛格森双三次曲面片。1964 年,美国麻省理工学院(MIT)的孔斯 (Coons)用封闭曲线的四条边界定义一张曲面。同年,舍恩伯格(Schoenberg)提出了参数样条曲线、曲面的形 式。1971 年,法国雷诺(Renault)汽车公司的贝塞尔(Bezier)发表了一种用控制多边形定义曲线和曲面的方法。 同期,法国雪铁龙(Citroen)汽车公司的德卡斯特里奥(de Castelijau)也独立地研究出与 Bezier 类似的方法。 1972 年,德布尔(de Boor)给出了 B 样条的标准计算方法。1974 年,美国通用汽车公司的戈登(Gorden)和里森 费尔德(Riesenfeld)将 B 样条理论用于形状描述,提出了 B 样条曲线和曲面。1975 年,美国锡拉丘兹(Syracuse) 大学的佛斯普里尔(Versprill)提出了有理 B 样条方法。80 年代后期皮格尔(Piegl)和蒂勒(Tiller)将有理 B 样条发展成非均匀有理 B 样条方法,并已成为当前自由曲线和曲面描述的最广为流行的技术。 3.1.1 曲线曲面参数表示的基础知识 曲线、曲面可以用显式、隐式和参数表示,由于参数表示的曲线、曲面具有几何不变性等优点,计算机图形学 中通常用参数形式描述曲线、曲面,本小节讨论一些参数曲线和曲面表示的基础知识。 3.1.1.1 显式、隐式和参数表示 曲线和曲的表示面方程有参数表示和非参数表示之分,非参数表示又分为显式表示和隐式表示。 对于一个平面曲线,显式表示一般形式是:y=f(x)。在此方程中,一个 x 值与一个 y 值对应,所以显式方程 不能表示封闭或多值曲线,例如,不能用显式方程表示一个圆。 如果一个平面曲线方程,表示成 f(x,y)=0 的形式,我们称之为隐式表示。隐式表示的优点是易于判断函数 f(x,y)是否大于、小于或等于零,也就易于判断点是落在所表示曲线上或在曲线的哪一侧。 对于非参数表示形式方程(无论是显式还是隐式)存在下述问题: 1. 与坐标轴相关; 2. 会出现斜率为无穷大的情形(如垂线); 3. 对于非平面曲线、曲面,难以用常系数的非参数化函数表示; 4. 不便于计算机编程。 在几何造型系统中,曲线曲面方程通常表示成参数的形式,即曲线上任一点的坐标均表示成给定参数的函数。 假定用 t 表示参数,平面曲线上任一点 P 可表示为: P(t)=[x(t), y(t)]; 空间曲线上任一三维点 P 可表示为: P(t)=[x(t), y(t), z(t)]; 最简单的参数曲线是直线段,端点为 P1、P2 的直线段参数方程可表示为: P(t)=P1+(P2-P1)t t∈[0, 1];
园在计算机图形学中应用十分广泛,其在第一象限内的单位圆弧的非参数显式表示为: y (0≤x≤1) 其参数形式可表示为 [0,] 在曲线、曲面的表示上,参数方程比显式、隐式方程有更多的优越性,主要表现在: (1)可以满足几何不变性的要求。 (2)有更大的自由度来控制曲线、曲面的形状。如一条二维三次曲线的显式表示为: y=ax+bx +cx +d 只有四个系数控制曲线的形状。而二维三次曲线的参数表达式为 P(e a,t3+a. +ayt+a4 t∈[0, 有8个系数可用来控制此曲线的形状 (3)对非参数方程表示的曲线、曲面进行变换,必须对曲线、曲面上的每个型值点进行几何变换:而对参数表示 的曲线、曲面可对其参数方程直接进行几何变换 (4)便于处理斜率为无穷大的情形,不会因此而中断计算。 (5)参数方程中,代数、几何相关和无关的变量是完全分离的,而且对变量个数不限,从而便于用户把低维空间 中曲线、曲面扩展到高维空间去。这种变量分离的特点使我们可以用数学公式处理几何分量 (6)规格化的参数变量t∈[0.1],使其相应的几何分量是有界的,而不必用另外的参数去定义边界 (7)易于用矢量和矩阵表示几何分量,简化了计算 3.1.1.2位置矢量、切矢量、法矢量、曲率和率 一条用参数表示的三维曲线是一个有界点集,可写成一个带参数的、连续的、单值的数学函数,其形式为 x=x(t),y=y(t),z=z(t),0≤t≤1 位置矢量 如图3.1.1所示,曲线上任一点的位置矢量可表示为:P(t)=[x(t),y(t),z(t)]: 其一阶、二阶和k阶导数矢量(如果存在的话)可分别表示为: dp P() dt p()=2P d P P(0) P(1) Rk△s P(0)4 t=0 图3.1.1表示一条参数曲线的有关矢量 切矢量 计算机图形学第三章(1)第48页共29页
计算机图形学 第三章(1) 第 48 页 共 29 页 圆在计算机图形学中应用十分广泛,其在第一象限内的单位圆弧的非参数显式表示为: 其参数形式可表示为: 在曲线、曲面的表示上,参数方程比显式、隐式方程有更多的优越性,主要表现在: (1)可以满足几何不变性的要求。 (2)有更大的自由度来控制曲线、曲面的形状。如一条二维三次曲线的显式表示为: 只有四个系数控制曲线的形状。而二维三次曲线的参数表达式为: 有 8 个系数可用来控制此曲线的形状。 (3)对非参数方程表示的曲线、曲面进行变换,必须对曲线、曲面上的每个型值点进行几何变换;而对参数表示 的曲线、曲面可对其参数方程直接进行几何变换。 (4)便于处理斜率为无穷大的情形,不会因此而中断计算。 (5)参数方程中,代数、几何相关和无关的变量是完全分离的,而且对变量个数不限,从而便于用户把低维空间 中曲线、曲面扩展到高维空间去。这种变量分离的特点使我们可以用数学公式处理几何分量。 (6)规格化的参数变量 t∈[0, 1],使其相应的几何分量是有界的,而不必用另外的参数去定义边界。 (7)易于用矢量和矩阵表示几何分量,简化了计算。 3.1.1.2 位置矢量、切矢量、法矢量、曲率和挠率 一条用参数表示的三维曲线是一个有界点集,可写成一个带参数的、连续的、单值的数学函数,其形式为: x=x(t),y=y(t),z=z(t),0≤t≤1; 1. 位置矢量 如图 3.1.1 所示,曲线上任一点的位置矢量可表示为:P(t)=[x(t), y(t), z(t)]; 其一阶、二阶和 k 阶导数矢量(如果存在的话)可分别表示为: 2. 切矢量
若曲线上R、Q两点的参数分别是t和才盘,矢量△P=P(+△)-P(),其大小以连接RQ的弦长表示 如果在R处有确定的切线,则当Q趋向于R,即→0时,导数矢量趋向于该点的切线方向。如选择弧长s作为 dP 参数,则ds4+0△是单位切矢量。因为,根据弧长微分公式有: (a)2=(ax)2+(4y)2+(a)2 引入参数t,上式可改写为 (a4)-(x)+()+(an)2-lpof 考虑到矢量的模非负,所以 dt F20 故弧长s是t的单调增函数,其反函数t(s)存在,且一一对应,得 P()=P(t(s)=P(s) 于是 dpdp dt P(t) 即T是单位切矢量。 对于空间参数曲线任意一点,所有垂直切矢量T的矢量有一束,且位于同一平面上,该平面称为法平面,如图 3.1.2所示 法平面 面 主法线 密切面 图3.1.2曲线的法矢 若对曲线上任一点的单位切矢为工,因为()-1,两边对s求导矢得,27(,()-0,可见函是 个与T垂直的矢量。与as平行的法矢称为曲线在该点的主法矢,主法矢的单位矢量称为单位主法矢量,记为N 矢量积B=XN是第三个单位矢量,它垂直于T和N。把平行于矢量B的法矢称为曲线的副法矢,B则称为单位 副法失量。 对于一般参数t,我们可以推导出: B=P(t)x P(t) P(t)xP"(圳 (P(t)x pu(+x p(t (P(t)xP(t)xP(圳 T(切矢)、N(主法矢)和B(副法矢)构成了曲线上的活动坐标架,且N、B构成的平面称为法平面,N、T构成的平面 称为密切平面,B、T构成的平面称为从切平面 曲率和挠率 计算机图形学第三章(1)第49页共29页
计算机图形学 第三章(1) 第 49 页 共 29 页 若曲线上 R、Q 两点的参数分别是 t 和 ,矢量 ,其大小以连接 RQ 的弦长表示。 如果在 R 处有确定的切线,则当 Q 趋向于 R,即 时,导数矢量趋向于该点的切线方向。如选择弧长 s 作为 参数,则 是单位切矢量。因为,根据弧长微分公式有: 引入参数 t,上式可改写为: 考虑到矢量的模非负,所以: 故弧长 s 是 t 的单调增函数,其反函数 t(s)存在,且一一对应,得 于是: 即 T 是单位切矢量。 3. 法矢量 对于空间参数曲线任意一点,所有垂直切矢量 T 的矢量有一束,且位于同一平面上,该平面称为法平面,如图 3.1.2 所示。 若对曲线上任一点的单位切矢为 T,因为 ,两边对 s 求导矢得: ,可见 是 一个与 T 垂直的矢量。与 平行的法矢称为曲线在该点的主法矢,主法矢的单位矢量称为单位主法矢量,记为 N。 矢量积 是第三个单位矢量,它垂直于 T 和 N。把平行于矢量 B 的法矢称为曲线的副法矢,B 则称为单位 副法失量。 对于一般参数 t,我们可以推导出: T(切矢)、N(主法矢)和 B(副法矢)构成了曲线上的活动坐标架,且 N、B 构成的平面称为法平面,N、T 构成的平面 称为密切平面,B、T 构成的平面称为从切平面。 4. 曲率和挠率
△T△e 我们已经知道与N平争了“,如m=bp!Bhm dt 称为曲 率,其几何意义是曲线的单位切矢对弧长的转动率(如图3.1.3(a)),与主法矢同向。曲率的倒数x,称为 曲率半径 B(s)7(s)=0 两边对s求导矢得: B(s)7()+B(s)T()=0,将T=A代入上式,并注意到 B()M)=0,得到:B()7()=0因为B()-1,所以两边对s求导得到B(ayB()-0. 可见,B()既垂直于T(),又垂直于B(s),故有B()∥M(s),再令B(6)=-M(6),【称为挠率。因 B|△e 为 ds ,所以挠率的绝对值等于副法线方向(或密切平面) 对于弧长的转动率(如图3.1.3(b))。挠率?大于0、等于0和小于0分别表示曲线为右旋空间曲线、平面曲线和 左旋空间曲线。 同样,对2(。)=B()×7()两边求导,可以得到 M()=-x(s)+tB(a) 将r、NM、B'和T、N、B的关系写成矩阵的形式为 O K OT 对于一般参数t,我们可以推导出曲率K和挠率的计算公式如下 IP(t)x p( (P"(tP"(t),P"(t) (P'(t)x P"(t))2 B0 △日 (s) N B B (b) 图3.1.3曲率和挠率 3.1.1.3插值、逼近、拟合和光顺 1.插值、逼近和拟合 给定一组有序的数据点Pi,i=0,1,…,n,构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值, 构造的曲线称为插值曲线 (1)线性插值 假设给定函数f(x)在两个不同点x和x的值,用一个线形函数:y=以(x)=ax+b,近似代替),称x 1)=y1 为f(x)的线性插值函数。其中线性函数函数的系数a,b,通过条件(x)=y2确定。如图3..4(a)所示 (2)抛物线插值 计算机图形学第三章(1)第50页共29页
计算机图形学 第三章(1) 第 50 页 共 29 页 我们已经知道 与 N 平行,令 , ,即 称为曲 率,其几何意义是曲线的单位切矢对弧长的转动率(如图 3.1.3(a)),与主法矢同向。曲率的倒数 ,称为 曲率半径。 又 ,两边对 s 求导矢得: ,将 代入上式,并注意到 ,得到: .因为 ,所以两边对 s 求导得到: 。 可见, 既垂直于 T(s),又垂直于 B(s),故有 ,再令 , 称为挠率。因 为 ,即 ,所以挠率的绝对值等于副法线方向(或密切平面) 对于弧长的转动率(如图 3.1.3(b))。挠率大于 0、等于 0 和小于 0 分别表示曲线为右旋空间曲线、平面曲线和 左旋空间曲线。 同样,对 两边求导,可以得到: 将 、 、 和 T、N、B 的关系写成矩阵的形式为: 对于一般参数 t,我们可以推导出曲率 和挠率 的计算公式如下: 3.1.1.3 插值、逼近、拟合和光顺 1.插值、逼近和拟合 给定一组有序的数据点 Pi,i=0, 1, …, n,构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值, 所构造的曲线称为插值曲线。 (1)线性插值 假设给定函数 f(x)在两个不同点 x1和 x2的值,用一个线形函数: ,近似代替 f(x),称 为 f(x)的线性插值函数。其中线性函数函数的系数 a,b,通过条件 确定。如图 3.1.4(a)所示。 (2)抛物线插值
抛物线插值又称为二次插值。设已知f(x)在三个互异点x,x2,x3的函数值为y,y,y3,要求构造一个函数: q(x)=ax2+bx+c.柚(x) 在结点x;(i=1,2,3)处与f(x)在x处的值相等,如图3.1.4(b)所示。由此可构 造以(石)f(x)=2(=12.3)的线性方程组,求得a.,即构造了以(x)的插值函数 f(x) y=f(x x1 2 3 图3.1.4线性插值和抛物插值 构造一条曲线使之在某种意义下最接近给定的数据点,称为对这些数据点进行逼近,所构造的曲线为逼近曲线。 插值和逼近则统称为拟合 光顺( Firing) 光顺通俗的含义是指曲线的拐点不能太多,曲线拐来拐去,就会不顺眼,对平面曲线而言,相对光顺的条件是: 具有二阶几何连续性(G2) b.不存在多余拐点和奇异点 C.曲率变化较小 3.1.1.4参数化 过三点P、P和P2构造参数多项式插值抛物线可以有无数条,其原因是:参数t,在[0,1区间的分割可以有 无数种。因为P、P1和P2可对应 1 6=0,=,=1[=0, 其中每个参数值称为节点(knot) 对于一条插值曲线,型值点P0,P1,,P与其参数域“10N内的节点之间有一种对应关系。对于一组有 序的型值点,确定一种参数分割,称之对这组型值点参数化 对一组型值点(P,P1,…,P参数化常用方法有以下几种 均匀参数化(等距参数化 使每个节点区间长度=4-正常数,1=0.1,…,m-1为正常数,节点在参数轴上呈等距分布,4=4 正常数。 累加弦长参数化 i=1,2 △R= 其中 为向前差分矢量,即弦边矢量。这种参数法此如实反映了型值点按弦长的分布情况,能够克 服型值点按弦长分布不均匀的情况下采用均匀参数化所出现的问题 向心参数化法 =0 累加弦长法没有考虑相邻弦边的拐折情况,而向心参数化法假设在一段曲线弧上的向心力与曲线切矢从该弧段始端 至末端的转角成正比,加上一些简化假设,得到向心参数化法。此法尤其适用于非均匀型值点分布 修正弦长参数化法 t=+△P 计算机图形学第三章(1)第51页共29页
计算机图形学 第三章(1) 第 51 页 共 29 页 抛物线插值又称为二次插值。设已知 f(x)在三个互异点 x1,x2,x3的函数值为 y1,y2,y3,要求构造一个函数: ,使 在结点 xi(i=1,2,3)处与 f(x)在 xi处的值相等,如图 3.1.4(b)所示。由此可构 造 的线性方程组,求得 a,b,c,即构造了 的插值函数。 构造一条曲线使之在某种意义下最接近给定的数据点,称为对这些数据点进行逼近,所构造的曲线为逼近曲线。 插值和逼近则统称为拟合。 2. 光顺(Firing) 光顺通俗的含义是指曲线的拐点不能太多,曲线拐来拐去,就会不顺眼,对平面曲线而言,相对光顺的条件是: a. 具有二阶几何连续性(G2 ); b. 不存在多余拐点和奇异点; c. 曲率变化较小。 3.1.1.4 参数化 过三点 P0、P1和 P2构造参数多项式插值抛物线可以有无数条,其原因是:参数 t, 在[0, 1]区间的分割可以有 无数种。因为 P0、P1和 P2可对应: … 其中每个参数值称为节点(knot)。 对于一条插值曲线,型值点 P0,P1,…,Pn与其参数域 内的节点之间有一种对应关系。对于一组有 序的型值点,确定一种参数分割,称之对这组型值点参数化。 对一组型值点(P0, P1 , …,Pn)参数化常用方法有以下几种。 1. 均匀参数化(等距参数化) 使每个节点区间长度 正常数,i=0, 1, …, n-1 为正常数,节点在参数轴上呈等距分布, + 正常数。 2. 累加弦长参数化 其中 为向前差分矢量,即弦边矢量。这种参数法此如实反映了型值点按弦长的分布情况,能够克 服型值点按弦长分布不均匀的情况下采用均匀参数化所出现的问题。 3. 向心参数化法 累加弦长法没有考虑相邻弦边的拐折情况,而向心参数化法假设在一段曲线弧上的向心力与曲线切矢从该弧段始端 至末端的转角成正比,加上一些简化假设,得到向心参数化法。此法尤其适用于非均匀型值点分布。 4. 修正弦长参数化法
+1△Px1+2+1△ ,-mx=∠P2P,a.△-△2-0 弦长修正系数21 从公式可知,与前后邻弦长 △P 相比 1越小,且与前后邻弦边夹角的 外角1和?(不超过2时)越大,则修正系数就K就越大 参数区间的规格化 入、参数化区间一般是650,1,我们通常将参数区应 规格化为[0,1],只需对参数化区间作如 处理 =0,1 t 31.1.5参数曲线的代数和几何形式 我们以三次参数曲线为例,讨论参数曲线的代数和几何形式 1.代数形式 一条三次曲线的代数形式是 x(2)=a3t+a2xt"+at+aox (2)=a3y+a2,"+aIyE+aoy tE[0,1] 2()=a342+a22+ant+a 方程组中12个系数唯一地确定了一条3次参数曲线的位置与形状。上述代数式写成矢量式是: P()=a23+a212+a1t+aot∈[0, (3.1.1) 其中041,2,3是代数系数矢量,P(t)是三次参数曲线上任一点的位置矢量。 2.几何形式 描述参数曲线的条件有:端点位矢、端点切矢、曲率等。对三次参数曲线,若用其端点位矢P(O)、P(1)和切矢 P?(0)、P(1)描述,并将P(0)、P(1)、P?(0)和P(1)简记为P、P1、P和P,代入(3.1.1)式得(如图3.1.5所示) 320+31-2P0-B 22-2+6+F 将(3.1.2)代入(3.1.1)整理后得 P()=(22-32+1)20+(-2+32)B+(23-22+2+(3-t2)1t∈[0,1 (3.1.3) F()=2-3x+1F1() G()=2-2+tG1(=2-t 将F,F,Gn,G1代入(3.1.3)式,可将其简化为 P()=202+2B+G0+∈[01](31 (3.1.4)式是三次 Hermite(Ferguson)曲线的几何形式,几何系数是P、P1、P3和P 计算机图形学第三章(1)第52页共29页
计算机图形学 第三章(1) 第 52 页 共 29 页 其中: 弦长修正系数 。从公式可知,与前后邻弦长 及 相比,若 越小,且与前后邻弦边夹角的 外角i-1和 i(不超过 时)越大,则修正系数就 K i 就越大。 5. 参数区间的规格化 参数化区间一般是 ;我们通常将参数区间 规格化为[0, 1],只需对参数化区间作如 下处理: 3.1.1.5 参数曲线的代数和几何形式 我们以三次参数曲线为例,讨论参数曲线的代数和几何形式。 1.代数形式 一条三次曲线的代数形式是: 方程组中 12 个系数唯一地确定了一条 3 次参数曲线的位置与形状。上述代数式写成矢量式是: (3.1.1) 其中 是代数系数矢量,P(t)是三次参数曲线上任一点的位置矢量。 2.几何形式 描述参数曲线的条件有:端点位矢、端点切矢、曲率等。对三次参数曲线,若用其端点位矢 P(0)、P(1)和切矢 P(0)、P(1)描述,并将 P(0)、P(1)、P(0)和 P(1)简记为 P0、P1、P0和 P1,代入(3.1.1)式得(如图 3.1.5 所示): (3.1.2) 将(3.1.2)代入(3.1.1)整理后得: (3.1.3) 令: , , 将 F0,F1,G0,G1代入(3.1.3)式,可将其简化为: (3.1.4) (3.1.4)式是三次 Hermite(Ferguson)曲线的几何形式,几何系数是 P0、P1、P0和 P1
P(1) P(E) 3.1.5 Ferguson曲线端点位矢和切矢 我们把F,F1,C,G称为调和函数(或混合函数),即该形式下的三次 Hermite基。它们具有如下的性质 2()=G:()= F()=G2()=0 F和F1专门控制端点的函数值对曲线的影响,而同端点的导数值无关;G和G1则专门控制端点的一阶导数值对 曲线形状的影响,而同端点的函数值无关。或者说,F和G控制左端点的影响,F1和Gn控制右端点的影响。图3.1.6 给出了这四个调和函数的图形 调和函数不是唯一的,任何满足(3.1.5)式C类多项式函数都可以作为调和函数使用,其中F0和F1必须是单调 连续函数。F(t)=1-t,F1(t)=t是一次多项式调和函数 F G 图3.1.6三次调和函数 3.1.1.6连续性 设计一条复杂曲线时,常常通过多段曲线组合而成,这需要解决曲线段之间如何实现光滑连接的问题 曲线间连接的光滑度的度量有两种:一种是函数的可微性,把组合参数曲线构造成在连接处具有直到n阶连续 导矢,即n阶连续可微,这类光滑度称之为C或n阶参数连续性。另一种称为几何连续性,组合曲线在连接处满 足不同于C的某一组约束条件,称为具有n阶几何连续性,简记为G。曲线光滑度的两种度量方法并不矛盾,C 连续包含在¢连续之中。下面我们来讨论两条曲线的连续问题。如图3.1.7所示,对于二条曲线P(t)和Q(t),参 [0] 若要求在结合处达到G连续或C连续,即两曲线在结合处位置连续: (1)=Q(0)(3.1.6) 若要求在结合处达到G连续,就是说两条曲线在结合处在满足G连续的条件下,并有公共的切矢: Q(0)=a2(1 >0) (3.1.7) fa=1时,G连续就成为C连续。 计算机图形学第三章(1)第53页共29页
计算机图形学 第三章(1) 第 53 页 共 29 页 我们把 F0,F1,G0,G1称为调和函数(或混合函数),即该形式下的三次 Hermite 基。它们具有如下的性质: (3.1.5) F0和 F1专门控制端点的函数值对曲线的影响,而同端点的导数值无关;G0和 G1则专门控制端点的一阶导数值对 曲线形状的影响,而同端点的函数值无关。或者说,F0和 G0控制左端点的影响,F1和 G1控制右端点的影响。图 3.1.6 给出了这四个调和函数的图形。 调和函数不是唯一的,任何满足(3.1.5)式 C 1类多项式函数都可以作为调和函数使用,其中 F0和 F1必须是单调 连续函数。F0(t)=1-t,F1(t)=t 是一次多项式调和函数。 3.1.1.6 连续性 设计一条复杂曲线时,常常通过多段曲线组合而成,这需要解决曲线段之间如何实现光滑连接的问题。 曲线间连接的光滑度的度量有两种:一种是函数的可微性,把组合参数曲线构造成在连接处具有直到 n 阶连续 导矢,即 n 阶连续可微,这类光滑度称之为 C n或 n 阶参数连续性。另一种称为几何连续性,组合曲线在连接处满 足不同于 C n的某一组约束条件,称为具有 n 阶几何连续性,简记为 G n。曲线光滑度的两种度量方法并不矛盾,C n 连续包含在 G n连续之中。下面我们来讨论两条曲线的连续问题。如图 3.1.7 所示,对于二条曲线 P(t)和 Q(t),参 数 。 若要求在结合处达到 G 0连续或 C 0连续,即两曲线在结合处位置连续: P(1)=Q(0) (3.1.6) 若要求在结合处达到 G 1连续,就是说两条曲线在结合处在满足 G 0连续的条件下,并有公共的切矢: (3.1.7) 当 时,G 1连续就成为 C 1连续
若要求在结合处达到G连续,就是说两条曲线在结合处在满足G连续的条件下,并有公共的曲率矢 P(×P(1)g(0)xg(0 (3.1.8) 代入(3.1.7)得 F()×g(0)=a2P()xP"(①) 这个关系为 g(0)=a2F(1)+B2()(3.1.9 为任意常数。当a=1,=0时,G连续就成为C连续 Q() Q(1) Q(0) 图3.1.7两条曲线的连续性 们已经看到,C连续保证G连续,C连续能保证G连续,但反过来不行。也就是说C连续的条件比G连续的 条件要苛刻。 3.1.2 Bezier曲线与曲面 由于几何外形设计的要求越来越高,传统的曲线曲面表示方法,已不能满足用户的需求。1962年,法国雷 诺汽车公司的P.E. Bezier构造了一种以逼近为基础的参数曲线和曲面的设计方法,并用这种方法完成了 种称为 UNISURF的曲线和曲面设计系统,1972年,该系统被投入了应用。 Bezier方法将函数逼近同几何表 示结合起来,使得设计师在计算机上就象使用作图工具一样得心应手。 31.2.1 Bezier曲线的定义和性质 1.定义 给定空间n+1个点的位置矢量P1(i=0,1,2,…,n),则 Bezier参数曲线上各点坐标的插值公式是 P(t)=∑2B:2(2),t∈[0, 其中,P1构成该 Bezier曲线的特征多边形,B:n(t)是n次 Bernstein基函数: B2x()=C2(1-)2=-如 (=0,1;,n) i!(2-)! 0°=1,0!=1 Bezier曲线实例如图3.1.8所示 2 图3.1.8三次 Bezier曲线 2. Bernstein基函数的性质 0t=0,1 B.(t)= >0t∈(0,1),i=1,2;…,n-1 (2)端点性质 计算机图形学第三章(1)第54页共29页
计算机图形学 第三章(1) 第 54 页 共 29 页 若要求在结合处达到 G 2连续,就是说两条曲线在结合处在满足 G 1连续的条件下,并有公共的曲率矢: (3.1.8) 代入(3.1.7)得: 这个关系为: (3.1.9) 为任意常数。当 , 时,G 2连续就成为 C 2连续。 我们已经看到,C 1连续保证 G 2连续,C 1连续能保证 G 2连续,但反过来不行。也就是说 C n连续的条件比 G n连续的 条件要苛刻。 3.1.2 Bezier 曲线与曲面 由于几何外形设计的要求越来越高,传统的曲线曲面表示方法, 已不能满足用户的需求。1962 年,法国雷 诺汽车公司的 P.E.Bezier 构造了一种以逼近为基础的参数曲线和曲面的设计方法,并用这种方法完成了一 种称为 UNISURF 的曲线和曲面设计系统,1972 年,该系统被投入了应用。Bezier 方法将函数逼近同几何表 示结合起来,使得设计师在计算机上就象使用作图工具一样得心应手。 3.1.2.1 Bezier 曲线的定义和性质 1.定义 给定空间 n+1 个点的位置矢量 Pi(i=0,1,2,…,n),则 Bezier 参数曲线上各点坐标的插值公式是: 其中,Pi构成该 Bezier 曲线的特征多边形,Bi,n(t)是 n 次 Bernstein 基函数: 0 =1, 0!=1 Bezier 曲线实例如图 3.1.8 所示。 2.Betnstein 基函数的性质 (1)正性 (2)端点性质
B,, D (t)=1t∈(0,1) (t)=>cit( =[(1-t)+]=1 由二项式定理可知: (4)对称性 B;2()=Bx() B()=C31-(1-2+3)(1-1)2=C2(1-1)2=B12(1-t) (5)递推性。 B:2()=(1-)B1()+tB1x()(=01,…,n) 即高一次的 Bernstein基函数可由两个低一次的 Bernstein调和函数线性组合而成 B2x()=ct(1-t)2=( (1-0)C:2(1 Ct2-(1 因为, (1-)Bx1(t)+tB21x1() (6)导函数 Bn(t)=n[B11(t)-B1m1(t,i=0,1,…,n; B(+ (7)最大值。1·在处达到最大值。 (8)升阶公式 (1-)B2(t)=(1 n+12an1() i+1 +1241 i+1 Bx()=(1 B:+() B3+.+1() (9)积分 Bx(2) 3. Bezier曲线的性质 (1)端点性质 曲线端点位置矢量 由 Bernstein基函数的端点性质可以推得,当t=0时,P(0)=Po:当t=1时,P(1)=P。由此可见, Bezier 曲线的起点、终点与相应的特征多边形的起点、终点重合 切矢量 P()=x∑[B1x1()-B1x1() 因为 ,所以当t=0时,P(0)=n(P1-P),当t=1时,P(1)=n(PP) 这说明 Bezier曲线的起点和终点处的切线方向和特征多边形的第一条边及最后一条边的走向一致 二阶导矢 P()=x(x-1∑(2-2Pn1+B)B12( 计算机图形学第三章(1)第55页共29页
计算机图形学 第三章(1) 第 55 页 共 29 页 (3)权性 由二项式定理可知: (4)对称性 因为 (5)递推性。 即高一次的 Bernstein 基函数可由两个低一次的 Bernstein 调和函数线性组合而成。 因为, (6)导函数 (7)最大值。 在 处达到最大值。 (8)升阶公式 (9)积分 3.Bezier 曲线的性质 (1)端点性质 a. 曲线端点位置矢量 由 Bernstein 基函数的端点性质可以推得,当 t=0 时,P(0)=P0 ;当 t=1 时,P(1)=Pn。由此可见,Bezier 曲线的起点、终点与相应的特征多边形的起点、终点重合。 b. 切矢量 因为 ,所以当 t=0 时,P’(0)=n(P1-P0),当 t=1 时,P’(1)=n(Pn-Pn-1), 这说明 Bezier 曲线的起点和终点处的切线方向和特征多边形的第一条边及最后一条边的走向一致。 c. 二阶导矢
当t=0时,2(0=m(2-(2-2+0) 当t=1时,2(D)=(2-1D(2-221+2n2) 上式表明:2阶导矢只与相邻的3个顶点有关,事实上,r阶导矢只与(r+1)个相邻点有关,与更远点无关。 k(t)= p()×xF() 将P(0、P(0)QF0、F)代曲率公式o 可以得到 Bezier曲线在端点的曲 率分别为: k(0) (R-P)X(P-P) -2 k(1) 1(PR-1-PM-2)X(PR-PR |P k阶导函数的差分表示 n次 Bezier曲线的k阶导数可用差分公式为 △F2B13k(C)t∈[0, 其中高阶向前差分矢量由低阶向前差分矢量递推地定义: △2=△k1 例如:△B=B △2=△P1-△B3=Pn1P △21=△E1-△B=12-2P1+ (2)对称性。由控制顶点 F=Py(i=0,1…,n) 构造出的新 Bezier曲线,与原 Bezier曲线形状相 ,走向相反。因为: C*()-∑FB,-∑22()-∑232(1-1)-∑B2(1-D,t∈0 这个性质说明 Bezier曲线在起点处有什么几何性质,在终点处也有相同的性质 (3)凸包性 之B,日0≤B()10≤:1=0…n),这一结果说明当t在[D,1区间变化时 对某一个t值,P(t)是特征多边形各顶点的加权平均,权因子依次是2。在几何图形上,意味着 Bezier 曲线P()在∈[0,1中各点是控制点B的凸线性组合,即曲线落在P构成的凸包之中,如图3.1.9所示 凸包 图3.1.9 Bezier曲线的凸包性 (4)几何不变性。这是指某些几何特性不随坐标变换而变化的特性。 Bezier曲线的位置与形状与其特征多 边形顶点2(=01…)的位置有关,它不依赖坐标系的选择,即有: B2()=∑?B2 (参变量u是t的置换) 计算机图形学第三章(1)第56页共29页
计算机图形学 第三章(1) 第 56 页 共 29 页 当 t=0 时, 当 t=1 时, 上式表明:2 阶导矢只与相邻的 3 个顶点有关,事实上,r 阶导矢只与(r+1)个相邻点有关,与更远点无关。 将 、 及 、 代入曲率公式 ,可以得到 Bezier 曲线在端点的曲 率分别为: d. k 阶导函数的差分表示 n 次 Bezier 曲线的 k 阶导数可用差分公式为: 其中高阶向前差分矢量由低阶向前差分矢量递推地定义: 例如: (2)对称性。由控制顶点 构造出的新 Bezier 曲线,与原 Bezier 曲线形状相 同,走向相反。因为: 这个性质说明 Bezier 曲线在起点处有什么几何性质,在终点处也有相同的性质。 (3)凸包性 由于 ,且 ,这一结果说明当 t 在[0,1]区间变化时, 对某一个 t 值,P(t)是特征多边形各顶点 的加权平均,权因子依次是 。在几何图形上,意味着 Bezier 曲线 P(t)在 中各点是控制点 Pi的凸线性组合,即曲线落在 Pi构成的凸包之中,如图 3.1.9 所示。 (4)几何不变性。这是指某些几何特性不随坐标变换而变化的特性。Bezier 曲线的位置与形状与其特征多 边形顶点 的位置有关,它不依赖坐标系的选择,即有: (参变量 u 是 t 的置换)