曲线曲面基本理论
一 、曲线曲面基本理论
计算机图形学三大块内容:
光栅图形显示
、
几何造型技术
、
真实感图形显示
。光栅图形学是图形学的基础,有大量的思
想和算法 。
几何造型技术是一项研究在计算机中,如何表达物体模型形
状的技术 。
描述物体的三维模型有三种 :
线框模型 、曲面模型 和 实体模型
线框模型用顶点和棱边来表示物体
曲面模型只描述物体的表面和表面的连接关系,不描述
物体内部的点的属性
实体模型不但有物体的外观而且也有物体内点的描述 。
二 、曲线曲面基础
1 、显示、隐式和参数表示
曲线和曲面的表示方程有参数表示和非参数表示之分,非
参数表示又分为显式表示和隐式表示。对于一个平面曲线,显式表示一般形式是:y = f(x) 。 在此方程中,一个x值与一个y值对应,所以显式方程不能
表示封闭或多值曲线 。
如果一个平面曲线方程,表示成 f(x,y)= 0 的形式,
称之为隐式表示。隐式表示的优点是易于判断一个点是否
在曲线上 。
2、显式或隐式表示存在的问题
(1)与坐标轴相关
(2)用隐函数表示不直观,作图不方便
(3)用显函数表示存在多值性
(4)会出现斜率为无穷大的情形
3、参数方程
为了克服以上问题,曲线曲面方程通常表示成参数的形式,
假定用t表示参数,平面曲线上任一点P可表示为:
p ( t ) = [ x ( t ), y ( t ) ]
空间曲线上任一三维点P可表示为:
p ( t ) = [ x ( t ) , y ( t ) , z ( t ) ]
它等价于笛卡儿分量表示:
p ( t ) = x ( t ) i + y ( t ) j + z ( t ) k
这样,给定一个t值,就得到曲线上一点的坐标 。
假设曲线段对应的参数区间为[a,b],即a≤t≤b。为方便期
间,可以将区间[ a,b ]规范化成[ 0,1 ],参数变换为:
该形式把曲线上表示一个点的位置矢量的各个分量合写在一
起当成一个整体,考虑的是曲线上点之间的相对位置关系而
不是它们与所取坐标系之间的相对位置关系 。类似地,可把曲面表示成为双参数u和v的矢量函数 。
p(u,v) = p(x(u,v), y(u,v),z(u,v)) (u,v)的取值范围为[0,1]*[0,1]
最简单的参数曲线是直线段,端点为P
1
、P
2
的直线段参数方
程可表示为:
4、参数方程的优势
在曲线、曲面的表示上,参数方程比显式、隐式方程有更多
的优越性,主要表现在:
(
1) 可以满足几何不变性的要求 。
即指形状的数学表示及其所表达
的形状不随所取坐标系而
改变的性质 。
(2) 有更大的自由度来控制曲线、曲面的形状
y = ax ^3 + bx ^ 2 + cx + d
只有四个系数控制曲线的形状。而二维三次曲线的参数表
达式为:
(
3)直接对参数方程进行几何变换
对非参数方程表示的曲线、曲面进行变换,必须对曲线
、曲面上的每个型值点进行几何变换;而对参数表示的
曲线、曲面可对其参数方程直接进行几何变换 .
(4)便于处理斜率为无穷大的情形,不会因此而中断计算 。
(5)界定曲线、曲面的范围十分简单
具有规格化的参数变量t∈[0,1]
(6)易于用向量(矢量 )和矩阵运算,简化计算
5
、参数曲线的基本概念
这部分内容完全来自于微分几何。微分几何是用微分的方法来研究曲线的局部性质,如曲线的弯曲程度等 。一条用参数表示的三维曲线是一个有界点集,可写成一个带参数的、连续的、单值的数学函数,其形式 :
( 1 )位置矢量
曲线上任一点的位置矢量可表示为 :p ( t ) = [ x ( t ), y ( t ), z ( t ) ]
(
2 )切矢量
选择弧长s作为参数,当△t→0时,弦长△s→0,但方向不能趋向于0
(
3 )曲 率
切向量求导,求导以后还是一个向量,称为
曲率
,其几何意义是曲线的单位切向量对弧长的转动率,即刻画这一点的曲线的弯曲程度。
(
4 )法矢量
法矢量是与切矢量垂直的向量 ,N、B 构成的平面称为法平面,N、T 构成的平面称为密切平面,B、T 构成的平面称为从切平面 。
T(切矢)、N(主法矢)和B(副法矢)构成了曲线上的活动坐标架 B = T × N
(
5 )挠率
空间曲线不但要弯曲,而且还要扭曲,即要离开它的密切平面。为了能刻画这一扭曲程度,等价于去研究密切平面的法矢量(即曲线的副法矢量)关于弧长的变化率 。挠率 t 的绝对值等于副法线方向(或密切平面)对于弧长的转动率 :
(
6 )
插 值
自由曲线和自由曲面一般通过少数分散的点生成,这些点叫做“型值点”、“样本点”或“控制点 ,给定一组有序的数据点Pi(i=0,1,2,…n), 要求构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值(interpolation),所构造的曲线称为插值曲线 。
把曲线插值推广到曲面,类似地就有插值曲面构造插值曲线曲面所采用的数学方法称为曲线曲面插值法 。
- 线性插值
- 假设给定函数f(x)在两个不同点x1和x2的值,用一个线形函数:y=ax+b,近似代替,称为的线性插值函数 。
- 抛物线插值
- 已知三个点的坐标,要求构造一个抛物线函数
(
7 )
拟 合
构造一条曲线使之在某种意义下最接近给定的数据点(但未必通过这些点),所构造的曲线为拟合曲线在计算数学中,逼近通常指用一些性质较好的函数近似表示一些性质不好的函数。在计算机图形学中,逼近继承了这方面的含义,因此插值和拟合都可以视为逼近 。
对于逼近样条,连接控制点序列的折线通常被显示出来,以提醒设计者控制点的次序 。一般将连接有一定次序控制点的
直线序列称为
控制多边形 或 特征多边形
。
(
8 )
光 顺
指曲线的拐点不能太多(有一、二阶导数等),在数学领域是指:凸曲线与凹曲线的连接点 。
对平面曲线而言,相对光顺的条件是:
a . 具有二阶几何连续性(G2)
b . 不存在多余拐点和奇异点
c . 曲率变化较小
(
9 )
连续性
当许多参数曲线段首尾相连构成一条曲线时,如何保证各曲
线段在连接处具有合乎要求的连续性是一个重要问题。
假定
参数曲线段p
i
以参数形式进行描述 :
这里讨论参数曲线两种意义上的连续性:即参数连续性和几
何连续性 。
- 参数连续性 0 阶参数连续性
记作C
0
连续性,是指曲线的几何位置连接,即第一个曲线段在
t
i
1
处的 x,y,z 值与第二个曲线段在
t
(i+1)
0
处的 x, y, z 值相等:
1 阶参数连续性:
记作C
1
连续性,指代表两个相邻曲线段的方程在相交点处有相
同的一阶导数(切线):
一阶连续性对数字化
绘画及一些设计应用
已经足够 。
2 阶参数连续性:
记作C
2
连续性,指两个相邻曲线段的方程在相交点处具有相同
的一阶和二阶导数。类似地,还可定义高阶参数连续性 。
对于C
2
连续性,交点处的切向量变化率相等,即切线从一个
曲线段平滑地变化到另一个曲线段 。二阶连续性对电影中的动画途径和很多精密CAD需求有用 。
经典的参数连续性在图形学里是不适合的,因为太苛刻,所
以引进了几何连续性的概念 。如下:
上面的函数实际上是直线方程。但可以发现,在t=1这一
点,直线的左右导数不相等 。在微积分里,如果一个函数的在一点处它的左导数和右导数
都存在并且相等,就说明在这一点是连续的 。
几何连续性
曲线段相连的另一个连续性条件是几何连续性。与参
数连续性不同的是,它只需曲线段在相交处的参数导数成比例即可 。
0阶几何连续性
:记作G
0
连续性。与0阶参数连续性的定义相
同,满足:
1 阶几何连续性,记作G1连续性。若要求在结合处达到G1连续
,就是说两条曲线在结合处在满足G0连续的条件下,并有公
共的切矢 。
2 阶几何连续性,记作G2连续性。就是说两条曲线在结合处
在满足G
1
连续的条件下,并有公共的曲率 。
一阶导数相等和有公共切向量这两个概念差别是什么? 导
数相等是大小方向都相等,而公共切矢意味着方向相同但
大小不等 。所谓参数连续意味着导数相等,导数相等意味着两个切向
量不但方向相等而且长度也相等 。如果是几何连续的话,只是要求切向量一样,方向一样,
长度可以不同。条件减弱了 。
(
10 )
参数化
过三点P
0
、P
1
和P
2
构造参数表示的插值多项式是唯一的还是
有多个呢? ( 设置一个课间提问 )
插值多项式可以有无数条,这是因为对应地参数t在[ 0 , 1 ]
中可以有无数种取法 。
插值问题实际上就是解方程组的问题。但如果参数取的不
一样的话,结果是不一样的 。每个参数值称为节点(knot)。对于一条插值曲线,p0、
p
1
、p
2
这些点称为型值点 。
对于一条插值曲线,型值点p
0
,p
1
,… ,p
n
与其参数域
t∈[t
0
,t
1
] 内的节点之间有一种对应关系。对于一组有
序的型值点,所确定一种参数分割,称之这组型值点的参
数化 。
例:现在给定3个点p
0
、p
1
、p
2
,坐标是(0,0)、(100,50)、
(200,0),求一条2次的多项式曲线来插值这三个点 。假设第一个点参数t = 0,
第二个点参数取t = 1/2,
第三个点的参数取t = 1。
如何列这个方程 ?
6个方程6个未知数,插值问题的本质是方程的个数和未知
数的个数是一致的 。现在的问题是凭什么取:t=0,t=1/2,t=1 ? 那么,为什么t不可以取别的值,如t=0,t=1/3,t=1?哪种取法
更科学 ?
参数化的本质就是找一组恰当的参数t来匹配这一组不同的
型值点。给定一组不同的型值点,就要给出不同的参数化
即不同的t值,这样才使得这条曲线美观、合理
参数化常用方法:
(1) 均匀参数化,节点在参数轴上呈等距分布。如0、1/10、2/10 。
(2) 累加弦长参数化(根据长度的比例关系来确定 t)
这种参数法如实反映了型值点按弦长的分布情况,能够克服
型值点按弦长分布不均匀的情况下采用均匀参数化所出现的
问题 。
( 3 ) 向心参数化法
向心参数化法假设在一段曲线弧上的向心力与曲线切矢从该
弧段始端至末端的转角成正比,加上一些简化假设,得到向
心参数化法。此法尤其适用于非均匀型值点分布 。
( 10 ) 参数曲线的代数和几何形式
以三次参数曲线为例,讨论参数曲线的代数和几何形式,
( 1 ) 代数形式
上述代数式写成矢量式是:
注意:a
3
,a
2
,a
1
,a
0
是参数曲线的系数,但记住不是常数
而是向量。a
3
对应刚才的a
3x
、a
3y
、a
3z
。改变系数曲线如何
变化是不清楚的,这是代数形式的缺点
( 2 ) 几何形式:
几何形式是利用一条曲线端点的几何性质来刻画一条曲线。
所谓端点的几何性质,就是指曲线的端点位置、切向量、各
阶导数等端点的信息。对三次参数曲线,若用其端点位矢P(0)、P(1)和切矢
P’(0)、P’(1)描述。需要这四个量来刻画三次参数曲线 。
三 、Bezier曲线与曲面
1、
Bezier曲线的背景
给定n+1个数据点,p
0
(x
0
,y
0
),…p
n
(x
n
,y
n
),生成一条曲线
,使得该曲线与这些点所描述的形状相符,
如果要求曲线通过所有的数据点,则属于
插值问题
;如果
只要求曲线逼近这些数据点,则属于
逼近问题
。
逼近在计算机图形学中主要用来设计美观的或符合某些美学
标准的曲线。为了解决这个问题,有必要找到一种用小的部
分即曲线段构建曲线的方法,来满足设计标准 。当用曲线段拟合曲线f(x)时,可以把曲线表示为许多小线
段φ
i
(x)之和,其中φ
i
(x)称为基(混合)函数 。
这些基(混合)函数是要用于计算和显示的。因此,经常选
择多项式作为基(混合)函数,贝塞尔(P.E.Bezier)构造了一种以逼近为基础
的参数曲线和曲面的设计方法 。
这个想法是基于是在进行汽车外形设计时,先用折线段勾画出汽
车的外形大致轮廓,然后用光滑的参数曲线去逼近这个折
线多边形 。这个折线多边形被称为特征多边形。逼近该特征多边形的
曲线被称为Bezier曲线 ,Bezier方法将函数逼近同几何表示结合起来,使得设计
师在计算机上就象使用作图工具一样得心应手
贝塞尔曲线广泛地应用于很多图形图像软件中,例如
Flash、Illstrator、CoralDRAW 和 Photoshop 等等 。
贝塞尔把参数n次曲线表示为:
其中系数矢量a
i(i=0,1,…,n)顺序首尾相接 。从a
0
的末端到a
n
的末端所形成的折
线称为控制多边形或贝塞尔多边形 。
1972年,
Forest证明了
Bezier曲线的基函数可以简化成伯恩斯坦基函数,一个连续函数 y=f(x),任给一个ξ>0,总能找到一个
多项式和这个函数足够逼近。伯恩斯坦有一套逼近的理论
,逼近的形式是:
2、
Bezier曲线的定义
针对Bezier曲线,给定空间n+1个点的位置矢量Pi(i=0,
1,2,…,n),则Bezier曲线段的参数方程表示如下:
其中pi(xi,yi,zi),i=0,1,2…n 是控制多边形的n+1个顶
点,即构成该曲线的特征多边形;B
i,n
(t)是Bernstein
基函数,有如下形式:
二项式定理,又称牛顿二项式定理。该定理给出两个数之和
的整数次幂的恒等式
P
i
代表空间的很多点,t在0到1之间,把t代进去可以算出一
个数--即平面或空间一个点 。随着 t 值的变化,点也在变化。当t从0变到1时,就得到空
间的一个图形,这个图形就是bezier曲线 。
(1) 一次 Bezier 曲线
(2) 二次 Bezier 曲线
( 3) 三次 Bezier 曲线
注意图中每个基函数在参数 t
的整个(0,1)的开区间范围
内不为 0,Bezier曲线不可能对曲线形
状进行局部控制,如果改变
任一控制点位置,整个曲线
会受到影响 。
3
、
Bezier基函数的性质
1 、正性( 非负性 )
2 、权 性
基函数有 n+1 项,n+1 个基函数的和加起来正好等于 1 。
3、 端 点 性 质
4、 对 称 性
可以证明,假如保持n次Bezier曲线控制多边形的顶点位置
不变,而把次序颠倒过来,则此时曲线仍不变,只不过曲线
的走向相反而已 。
5、递 推 性
6、导 函 数
7、最 大 值
8、 积 分
9 、降 阶 公 式
10、升 阶 公 式
4 、Bezier 曲 线 的 性 质
1、端点性质
2、一阶导数
这说明 Bezier 曲线的起点和终点处的切线方向和特征多边
形的第一条边及最后一条边的走向一致 。
3、几何不变性
指某些几何特性不随坐标变换而变化的特性。Bezier曲
线的形状仅与控制多边形各顶点的相对位置有关,而与
坐标系的的选择无关 。
4、变差缩减性
若 Bezier 曲线的特征多边形是一个平面图形,则平面内
任意直线与p(t)的交点个数不多于该直线与其特征多边
形的交点个数,这一性质叫变差缩减性质 。此性质反映了Bezier曲线比其
特征多边形的波动还小,也就
是说Bezier曲线比特征多边形
的折线更光顺 。