450 likes | 679 Views
曲线曲面基本理论. ☆ 图形表示问题 ● 形状描述要求 ☆参数化表示 ☆离散点表示. 图形的计算机表示. 图形的计算机表示是形状信息计算机表示、分析和综合的核心。 即: 要解决既适合计算机处理,且有效地满足形状表示与几何设计的要求,又便于形状信息传递和数据交换的形状描述的数学方法 。 形状数学描述应 保留对象形状的尽可能多的性质 。. ☆ 图形表示问题 ● 形状描述要求 ☆参数化表示 ☆离散点表示. 形状数学描述的要求. 从计算机 对形状的处理、便于形状信息传递与数据交换 的角度来看应满足如下要求: 唯一性: 由已给定的有限信息决定形状应是唯一的。
E N D
☆图形表示问题 ● 形状描述要求 ☆参数化表示 ☆离散点表示 图形的计算机表示 • 图形的计算机表示是形状信息计算机表示、分析和综合的核心。 • 即:要解决既适合计算机处理,且有效地满足形状表示与几何设计的要求,又便于形状信息传递和数据交换的形状描述的数学方法。 • 形状数学描述应保留对象形状的尽可能多的性质。
☆图形表示问题 ● 形状描述要求 ☆参数化表示 ☆离散点表示 形状数学描述的要求 • 从计算机对形状的处理、便于形状信息传递与数据交换的角度来看应满足如下要求: • 唯一性:由已给定的有限信息决定形状应是唯一的。 • 几何不变性:形状相对位置确定后,形状应不随所取的坐标系改变而改变。 • 易于定界:容易界定参变量取值范围。 • 统一性:能统一表示各种形状及处理各种情况,包括各种特殊情况。即:既能表示自由型曲线曲面,又能表示初等解析曲线曲面。 • 计算处理简便易行。 • 具有丰富的表达能力与灵活地响应的能力。 • 易于实现连接,且在许多场合要求的光滑连接。 • 易于实现对形状的控制,既具有整体控制的能力,又具有局部控制的能力。具有较大的控制的灵活性。 • 几何直观,几何意义明显。
曲线和曲面可由给定数学函数生成,曲线和曲面的函数方程能表示为参数形式或非参数形式。曲线和曲面可由给定数学函数生成,曲线和曲面的函数方程能表示为参数形式或非参数形式。 对计算机图形应用而言,参数表示一般更方便些。 曲线曲面的参数化 给定一个具体的单参数的矢函数,并据此给出一个具体的参数曲线曲面方程。 既决定了所表示曲线曲面的形状; 也决定了该曲线曲面上的点与其参数域内的点(即参数值)之间的一种对应关系。 在曲线曲面理论中,所要考察的在于两个方面: 曲线曲面的整体,而不是组成这个整体的各个分量; 曲线曲面上点之间的相对位置关系,而不是它们与所取坐标系之间的相对位置关系。 ☆图形表示问题 ☆参数化表示 ● 曲线参数化 ◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质 ● 曲面参数化 ◘ 参数化性质 ● 参数化的优点 ● 参数化基表示 ◘ 几何不变性 ☆离散点表示 曲线曲面参数化表示问题
☆图形表示问题 ☆参数化表示 ● 曲线参数化 ◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质 ● 曲面参数化 ◘ 参数化性质 ● 参数化的优点 ● 参数化基表示 ◘ 几何不变性 ☆离散点表示 曲线参数化概念 • 空间曲线上一点P的每个坐标被表示为某个参数u的函数: x=x(u), y=y(u), z=z(u), • 位置矢量:三个坐标分量就组成曲线上该点的位置矢量,曲线就可表示为参数u的矢函数: P(u)=(x(u),y(u),z(u))。 • 参数区间:描述形状的参数曲线总是有界的,可以方便地用参数区间表示: u∈[u1,u2],或u1≤u≤u2。 • 参数曲线里的参数可能具有某种几何意义, • 如:圆参数方程P(θ)=(rcosθ,rsinθ)(0≤θ≤π/2)中的参数θ; • 参数曲线里的参数也可能无任何几何意义, • 如:三次多项式方程x(u)=axu3+bxu2+cxu+dx(0≤u≤1)中的参数u。
☆图形表示问题 ☆参数化表示 ● 曲线参数化 ◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质 ● 曲面参数化 ◘ 参数化性质 ● 参数化的优点 ● 参数化基表示 ◘ 几何不变性 ☆离散点表示 曲线参数化方法 • 对于标量显函数方程如y=y(x),只需: • 将其中变量换成参数u; • 将函数值y换成位置矢量P(u); • 将标量系数相应换成为系数矢量; • 各阶导数d(k)y/dxk换成导数矢量d(k)P(u)/duk。 • 由于在许多参数形式之前就存在相应的非参数形式(如:三次样条曲线有三次样条函数,Bézier曲线有Bernstein基函数等),所以,这种对应关系与替换绝非是等价的。 • 而对于非参数形式下的隐方程,则可转换成等价的参数形式,只需把所含各坐标都分别表示成某一参数的函数,使它们适合于该隐式方程。
u1 u2 P(u2) P(u) u P(u1) u u ☆图形表示问题 ☆参数化表示 ● 曲线参数化 ◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质 ● 曲面参数化 ◘ 参数化性质 ● 参数化的优点 ● 参数化基表示 ◘ 几何不变性 ☆离散点表示 曲线参数化:对应关系 • 曲线形状确定后,曲线上的点与参数域内的点的对应关系是指:曲线上点沿曲线弧长的分布情况与点的参数值在参数域的分布情况之间对应。 • 这种对应关系与参数选取有关:仅在曲线取自身弧长或弧长的线性函数为参数时,参数域内线段长度之比才等于曲线上对应曲线段弧长之比。 • 在正常情况下,曲线上参数为u 的点P(u)与参数u轴上定义域内的点一一对应。 • 凡在曲线上这种映射关系不成立的点称为奇点。 • 曲线的自交点,即重点对应两个参数值就是奇点。 • 同一条曲线的参数化不是唯一的: • 差别:曲线上点与参数域内的点之间的对应关系不同。
☆图形表示问题 ☆参数化表示 ● 曲线参数化 ◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质 ● 曲面参数化 ◘ 参数化性质 ● 参数化的优点 ● 参数化基表示 ◘ 几何不变性 ☆离散点表示 曲线的参数化:性质 • 曲线上的点是参数u的矢函数。 • 曲线对参数u求导数等于其各分量对参数u求导,其结果为一矢量,称为导矢;一阶导矢称为切矢。 • 切矢以及各阶导矢都是相对矢量,可在空间内任意平移。 • 曲线上切矢为非零矢量的点称为正则点。若曲线在其参数域内处处切矢为非零矢量,则称该参数化为正则的,所定义的曲线称为正则曲线。 • 曲线采用参数表示后,就有了方向。 • 曲线的方向对应于曲线上参数增加的方向。 • 曲线在一点的方向就是曲线在该点的切矢方向。 • 若曲线某点的切矢为零向量,则该点的方向可由在该点处的最低阶的非零导矢的方向决定。
v P(u,v) v2 v (u,v) u v1 u1 u2 u ☆图形表示问题 ☆参数化表示 ● 曲线参数化 ◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质 ● 曲面参数化 ◘ 参数化性质 ● 参数化的优点 ● 参数化基表示 ◘ 几何不变性 ☆离散点表示 曲面的参数化:概念 • 曲面可表示为参数u、v的矢函数P=P(u,v)描述。 • 曲面的范围 • 常用两个参数的变化区间所表示的uv参数平面上的一个矩形区域:u1≤u≤u2、v1≤v≤v2给出。 这样就相应得到具有四条边界的曲面即矩形曲面。 • 也可定义在uv参数平面的某一区域£上,用u,v∈£给出。 • 正常情况下,参数域内的点与曲面上的点构成一一对应的映射关系。曲面上这种映射关系不成立的点为曲面的奇点。 • 给定一个具体的曲面的方程,称之为给定了一个曲面的参数化。 • 它既决定了所表示曲面的形状,也决定了该曲面上的点与其参数域内的点之间的一种对应关系。
☆图形表示问题 ☆参数化表示 ● 曲线参数化 ◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质 ● 曲面参数化 ◘ 参数化性质 ● 参数化的优点 ● 参数化基表示 ◘ 几何不变性 ☆离散点表示 曲面的参数化:性质 • 曲面的参数化不是唯一的。 • 参数曲面上存在两簇等参数线:一簇u线和一簇v线: • 固定uv两参数中的一个(u=u0或v=v0)而使曲面方程成为单参数P=P(u0,v)或P=P(u,v0)的矢函数,表示曲面上一条以v或u为参数的曲线(u线或v线)。 • 曲面上任一点处总有一个u向切矢pu(u线关于u的偏导矢)和一个v向切矢pv(v线关于v的偏导矢)。 • 若该点处两个切矢不平行,即pu×pv≠0的点称为曲面的正则点。 • 曲面上pu×pv=0的点是曲面上的一种奇点。 • 这种奇点与曲线上一阶导矢为零矢量的奇点不同: • 前者有可能因两非零导矢平行或退化边引起,就可由重新参数化(参数变换)消除; • 后者由曲线的重新参数化可能消除不了。
☆图形表示问题 ☆参数化表示 ● 曲线参数化 ◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质 ● 曲面参数化 ◘ 参数化性质 ● 参数化的优点 ● 参数化基表示 ◘ 几何不变性 ☆离散点表示 参数表示的优点 • 与非参数相比,参数方法具有优点: • 几何不变性:总是能选取那些具有几何不变性的参数曲线曲面表示形式,且能通过某种变换处理使某些不具有几何不变性的形式具有几何不变性。 • 易于规定曲线、曲面的范围。 • 易于表示空间曲线。 • 易执行仿射变换和投影变换。 • 易于计算曲线、曲面上的点及其它信息。 • 易于处理多值问题。 • 易于处理无穷大斜率。 • 便于曲线的分段、分片描述。 • 提供对曲线、曲面形状控制的较多自由度。 • 为向高维问题推广提供了可能性。 • 隐式方程在曲线和曲面上点相对位置的判断和求交方面具有优势。
☆图形表示问题 ☆参数化表示 ● 曲线参数化 ◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质 ● 曲面参数化 ◘ 参数化性质 ● 参数化的优点 ● 参数化基表示 ◘ 几何不变性 ☆离散点表示 曲线曲面的基表示 • 曲线曲面可由某一组基函数及其相联系的系数矢量来给出: • ai为系数矢量; • p(·)与φi(·)根据曲线和曲面而有所不同: • 对于曲线,p(·)与φi(·)分别为单参数的矢函数及以该参数为变量的基函数; • 对于曲面,p(·)与φi(·)分别为双参数的矢函数及其以双参数为变量的基函数; • 上式称为曲线曲面的基表示。 • 表示曲线、曲面的数学方法不同就表现在所采用的基函数不同。 • 基函数一旦决定,系数矢量也就完全定义了曲线、曲面。
☆图形表示问题 ☆参数化表示 ● 曲线参数化 ◘ 参数化方法 ◘ 对应关系 ◘ 参数化性质 ● 曲面参数化 ◘ 参数化性质 ● 参数化的优点 ● 参数化基表示 ◘ 几何不变性 ☆离散点表示 基表示的几何不变性 • 按照所采用基函数的规范程度,基表示可分为三种类型: • 规范基表示:曲线或曲面上的整体满足柯西条件: • 例如:线性插值:P(u)=(1-u)P0+uP1。 • 部分规范基表示:曲线或曲面上的部分段(片)满足: 例如:P(u)=a0+a1u。 • 非规范基表示:除了上述两种以外的情况。 • 例如:P(u)=(1-u)2P0+u2P1。 • 曲线曲面表示的几何不变性是指它们不依赖于坐标系选择,或者说在旋转与平移变换下不变的性质。 • 规范基和部分规范基表示具有几何不变性; • 而非规范基表示不具有几何不变性。
曲线和曲面可由给定数学函数生成,或由用户给定一组数据点生成。曲线和曲面可由给定数学函数生成,或由用户给定一组数据点生成。 数学函数:规则曲线和规则曲面: 圆、抛物线、螺旋线等曲线和球、圆柱、圆锥等曲面都不难用数学方程式表示出来,这类曲线和曲面分别称为规则曲线和规则曲面。 数据点:自由曲线和自由曲面: 曲线和曲面的形状相当自由又不规则,如飞机机翼、汽车车身、人体外形、卡通形象等,很难用数学式表示,这样的曲线和曲面分别称为自由曲线和自由曲面。 当用离散坐标点来指定物体形状时,则要根据应用要求得到最贴近这些点的函数式描述。 样条是这类曲线和曲面的范例。 ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 曲线曲面的离散点表示
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 离散点拟合曲线和曲面的方式 • 自由曲线和自由曲面一般通过少数分散的点生成,这些点叫做“型值点”、“样本点”或“控制点”。 • 要根据应用要求得到最贴近这些点的函数式描述。这种情况称为“曲线曲面的拟合” • 在进行曲线曲面拟合时,一般遇到以下三种情况: • 插值:利用一些数学方法是曲线曲面按要求通过已知的点,而且具有一定的光滑流畅程度。 • 逼近:曲线曲面不一定通过给定的点,但是靠近各点,每个点对曲线曲面都有某种看不见的吸引力。 • 设计:已知的点太少,需要根据实际情况增加一些控制点,然后用上述两种方法之一生成曲线曲面。
φ φ 1 1 Φ0=1-t Φ1=t 1 1 t t ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ◘ 样条曲线概念 ◘ 样条曲线应用 ◘ 样条曲线分类 ◘ 参数样条性质 ◘ 样条统一表示 ◘ 样条基函数 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 参数样条曲线 • 参数样条曲线可从“参数”和“样条”这两个意思上去理解。 • 参数是指曲线方程中使用的自变量,当它在某个范围内改变时,对应坐标点在曲线上移动。 • “参数曲线”是指用参数作为自变量的函数曲线, • 有时使用参数曲线可简化矢量表示形式。 • 例如,直线段的矢量形式为: P(t)=(1-t)P0+tP1; • 其参数形式可抽象为: P(t)=φ0(t)P0+φ1(t)P1, • 式中:φ1(t)为(1-t),φ1(t)为t。φ1(t)和φ1(t)叫做“混合函数”、“权函数”或“基函数”, 它们表示随着t从0到1变化,P0和P1对整个线段所作的贡献。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ◘ 样条曲线概念 ◘ 样条曲线应用 ◘ 样条曲线分类 ◘ 参数样条性质 ◘ 样条统一表示 ◘ 样条基函数 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 样条曲线的概念 • 在绘图术语中,样条是通过一组指定点集来生成平滑曲线的柔性带。 • 样条原指一种绘图工具,它用柔软细长的弹性木条或金属条构成。绘图员可使之弯曲变形,以便通过若干已知的数据点,然后用铅笔顺着它将曲线绘出。 • 实际上,曲线绘制时,几个小的“权重”沿“柔性钢条” 长度分配,并固定在绘图位置上绘制的曲线。 • 数学中的样条含意是指模仿上述过程的一种的数学方法,用这种方法生成的曲线叫做“样条曲线”: • 样条曲线通常有多段低次曲线段构成,用分段多项式函数来描述,其连接处有连续的一次和二次导数 。 • 其中三次样条曲线段最为常见:所谓三次是指曲线用多项式表示时,多项式中幂的最高次数是3。 • 参数样条曲面通过用两个参数对样条曲线的推广获得。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ◘ 样条曲线概念 ◘ 样条曲线应用 ◘ 样条曲线分类 ◘ 参数样条性质 ◘ 样条统一表示 ◘ 样条基函数 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 样条曲线的应用 • 在计算机图形学中, • 样条曲线指由多项式曲线段连接而成的曲线。 • 在每段的边界处满足特定连续条件。 • 样条曲面可用两组正交样条曲线来描述。 • 在图形学应用中使用几个不同的样条描述 • 每种描述是一个带有某特定边界条件多项式的特殊类型。 • 用来设计曲线和曲面形状; • 用来对图形数字化以便存入计算机; • 用来标识场景中物体或摄影的动画途径。 • 样条曲线由控制点定义、建模和管理。 • 控制点给出曲线的大致形状。 • 通过交互选择控制点空间位置,经多项式拟合后可显示初始曲线。 • 设计者可重定位部分或全部控制点以重建曲线的形状, • 通过对控制点进行变换,可平移、旋转或缩放曲线。 • CAD软件包可插入另外的控制点来调整曲线形状。
插值与逼近样条 ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ◘ 样条曲线概念 ◘ 样条曲线应用 ◘ 样条曲线分类 ◘ 参数样条性质 ◘ 样条统一表示 ◘ 样条基函数 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 参数样条分类:插值和逼近 • 根据控制点选取分段连续多项式函数: • 若选取的多项式使所得曲线通过每个控制点,则所得曲线称为这组控制点的插值样条曲线; • 插值曲线常用于绘图或动画设计, • 若多项式选取使得曲线不一定通过每个控制点,所得曲线称为这组控制点的逼近样条曲线。 • 逼近曲线一般用来构造物体表面。
样条曲线凸包 控制多边形 ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ◘ 样条曲线概念 ◘ 样条曲线应用 ◘ 样条曲线分类 ◘ 参数样条性质 ◘ 样条统一表示 ◘ 样条基函数 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 参数样条性质 • 包围一组控制点的凸多边形边界称为凸包。 • 凸包提供曲线或曲面与围绕控制点区域间偏差的测量。 • 凸包内部的多边形区域也可用于裁剪等算法。 • 对于逼近样条,连接有一定次序控制点的直线序列通常称作曲线的控制图或控制多边形和特征多边形。 • 设计时,控制多边形通常显示以提醒设计者控制点的次序。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ◘ 样条曲线概念 ◘ 样条曲线应用 ◘ 样条曲线分类 ◘ 参数样条性质 ◘ 样条统一表示 ◘ 样条基函数 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 参数样条的统一表示方法 • 假设沿样条段路径有下列关于x坐标的三次参数多项式表示: x(u)=axu3+bxu2+cxu+dx,(0≤u≤1)(1) • 曲线的边界条件可设为:端点坐标和端点处的一阶导数。 这四个边界条件是决定系数ax、bx、cx和dx值的充分条件。 • 根据边界条件,将方程(1)写为矩形乘积形式: x(u)=[u3u2 u 1][axbxcxdx]T=U·C(2) • U是参数u幂次行矩阵,C是系数列矩阵。 • 运用方程(2)可写出矩阵形式的边界条件,并求得系数矩阵: C=Mspline·Mgeom(3) • Mgeom是包含样条几何约束值(边界条件)的4元素列矩阵 • 包含控制点的坐标值和其它已被指定的几何约束。 • Mspline是4×4矩阵,它将几何约束值转化成多项式系数且提供样条曲线特征,有时称基本矩阵,对样条表示间的转换特别有用。 • 这样,方程(2)可表示为: x(u)=U·Mspline·Mgeom(4)
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ◘ 样条曲线概念 ◘ 样条曲线应用 ◘ 样条曲线分类 ◘ 参数样条性质 ◘ 样条统一表示 ◘ 样条基函数 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 参数样条基函数表示方法 • 扩展方程(4)可得到关于坐标x的几何约束参数多项式表示: • ai是约束参数, • 如控制点坐标和控制点处的曲线斜率; • φi(u)是多项式混合函数或基函数。 • 有三个等价方法来计算特定样条曲线路径位置的混合函数或基函数: • 列出一组加在样条上的边界条件; • 列出刻划样条特征的行列式; • 列出确定如何组合指定的曲线几何约束。
P0,3 P1,3 P2,3 P0,2 P1,2 P3,3 P2,2 P0,1 P1,1 P2,1 P3,2 P3,1 P0,0 P1,0 P2,0 (a) P3,0 (b) ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ◘ 参数连续性 ◘ 参数连续应用 ◘ 几何连续性 ◘ 连续性比较 ◘ 光顺性准则 ◘ 光顺性应用 ● 三次插值样条 ● 插值样条类型 参数样条的连接性质 • 通常,曲线曲面都是由多个曲线段或曲面片构成。 • 为保证分段参数曲线从一段到另一段平滑过渡,可在连接点处要求各种连续性条件。 • 曲线曲面连接的连续性类型 • 参数连续性; • 几何连续性。
(a) (b) (c) ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ◘ 参数连续性 ◘ 参数连续应用 ◘ 几何连续性 ◘ 连续性比较 ◘ 光顺性准则 ◘ 光顺性应用 ● 三次插值样条 ● 插值样条类型 参数连续性条件 • 参数连续性是通过在曲线段公共部分匹配参数导数来建立的。 • 0阶参数连续性:记作C0连续,是指曲线相连, • 即第一个曲线段在u2处的x、y、z值与第二个曲线段在u1处的x、y、z值相等; • 一阶参数连续:即C1连续性,指代表两个相邻曲线段的方程在相交点处有相同的一阶导数(切线)。 • 二阶参数连续性:即C2连续性,是指两个曲线段在交点处有相同的一阶和二阶导数; • 高阶参数连续性可类似定义。
(a) (b) (c) ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ◘ 参数连续性 ◘ 参数连续应用 ◘ 几何连续性 ◘ 连续性比较 ◘ 光顺性准则 ◘ 光顺性应用 ● 三次插值样条 ● 插值样条类型 参数连续性应用 • 连续性性质与应用 • 对二阶连续性,交点处的切向量变化率相等,这样,切线从一个曲线段平滑地变化到另一个曲线段。 • 二阶连续性对电影中的动画途径和很多精密CAD需求有用。 • 但对一阶连续性,两段的切向量变化率可能会不同,因此两个相连曲线段总的形状会有突变。 • 一阶连续性对数字化绘画及一些设计应用已经足够。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ◘ 参数连续性 ◘ 参数连续应用 ◘ 几何连续性 ◘ 连续性比较 ◘ 光顺性准则 ◘ 光顺性应用 ● 三次插值样条 ● 插值样条类型 几何连续性条件 • 几何连续性条件只需两曲线段在相交处的参数导数成比例而不是相等。 • 0阶几何连续性,记为G0,与0阶参数连续性相同,即两个曲线段必在公共点处有相同的坐标; • 一阶几何连续性,记为G1连续性,指一阶导数在两个相邻段的交点处成比例。 • G1连续下,相邻曲线段在交点处切向量的大小不一定相等。 • 二阶几何连续性,记为G2,指两个曲线段在相交处其一次和二次导数均成比例。简称曲率连续。 • G2连续性下,两个曲线段在交点处的曲率相等。
C2 P2 P1 P’1c1=P’1c2 P0 C1 (a) P2 C3 P’1c1<P’1c3 P1 P0 C1 (b) ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ◘ 参数连续性 ◘ 参数连续应用 ◘ 几何连续性 ◘ 连续性比较 ◘ 光顺性准则 ◘ 光顺性应用 ● 三次插值样条 ● 插值样条类型 几何连续性和参数连续性比较 • 生成带有几何连续条件的曲线与生成带有参数连续条件的曲线有一些类似,但二者曲线形状有点差别。 • 对几何连续性,曲线弯向较大的切向量。 • 在函数曲线中,参数连续性(可微性)与几何连续性(光滑度G2)是一致的; • 在参数曲线里,仅当曲线为正则时,这种一致性保持成立。 三个控制点拟合成两曲线段并带有(a)参数连续性;(b)几何连续性。 其中曲线C3上P1点处的切向量值比曲线C1上P1点处的切向量值大。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ◘ 参数连续性 ◘ 参数连续应用 ◘ 几何连续性 ◘ 连续性比较 ◘ 光顺性准则 ◘ 光顺性应用 ● 三次插值样条 ● 插值样条类型 曲线曲面的光顺性准则 • 光顺性(smoothness或fairness)是曲线曲面中很普遍又很重要的概念。目前关于光顺性的准则存在不同的提法,缺乏统一的判据。 • 过同一数据点且具有相同边界几何约束的两条平面插值曲线相对光顺性的四项判据或准则: • 二阶几何连续(G2连续); • 不存在奇点与多余的拐点; • 曲率变化较小; • 应变能较小。 • 边界几何约束是指边界条件中与参数无关的几何信息, • 如:切线方向与曲率, • 不包括与参数有关的那些信息,如切矢模长。 • 之所以要求几何连续而不是参数连续 • 参数连续不一定能保证切线方向与曲率连续。这是参数曲线与函数曲线的明显不同之处。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ◘ 参数连续性 ◘ 参数连续应用 ◘ 几何连续性 ◘ 连续性比较 ◘ 光顺性准则 ◘ 光顺性应用 ● 三次插值样条 ● 插值样条类型 曲线曲面的光顺性应用 • 目前曲线曲面的光顺性大多是由相对曲率随弧长变化的图形即曲率图来衡量的: • 一条曲线是光顺的,如果它的曲率图是连续的且仅由一些单调段组成。 • 对于插值曲线,光顺法通常是指通过修改数据点以使生成的插值曲线或曲面光顺性得到改善的方法: • 这种方法是以参数连续性为基础的,以牺牲所谓“坏点”的位置精度,来换取曲线曲面的光顺性的改善。 • 几何连续性将曲线的光顺变成利用所提供的形状参数对曲线进行形状控制。 • 除非特别需要,它无需调整数据点,这为光顺性问题的解决提供了豁然洞开的境地。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 三次插值样条曲线 • 插值样条大多用来建立物体运动路径或提供实体表示和绘画,有时也用来设计物体形状。 • 三次多项式在灵活性和计算速度之间提供了一个合理的折衷方案: • 与更高次多项式相比,三次样条只需较少的计算和存储且较稳定; • 与低次多项式相比,三次样条在模拟任意曲线形状时显得更灵活。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 三次插值样条生成方法 • 基本思想:给出一组控制点,可得到通过每个控制点的分段三次多项式曲线的三次插值样条。 • 假设有n+1个控制点,坐标分别为: Pk=(xk,yk,zk),k=0,1,2,……n。 • 用下列方程组来描述拟合每对控制点的参数三次多项式: x(u)=axu3+bxu2+cxu+dx;y(u)=ayu3+byu2+cyu+dy; z(u)=azu3+bzu2+czu+dz。 这三个方程中的每一个都必须定出多项式中的四个系数a,b,c,d值, • n+1个控制点产生n个曲线段,每一段都有上述问题,需确定4n个多项式系数。 • 通过在二个曲线段交点处设置足够的边界条件(不同生成方法),可得到所有系数值。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 自然三次插值样条 • 自然三次样条具有C2连续性,用公式表示时需要两个相邻曲线段在公共边界处有相同的一阶和二阶导数。 • 每一个内控制点(P0和Pn之外的n-1个)有四个边界条件: • 在该控制点两侧的两个曲线段在该点处有相同的一阶和二阶导数;(2n-2个方程) • 两个曲线段都要通过该点。(2n-2个方程) • 这给出了由4n个多项式系数组成的4n-4个方程; • 再给出从控制点P0(曲线起点)和从控制点Pn(曲线终点)所得的两个方程; • 最后增加二个条件:设P0和Pn处的二阶导数为0。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 自然三次插值样条 • 另一方法是: • 在控制点序列的两端增加二个“隐含”控制点, • 即:增加P-1和Pn+1控制点,使原来所有控制点都成了内点,有所需的4n个边界条件。 • 尽管自然三次样条是绘图样条的一个数学模型,但它有一个主要缺点: • 如果控制点中的任一个改动,会影响整个曲线。 • 也就是说: • 自然三次样条不允许“局部控制”,不给出完整的新控制点集,不可能部分构造曲线。
Hermite样条的每个曲线段仅依赖于端点约束,可局部调整。Hermite样条的每个曲线段仅依赖于端点约束,可局部调整。 Hermite样条是一个分段三次多项式,并在每个控制点有给定切线。 在控制点Pk和Pk+1间的曲线段是参数三次函数为p(u),Hermite曲线段的边界条件是: P(0)=Pk; P′(0)=DPk; P(1)=Pk+1; P′(1)=DPk+1。 其中:DPk和DPk+1是在控制点Pk和Pk+1处相应的导数值(曲线的斜率)。 Hermite曲线段的向量方程为: P(u)=au3+bu2+cu+d,0≤u≤1, 其中P的分量x是: x(u)=axu3+bxu2+cxu+dx, 对分量y和z具有同样形式。 ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 Hermite插值曲线:边界条件 Pk+1 P(u)=(x(u),y(u),z(u)) Pk
以0和1代入Hermite曲线段矩阵方程中的u,可把Hermite边界条件表示为矩阵形式:以0和1代入Hermite曲线段矩阵方程中的u,可把Hermite边界条件表示为矩阵形式: ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 Hermite插值曲线:方程求解 • 该方程对多项式系数求解,有: 其中:MH是Hermite矩阵,是边界约束矩阵的逆矩阵。 • 使用边界条件,矩阵方程可以写成:
算出上述方程中的矩阵乘积且合并满足边界约束的函数,得到多项式形式。算出上述方程中的矩阵乘积且合并满足边界约束的函数,得到多项式形式。 最后,可得到混合函数的表达式: P(u)=Pk(2u3-3u2+1)+Pk+1(-2u3+3u2)+Dpk(u3-u2+u)+Dpk+1(u3-u2) P(u)=PkH0(u)+Pk+1H1(u)+DpkH2(u)+Dpk+1H3(u) 多项式Hk(u)(k=0,1,2,3)称为混合函数 它们混合了边界约束值(终点坐标和斜率)来得到曲线上每个坐标点位置。 Hermite多项式是通过估算出曲线斜率来插值的。 但对计算机图形学的大部分问题而言,除了控制点坐标外,更好的做法是不输入曲线斜率值或其它几何信息就生成样条曲线。 Cardinal样条和Kochanek-Bartels样条这二种Hermite样条上的变化形式就仅由控制点的坐标位置计算出导数。 ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 Hermite插值曲线的基函数表示
Cardinal样条也是插值分段三次曲线,且每曲线段终点处均指定切线。Cardinal样条也是插值分段三次曲线,且每曲线段终点处均指定切线。 与Hermite样条的区别是: 不一定要给出终点的切线值。 一个控制点处斜率值可由两个相邻控制点坐标来计算。 Cardinal样条由四个连续控制点给出(如右图): 中间两个控制点是曲线段端点, 另二个点用来计算终点斜率。 在控制点Pk和Pk+1间Cardinal样条段的参数向量函数P(u),其端点处的切向量正比于由相邻控制点所形成的弦。 ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 Cardinal样条
设P(u)是两控制点Pk和Pk+1间的参数三次函数式,则从Pk-1到Pk+2间的四个控制点用于建立Cardinal样条段的边界条件:设P(u)是两控制点Pk和Pk+1间的参数三次函数式,则从Pk-1到Pk+2间的四个控制点用于建立Cardinal样条段的边界条件: P(0)=Pk; P′(0)=(1-t)(Pk+1–Pk-1)/2; P(1)=Pk+1; P′(1)=(1-t)(Pk+2–Pk)/2 。 控制点Pk和Pk+1处的斜率分别与弦Pk-1Pk+1和PkPk+2成正比。 参数t控制Cardinal样条与输入控制点间的松紧程度,称为张量(tension)参数。 P(u) Pk+1 Pk Pk-1 Pk+2 t<0 (较松曲线) t>0 (较紧曲线) 张力参数在Cardinal样条段形状中所起的作用 ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 Cardinal样条的边界条件
用类似Hermite样条中的方法,可将边界条件转换成矩阵形式:用类似Hermite样条中的方法,可将边界条件转换成矩阵形式: 将矩阵方程展开成多项式形式,可得到混合函数表达式: P(u)=Pk-1(-tu3+2tu2-tu)+Pk[(2-t)u3+(t-3)u2+1] +Pk+1[(t-2)u3-(t-2)u2+tu]+Pk+2(tu3-tu2) P(u)=Pk-1CAR0(u)+PkCAR1(u)+Pk+1CAR2(u) +Pk+1CAR3(u) 这里多项式CARk(u)(k=0,1,2,3)称为Cardinal混合函数,它们混合了边界约束值(终点坐标和斜率)来得到曲线上每个坐标点位置。 ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 Cardinal样条基表示 • MC是Cardinal矩阵,表示为:
这类插值三次多项式是Cardinal样条的扩展。将二个附加参数引入到约束方程中而得到的Kochanel-Bartels样条对调整曲线段形状更加方便。这类插值三次多项式是Cardinal样条的扩展。将二个附加参数引入到约束方程中而得到的Kochanel-Bartels样条对调整曲线段形状更加方便。 给出四个连续控制点Pk-1、Pk、Pk+1和Pk+2,Pk和Pk+1间的Kochanek-Bartels曲线段中的边界条件定义为: P(0)=Pk; P(1)=Pk+1; P′(0)in=(1/2)(1-t)[(1+b)(1-c)(pk-pk-1)+(1-b)(1+c)(pk-1-pk)]; P′(1)out=(1/2(1-t)[(1+b)(1+c)(pk+1-pk)+(1-b)(1-c)(pk+2-pk+1)] 其中: t是张量参数, b是偏离(bias)参数, c是连续参数。 Kochanek-Bartels公式中导数在曲线段边界处不一定连续。 ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 Kochanek-Bartels样条
张量参数t象在Cardinal样条中一样有同样的作用,即,它控制曲线段的松紧。张量参数t象在Cardinal样条中一样有同样的作用,即,它控制曲线段的松紧。 偏离参量b用来调整曲线段在端点处弯曲的数值,曲线段可以偏向一个端点或另一个端点; 参数c控制切向量在曲线段边界处的连续性:若c取非零值,则曲线在曲线段边界处的斜率不连续。 Kochanek-Bartels样条的设计是为了模拟动画途径的。 特别当物体运动有突变时,可由参数c取非零值去模拟。 P2 P2 P3 P3 P1 P1 P0 P0 P4 P4 b<0 b>0 偏离参数b在样条段形状中所起的作用 ☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ◘ 插值样条生成 ◘ 自然插值样条1 ◘ 自然插值样条2 ◘ Hermite边界条件 ◘ Hermite方程求解 ◘ Hermite基函数 ◘ Cardinal样条 ◘ Cardinal边界条件 ◘ Cardinal基函数 ◘ K-B样条 ◘ K-B样条性质 ● 插值样条类型 Kochanek-Bartels样条
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 ◘ 插值样条类型 ◘ 插值样条性质 ◘ 插值样条性质 三次插值样条类型 按所取基底或基表示形式划分: • 整体上,曲线是定义在同一参数分割上的三次样条函数: • 当参数分割△u确定后 • 参数三次样条就由n+1个数据点及两个边界完全定义。 • 即:分割上三次样条函数的全体构成n+3维线性空间,其中任一组n+3个线性无关的三次样条函数都可作为一组基。 • 从分段考虑,每个样条段是参数三次曲线 • 在基选定后,由四个系数矢量定义,共有4n个自由度,而相邻样条段在n-1个节点处必须满足位置、切矢和二阶导矢连续(即C2),共3(n-1)个约束,总自由度依然为n+3。 • 参数三次样条曲线的基也有分段和整体的表示形式。有: • Hermite分段形式; • 幂基分段形式; • 基样条(cardinal Spline)整体形式; • B样条形式。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 ◘ 插值样条类型 ◘ 插值样条性质 ◘ 插值样条性质 三次插值样条类型 按所取数据点的参数化方法划分: • 均匀参数三次样条曲线:取均匀参数分割,即节点在参数轴上呈等距分布,△u=ui+1-ui=常数。 • 仅适于数据点多边形各边(或称弦)接近相等的场合。 否则,曲线在弦长较长区间会显得扁平,弦长较短区间则臌的厉害。 • 积累弦长参数三次样条曲线:取分割u0=0,ui=ui-1+|△pi-1|, 其中:△pi-1= pk+1-pk为向前差分矢量,即弦线矢量。 • 如实地反映数据点按弦长的分布情况。 在数据点足够密且插值法具有收敛性质时,将生成近似弧长参数曲线。 • 向心参数三次样条曲线:取分割u0=0,ui=ui-1+|△pi-1|1/2,假设曲线弧上的向心力与曲线切矢转角成正比。 • 修正弦长参数三次样条曲线: • 取分割u0=0,ui=ui-1+ki|△pi-1|, ki≥1; 修正实际弦长偏短于弧长并减缓“切向速度”。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 ◘ 插值样条类型 ◘ 插值样条性质 ◘ 插值样条性质 参数三次插值样条的性质(1) • 参数三次样条曲线具有决定自身的分段为参数三次样条多项式与整体具有二阶连续性的基本性质外,用作插值曲线时,还具有如下性质: • 存在唯一性:这由求解未知切矢的线性方程组的系数矩阵为非奇异所决定。 • 这表明:当数据点、边界条件与参数分割确定后,所定义的参数三次样条曲线就是唯一的。 • 收敛性:如果数据点取自某已知的或未知的被插曲线,且所取数据点不断加密时,所生成的参数三次样条趋向序列将收敛到被插曲线。 • 可用来在局部范围内适当加密数据点而构造插值曲线中局部曲率变化较大的部分形状。 • 但参数多项式曲线作为插值曲线时,加密数据点很可能产生适得其反的效果。
☆图形表示问题 ☆参数化表示 ☆曲线曲面性质 ☆离散点表示 ● 离散生成方式 ● 参数样条表示 ● 样条表示性质 ● 三次插值样条 ● 插值样条类型 ◘ 插值样条类型 ◘ 插值样条性质 ◘ 插值样条性质 参数三次插值样条的性质(2) • 计算稳定:改动一点或端点处边界条件对样条曲线的影响,将随着与该点相隔段数的增多而迅速衰减。 • 而高次多项式插值曲线在某一点的微小变化可能在别处引起较大的变化。 • 整体性:尽管改动一点或端点处边界条件的影响随与相隔段数的增多而迅速衰减,但毕竟其影响将波及整条曲线。 • 使其不便于进行局部修改。 • 不存在额外的用于曲线形状控制的自由度:可以说是唯一性使其失去了灵活性。参数三次样条曲线是在参数连续性的基础上来解决连接问题,它同时也带来了用参数连续性度量连接光滑性所出现的弊病。 • 不易控制:事先无法估计曲线的范围,修改数据点引起曲线的形状变化难以预料。