接上文 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)
计算机图形学三大块内容:光栅图形显示(前面已经介绍完了 1-8)、几何造型技术、真实感图形显示。光栅图形学是图形学的基础,有大量的思想和算法。
接下来继续学习几何造型技术。
几何造型技术是一项研究在计算机中,如何表达物体模型形状的技术。
描述物体的三维模型有三种:
- 线框模型:用顶点和边来表示物体
- 曲面模型:只描述物体的表面和表面的连接关系,不描述物体内部的点的属性
- 实体模型:不但有物体的外观而且也有物体内部的点描述
虽然这三种模型各有优缺点,但是随着时间发展,线框模型和实体模型都被曲面模型给取代了。现在主要研究的是曲面模型。
7.1 曲线曲面参数表示
曲线曲面基础
显式、隐式和参数表示
曲线和曲面的表示方程有参数表示和非参数表示之分,非参数表示又分为显式表示和隐式表示。
对于一个平面曲线,显式表示一般形式是:y = f(x)
在此方程中,一个 x 值与一个 y 值对应,所以显式方程不能表示封闭或多值的曲线。
如果一个平面曲线方程,表示成 f(x , y) = 0 的形式,称之为隐式表示。隐式表示的优点是易于判断一个点是否在曲线上。
显式或隐式表示 存在的问题
- 与坐标轴有关
- 用显式函数表示会存在多值性
- 用隐式函数表示不直观,作图不方便
- 会出现斜率为无穷大的情形
参数方程
为了克服以上问题,曲线曲面方程通常表示成参数的形式。
二维上,假定用 t 表示参数,平面曲线上任意一点 P 可表示为:P(t)=[ x(t),y(t)]
三维上,假定用 t 表示参数,空间曲线上任意一三维点 P 可表示为:P(t)=[ x(t),y(t) , z(t)]
它等价于笛卡尔分量表示:P(t)= x(t)i + y(t)j + z(t)k
这样,给定一个 t 值,就可以得到曲线上一点的坐标。
参数曲线一般可以写成:p = p(t) t ∈[ 0 , 1 ]
类似地,参数曲面可以表示成:p(u , v)= p(x(u,v), y(u,v),z(u,v)) (u,v)∈[ 0 , 1 ] ×[ 0 , 1 ]
最简单的参数曲线是直线段,端点为 p1,p2 的直线段参数方程可表示为:p(t)= p1 +(p2-p1)t t ∈[ 0 , 1 ]
参数方程的优势
在曲线、曲面的表示上,参数方程比显式、隐式方程有更多的优越性,主要表现在:
- 可以满足几何不变性的要求:即指形状的数学表示及其所表达的形状不随所取坐标系而改变的性质
- 有更大的*度来控制曲线、曲面的形状
- 直接对参数方程进行几何变换
- 便于处理斜率为无穷大的情形,不会因此而中断计算
- 界定曲线、曲面的范围十分简单
- 易于用向量(矢量)和矩阵运算,简化计算
7.2 参数曲线基本概念
这部分内容完全来自于微分几何。微分几何是用微分的方法来研究曲线的局部性质,如曲线的弯曲程度等。
一条用参数表示的三维曲线是一个有界的点集,可以写成一个带参数的、连续的、单值得数学函数,其形式:
位置矢量
曲线上任意一个点的位置矢量可以表示为:P(t)=[ x(t),y(t) , z(t)]
切矢量
曲率
切向量求导,求导以后还是一个向量,称为曲率,其几何意义是曲线的单位切向量对弧长的转动率,即刻画这一点的曲线的弯曲程度。
法矢量
法矢量是与切矢量垂直的向量。
挠率
空间曲线不但要弯曲,而且还要扭曲,即要离开它的密切平面。为了能刻画这一扭曲程度,等价于去研究密切平面的法矢量(即曲线的副法矢量)关于弧长的变化率。
插值
*曲线和*曲面一般通过少数分散的点生成,这些点叫做“型值点”、“样本点”或“控制点”。
下方是插值曲线的例子:
把插值曲线推广到曲面的话,则是插值曲面。
构造插值曲线曲面所采用的的数学方法称为曲线曲面插值法。
线性插值
抛物线插值
拟合
构造一条曲线使之在某种意义下最接近给定的数据点(但未必通过这都些点),所构造的曲线为拟合曲线。
在计算数学中,逼近通常指用一些性质比较好的函数近似表示一些性质不好的函数。在计算机图形学中,逼近继承了这方面的含义,因此插值和拟合都可以视为逼近。
例子:
对于逼近样条,连接控制点序列的折线通常被显示出来,以提醒设计者控制点的次序。一般将连接有一定次序控制点的直线序列称为控制多边形或特征多边形。
光顺
指曲线的拐点不能太多(有一、二阶导数等)
在数学领域是指:凸曲线与凹曲线的连接点
对于平面曲线而言,相对光顺的条件是:
- 具有二阶几何连续性
- 不存在多余的拐点和奇异点
- 曲率变化较小
7.3 曲线连续性
当许多参数曲线 首尾相连 构成一条曲线时,如何保证各个曲线段在连接处具有合乎要求的连续性是一个重要问题。
假定参数曲线段 以 参数形式进行描述:
这里讨论参数曲线两种意义上的连续性:即参数连续性和几何连续性。
参数连续性
0阶参数连续性
1阶参数连续性
2阶参数连续性
经典的参数连续性在图形学里是不适合的,因为太苛刻,所以引进了几何连续性的概念。
几何连续性
曲线段相连的另一个连续性条件是几何连续性。与参数连续性不同的是,它只需要曲线段在相交处的参数导数成比例即可。
0阶几何连续性
1阶几何连续性
2阶几何连续性
7.4 参数化及参数几何代数形式
在介绍参数化之前,先提出一个问题。
问题:过三点 p0,p1,p2 构造函数表示的插值多项式是唯一的还是多个的呢?
答案:插值多项式可以有无数条,这是因为对应的参数 t 在 [ 0 , 1 ] 中可以由无数种取法。
插值问题实际上就是解方程组的问题。但是如果参数取的不一样的话,结果也会不一样。
每个参数值称为节点。对于一条插值曲线来说, p0,p1,p2 这些点称为 型值点。
对于一条插值曲线,型值点 p0,p1,p2,…,pn 与其参数域 t ∈[ p0 , p1 ] 内的节点有一种对应关系。
对于一组有序的型值点来说,所确定的一种参数分割,称之为这组型值点的参数化。
例子:
再给一个例子:
参数化的本质就是找一组恰当地参数 t 来匹配这一组不同的型值点。给定一组不同的型值点,就要给出不同的参数化即不同的 t 值,这样才可以使这条曲线美观、合理。
参数化常用方法
均匀参数化
节点在参数轴上呈等距分布。如 0、1/10、2/10 等
累加弦长参数化(根据长度的比例关系来确定 t)
这种参数法如实的反应了型值点按弦长的分布情况,能够克服型值点按弦长分布不均匀的情况下采用均匀参数化所出现的问题。
向心参数化法
向心参数化法,假设在一段曲线弧上的向心力与曲线切矢从该弧段始端至末端的转角成正比,加上一些简化假设,得到向心参数化法。此法尤其适用于非均匀型值点分布。
参数曲线的代数和几何形式
以三次参数曲线为例,讨论参数曲线的代数和几何形式。