曲线曲面基本理论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二讲曲线曲面基本理论一、概述
曲面造型(Surface Modeling)是计算机辅助几何设计(Computer Aided Geometric Design,CAGD)和计算机图形学的一项重要内容,主要研究在计算机图象系统的环境下对曲面的表示、设计、显示和分析。

它起源于汽车、飞机、船舶、叶轮等的外形放样工艺,由Coons、Bezier等大师于二十世纪六十年代奠定其理论基础。

经过三十多年的发展,曲面造型现在已形成了以有理B样条曲面(Rational
B-spline Surface)参数化特征设计和隐式代数曲面(Implicit Algebraic Surface)表示这两类方法为主体,以插值(Interpolation)、逼近(Approximation)这二种手段为骨架的几何理论体系。

1.发展历程
形状信息的核心问题是计算机表示,既要适合计算机处理,且有效地满足形状表示与设计要求,又便于信息传递和数据交换的数学方法。

象飞机、汽车、轮船等具有复杂外形产品的表面是工程中必须解决的问题。

曲面造型的目的就在如此。

1963年美国波音(Boeing)飞机公司的佛格森(Ferguson)最早引入参数三次曲线(三次Hermite 插值曲线),将曲线曲面表示成参数矢量函数形式,构造了组合曲线和由四角点的位置矢量、两个方向的切矢定义的佛格森双三次曲面片,从此曲线曲面的参数化形式成为形状数学描述的标准形式。

图 Ferguson曲线
t= 0
t= 1
Q0
Q1
Q’
0Q’
1
图 Ferguson曲面
Q
0 0
u
v
Q
0 1
Q
1 0
Q
1 1
仅用端点的位置和切矢控制曲线形状是不够的,中间的形状不易控制,且切矢控制形状不直接。

1964年,美国麻省理工学院(MIT )的孔斯(Coons )用四条边界曲线围成的封闭曲线来定义一张曲面,Ferguson 曲线曲面只是Coons 曲线曲面的特例。

而孔斯曲面的特点是插值,即构造出来的曲面满足给定的边界条件,例如经过给定边界,具有给定跨界导矢等等。

但这种方法存在形状控制与连接问题。

图 Coons曲面
Q u
v
Q 0 1
Q 1 0
Q 1 1
Q(u,0)
Q(u,1)
Q(0,v)
Q(1,v)
1964年,舍恩伯格(Schoenberg )提出了参数样条曲线、曲面的形式。

1971年,法国雷诺(Renault )汽车公司的贝塞尔(Bezier )发表了一种用控制多边形定义曲线和曲面的方法。

这种方法不仅简单易用,而且漂亮地解决了整体形状控制问题,把曲线曲面的设计向前推进了一大步,为曲面造型的进一步发展奠定了坚实的基础。

但当构造复杂曲面时,Bezier 方法仍存在连接问题和局部修改问题。

同期,法国雪铁龙(Citroen )汽车公司的德卡斯特里奥(de Castelijau )也独立地研究出与Bezier 类似的方法。

1972年,德布尔(de Boor )给出了B 样条的标准计算方法。

1974年,美国通用汽车公司的戈登(Gorden )和里森费尔德(Riesenfeld )将B 样条理论用于形状描述,提出了B 样条曲线和曲面。

这种方法继承了Bezier 方法的一切优点,克服了Bezier 方法存在的缺点,较成功地解决了局部控制问题,又轻而易举地在参数连续性基础上解决了连接问题,从而使自由型曲线曲面形状的描述问题得到较好解决。

但随着生产的发展,B 样条方法显示出明显不足,不能精确表示圆锥截线及初等解析曲面,这就造成了产品几何定义的不唯一,使曲线曲面没有统一的数学描述形式,容易造成生产管理混乱。

1975年,美国锡拉丘兹(Syracuse )大学的佛斯普里尔(Versprill )提出了有理B 样条方法。

80年代后期皮格尔(Piegl )和蒂勒(Tiller )将有理B 样条发展成非均匀有理B 样条方法(即NURBS ),并已成为当前自由曲线和曲面描述的最广为流行的技术。

NURBS 方法的突出优点是:可以精确地表示二次规则曲线曲面,从而能用统一的数学形式表示规则曲面与自由曲面,而其它非有理方法无法做到这一点;具有可影响曲线曲面形状的权因子,使形状更宜于控制和实现;NURBS 方法是非有理B 样条方法在四维空间的直接推广,多数非有理B 样条曲线曲面的性质及其相应算法也适用于NURBS 曲线曲面,便于继承和发展。

由于NURBS 方法的这些突出优点,国际标准化组织(ISO)于1991年颁布了关于工业产品数据交换的STEP 国际标准,将NURBS 方法作为定义工业产品几何形状的唯一数学描述方法,从而使NURBS 方法成为曲面造型技术发展趋势中最重要的基础。

2.基本概念
曲线、曲面的显式、隐式、参数表示
曲线、曲面可以用显式、隐式和参数表示。

显式:形如z =f(x,y)的表达式。

对于一个平面曲线,显式表示一般形式是:y=f(x)。

在此方程中,一个x值与一个y值对应,所以显式方程不能表示封闭或多值曲线,例如,不能用显式方程表示一个圆。

隐式:形如f(x,y,z)=0的表达式。

如一个平面曲线方程,表示成f(x,y)=0的隐式表示。

隐式表示的优点是易于判断函数f(x,y)是否大于、小于或等于零,也就易于判断点是落在所表示曲线上或在曲线的哪一侧。

参数表示:形如x =f(t),y =f(t),z =f(t)的表达式,其中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];
圆在计算机图形学中应用十分广泛,其在第一象限内的单位圆弧的非参数显式表示为:
其参数形式可表示为:
参数表示的曲线、曲面具有几何不变性等优点,计算机图形学中通常用参数形式描述曲线、曲面。

其优势主要表现在:
(1)可以满足几何不变性的要求,坐标变换后仍保持几何形状不变
(2)有更大的自由度来控制曲线、曲面的形状。

如一条二维三次曲线的显式表示为:
只有四个系数控制曲线的形状。

而二维三次曲线的参数表达式为:
有8个系数可用来控制此曲线的形状。

(3)对非参数方程表示的曲线、曲面进行变换,必须对其每个型值点进行几何变换,不能对其方程变换(因不满足几何变换不变性);而对参数表示的曲线、曲面可对其参数方程直接进行几何变换。

(4)便于处理斜率为无穷大的情形,不会因此而中断计算。

(5)参数方程中,代数、几何相关和无关的变量是完全分离的,而且对变量个数不限,从而便于用户把低维空间中曲线、曲面扩展到高维空间去。

这种变量分离的特点使我们可以用数学公式处理几何分量。

(6)规格化的参数变量t∈[0, 1],使其相应的几何分量是有界的,而不必用另外的参数去定义边界。

(7)易于用矢量和矩阵表示几何分量,简化了计算。

位置矢量、切矢量、法矢量、曲率和挠率
(见高等数学)
插值、逼近、拟合
插值:给定一组有序的数据点Pi,i=0, 1, …, n,构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线。

常用插值方法有线性插值、抛物线插值等。

逼近:构造一条曲线使之在某种意义下最接近给定的数据点,称为对这些数据点进行逼近,所构造的曲线为逼近曲线。

拟合:插值和逼近则统称为拟合(fitting)。

光顺、连续性
光顺:通俗含义指曲线的拐点不能太多,曲线拐来拐去,就会不顺眼,对平面曲线而言,相对光顺的条件是:a)具有二阶几何连续性(G2);b)不存在多余拐点和奇异点;c)曲率变化较小。

连续性:设计一条复杂曲线时,常常通过多段曲线组合而成,这需要解决曲线段之间如何实现光滑连接的问题,即为连续性问题。

曲线间连接的光滑度的度量有两种:一种是函数的可微性,把组合参数曲线构造成在连接处具有直到n阶连续导矢,即n阶连续可微,这类光滑度称之为C n或n阶参数连续性。

另一种称为几何连续性,组合曲线在连接处满足不同于C n的某一组约束条件,称为具有n阶几何连续性,简记为G n。

曲线光滑度的两种度量方法并不矛盾,C n连续包含在G n连续之中。

对于上图所示二条曲线P(t) 和Q(t),参数,若要求在结合处达到G0连续或C0连续,即
两曲线在结合处位置连续:P(1) = Q(0) 。

若要求在结合处达到G1连续,就是说两条曲线在结合处在满足G0连续的条件下,并有公共的切矢:…………(1-1)
当时,G1连续就成为C1连续。

若要求在结合处达到G2连续,就是说两条曲线在结合处在满足G1连续的条件下,并有公共的曲
率矢:…………(1-2)
代入(1-1)得:
这个关系为:
…………(1-3)
即Q”(0)在P”(1)和P’(1)确定的平面内。

为任意常数。

当,时,G2连续就成为C2
连续。

在弧长作参数的情况下,C1连续保证G2连续,C1连续能保证G2连续,但反过来不行。

也就是说C n连续的条件比G n连续的条件要苛刻。

3.简单代数曲面
简单代数曲面在造型系统中常见,但远远不能满足复杂曲面造型的要求。

二、Bezier 曲线的定义 1.定义
给定空间n+1个点的位置矢量Pi (i=0,1,2,…,n ),则Bezier 参数曲线上各点坐标的插值公式是:
将其写成矩阵表达形式为:
P (t )= []⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡Pn P P t B t B t B n n n n ...)(...)()(1
0,,1,0
其中,P i 构成该Bezier 曲线的特征多边形,B i,n (t)是n 次Bernstein 基函数:
注意:约定 0 = 1, 0! = 1
n=0, B 0,0(t) = 1
n=1, B 0,1(t) = 1-t B 1,1(t) = t
n=2, B 0,2(t) = (1-t)2 B 1,2(t) = 2t(1-t) B 2,2(t) = t 2
n=3, B 0,3(t) = (1-t)3 B 1,3(t) = 3t(1-t)2 B 2,3(t) = 3t 2(1-t ) B 3,3(t) = t 3
…… ……
如图所示是一条三次Bezier 曲线实例,即 n = 3 。

图 三次Bezier 曲线
对于三次Bezier 曲线,其表达式为
)()(3,3
t B P t P i i i ∑== t ∈[0,1]
式中:B 0,3(t) = (1-t)3,B 1,3(t) = 3t(1-t)2, B 2,3(t) = 3t 2(1-t), B 3,3(t) = t 3
将其写为矩阵表达式则为:
P (t )= [ B 0,3(t) B 1,3(t) B 2,3(t) B 3,3(t) ] [ P 0 P 1 P 2 P 3 ]T
= [
]
⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢
⎢⎢
⎢⎣⎡----32102
3
0001
0033036313311P P P P t t t 式中若求P X (t )的值,则取P i 的x 坐标进行计算,同理求P y (t )、P z (t )的值,具体如下:
P x (t )= [ B 0,3(t) B 1,3(t) B 2,3(t) B 3,3(t) ] [ P 0x P 1x P 2x P 3x ]T P y (t )= [ B 0,3(t) B 1,3(t) B 2,3(t) B 3,3(t) ] [ P 0y P 1y P 2y P 3y ]T P z (t )= [ B 0,3(t) B 1,3(t) B 2,3(t) B 3,3(t) ] [ P 0z P 1z P 2z P 3z ]T
注意:上式基函数的计算仅需一次,不必三次。

2.Betnstein 基函数的性质
注意:是基函数的性质,并非曲线的性质。

(1)正性
(2)端点性质
(3)权性
由二项式定理可知:
(4)对称性
因为
(5)递推性。

,其计算过程表示为:
B i,n(t) B i,n-1(t) B i,n-2(t) B i,n-3(t) ………
B i-1,n-1(t) B i-1,n-2(t) B i-1,n-3(t) ………
B i-2,n-2(t) B i-2,n-3(t) ………
B i-3,n-3(t) ………
………
即高一次的Bernstein基函数可由两个低一次的Bernstein调和函数线性组合而成。

(6)导函数
(7)最大值:在处达到最大值。

3.Bezier曲线的性质
(1)端点性质
a. 曲线端点位置矢量
由Bernstein基函数的端点性质可以推得,P(0) = P0,P(1) = P n
由此可见,Bezier曲线的起点、终点与相应的特征多边形的起点、终点重合。

b. 端点切矢量,因为
即P’(0) = n(P1-P0),P’(1) = n(P n-P n-1)
这说明Bezier曲线的起点和终点处的切线方向和特征多边形的第一条边及最后一条边的走向一致。

c. 端点二阶导矢
即:,
上式表明:2阶导矢只与相邻的3个顶点有关,事实上,
r阶导矢只与(r+1)个相邻点有关,与更远点无关。

(2)对称性。

颠倒控制点顺序,即控制顶点构造出的新Bezier曲线,则与原Bezier 曲线形状相同,仅走向相反。

因为:
这个性质说明Bezier曲线在起点处有什么几何性质,在终点处也有相同的性质。

(3)凸包性
由于,且,这一结果说明当t在[0,1]区间变化时,对某一个t值,P(t)是特征多边形各顶点的加权平均,权因子依次是。

在几何图形上,
意味着Bezier曲线P(t)在中各点是控制点P i的凸线性组合,即曲线落在P i构成的凸包之中,如图所示。

(4)几何不变性。

这是指某些几何特性不随坐标变换而变化的特性。

Bezier曲线的位置与形状与其特征多边形顶点的位置有关,它不依赖坐标系的选择,即有:
(参变量u是t的置换)
(5)变差缩减性。

若Bezier曲线的特征多边形是一个平面图形,则平面内任意直线与C(t)的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。

此性质反映了Bezier曲线比其特征多边形的波动还小,也就是说Bezier曲线比特征多边形的折线更光顺。

(6)仿射不变性
对于任意的仿射变换A:
即在仿射变换下,的形式不变。

4.Bezier曲线的递推(de Casteljau)算法
计算Bezier曲线上的点,可用Bezier曲线方程,但使用de Casteljau提出的递推算法则要简单的多。

如图所示,设、、是一条抛物线上顺序三个不同的点。

过和点的两切线交于点,在点的切线交和于和,则如下比例成立:
,
这是所谓抛物线的三切线定理,其几何意义如下图所示。

图抛物线的三切线定理
当P 0,P 2固定,引入参数t ,令上述比值为t:(1-t),即有:
t 从0变到1,第一、二式就分别表示控制二边形的第一、二条边,它们正好是两条一次Bezier 曲线。

将一、二式代入第三式得:
当t 从0变到1时,它正好表示了由三顶点P 0、P 1、P 2三点定义的一条二次Bezier 曲线。

并且表明:这二次Bezier 曲线P 20可以定义为分别由前两个顶点(P 0,P 1)和后两个顶点(P 1,P 2)决定的一次Bezier 曲线的线性组合。

依次类推,由四个控制点定义的三次Bezier 曲线P 30可被定义为分别由(P 0,P 1,P 2)和(P 1,P 2,P 3)确定的二条二次Bezier 曲线的线性组合;
进一步由(n+1)个控制点P i (i=0, 1, ..., n)定义的n 次Bezier 曲线P n 0可被定义为分别由前、后n 个控制点定义的两条(n-1)次Bezier 曲线P 0n-1与P 1n-1的线性组合:
由此得到Bezier 曲线的递推计算公式:
这便是著名的de Casteljau 算法。

用这一递推公式,在给定参数下,求Bezier 曲线上一点P(t)非常有效。

上式中:是定义Bezier 曲线的控制点,即为曲线上具有参数t 的点。

de Casteljau 算法稳定可靠,直观简便,可以编出十分简捷的程序,是计算Bezier 曲线的基本算法和标准算法。

P 0
n
1
P P P 1
n-2
23
n-3
2
1
P 0
function deCasteljau (i ,j ) begin
if i = 0 then
returnP 0,j
else
return (1-u )* deCasteljau (i -1,j ) + u * deCasteljau (i -1,j +1)
end
这一算法可用简单的几何作图来实现。

给定参数,就把定义域分成长度为的两段。

依次对原始控制多边形每一边执行同样的定比分割,所得分点就是第一级递推生成的中间顶点
,对这些中间顶点构成的控制多边形再执行同样的定比分割,得第二级中间顶点。

重复进行下去,直到n 级递推得到一个中间顶点
即为所求曲线上的点。

下图所示为几何作图求三次Bezier 曲线(给定参数域
)上t =1/3的点。

把定义域分成长度为
1/3 : (1-1/3)的两段。

依次对原始控制多边形每一边执行同样的定比分割,所得分点就是第一级递推生成的中间顶点1
0P 、11P 、1
2P ,对这些中间顶点构成的控制多边形再执行同样的定比分割,得第二级中间顶点2
0P 、21P 。

重复进行下去,直到第3级递推得到一个中间顶点3
0P 即为所求曲线上的点P (t )。

P 1
P 2
3
P 01P 11
P 21
P 02
P 03
P 12
图 几何作图法求Bezier 曲线上一点(n=3,t=1/3)
上述过程的de casteljau 算法递推出的P k i 呈三角形,对应结果如图所示。

递归算法是上述过程的逆过程,首先从上向下递归,直到最底层后开始返回,最顶部点P 30即为曲线上的点。

P 0
3
1
P 0
P 1
P 1
23
2
1
P 0
图 n=3时,P i n 的递推关系
另外,这一算法隐含说明任一Bezier 曲线均可被分割为两段Bezier 曲线。

第一段由P 0、P 01、
P 02、P 03确定,参数空间为[0,1/3];第二段P 03、P 12、P 21、P 3确定,参数空间为[1/3,1],分割后的
曲线形状保持不变。

如图所示。

P0P1
P2
P3
P
1
P
1
1
P
2
1
P
2
P
3
P
1
2
P 0P
3
P
1
P
2
1
P
2
P
3
P
1
2
图Bezier曲线的分割(n=3,t=1/3)
5.Bezier曲线的拼接
几何设计中,一条Bezier曲线往往难以描述复杂的曲线形状。

这是由于增加由于特征多边形的顶点数,会引起Bezier曲线次数的提高,而高次多项式又会带来计算上的困难,实际使用中,一般不超过10次。

所以有时采用分段设计,然后将各段曲线相互连接起来,并在接合处保持一定的连续条件。

下面讨论两段Bezier曲线达到不同阶几何连续的条件。

给定两条Bezier曲线P(t)和Q(t),相应控制点为P i(i=0, 1, ..., n)和Q j(j=0,1,..., m),且令,如图所示,我们现在把两条曲线连接起来。

(1)G0连续的充要条件是:P n= Q0;
(2)G1连续的充要条件是:P n-1,P n = Q,Q1三点共线,即
(3)G2连续的充要条件是:在G1连续的条件下,并满足方程。

图Bezier曲线的拼接
我们将、和,、代入,并整理,可以得到:
选择和的值,可以利用该式确定曲线段的特征多边形顶点,而顶点、已被连续条件所确定。

要达到连续的话,只剩下顶点可以自由选取。

如果从上式的两边都减去,则等式右边可以表示为和的线性组合:
这表明、、、和五点共面,事实上,在接合点两条曲线段的曲率相等,主法线方向一致,我们还可以断定:和位于直线的同一侧。

6.Bezier曲线的升阶与降阶
1.Bezier曲线的升阶
所谓升阶是指保持Bezier曲线的形状与方向不变,增加定义它的控制顶点数,也即是提高该Bezier 曲线的次数。

增加了控制顶点数,不仅能增加了对曲线进行形状控制的灵活性,还在构造曲面方面有着重要的应用。

对于一些由曲线生成曲面的算法,要求那些曲线必须是同次的,应用升阶的方法,我们可以把低于最高次数的的曲线提升到最高次数,使得各条曲线具有相同的次数。

曲线升阶后,原控制顶点会发生变化。

下面,我们来计算曲线提升一阶后的新的控制顶点。

设给定原始控制顶点P0,P1,...,P n,定义了一条n次Bezier曲线:
增加一个顶点后,仍定义同一条曲线的新控制顶点为P0*,P1*,...,P n+1*,则有:
对上式左边乘以(t+(1-t)),得到:
比较等式两边t i(1-t)n+1-i项的系数,得到:
化简即得:
其中P-1=P n+1=0。

此式说明:

•升阶后的新的特征多边形在原始特征多边形的凸包内。

•特征多边形更靠近曲线。

三次Bezier曲线的升阶实例如图所示。

图Bezier曲线的升阶
2.Bezier曲线的降阶
降阶是升阶的逆过程。

给定一条由原始控制顶点P i(i=0,1,...,n)定义的n次Bezier曲线,要求找到一条由新控制顶点P i*(i=0,1,...,n-1)定义的n-1次Bezier曲线来逼近原始曲线。

假定P i是由P i*升阶得到,则由升阶公式有:
从这个方程可以导出两个递推公式:

其中第一个递推公式在靠近P0处趋向生成较好的逼近,而第二个递推公式在靠近P n处趋向生成较好的逼近。

程序演示:Bezier曲线
1.修改控制点
2.自动升阶
对上面的Bezier曲线进行升阶,得到如下图所示曲线。

4个控制点4阶3次5个控制点5阶4次
三、 Bezier 曲面
基于Bezier 曲线的讨论,我们可以方便地可以给出Bezier 曲面的定义和性质,Bezier 曲线的一些算法也可以很容易扩展到Bezier 曲面的情况。

1.定义
设为
个空间点列,则
次张量积形式的Bezier 曲面
定义为:
其中,
是Bernstein 基函数。

依次用线段连接点

中相邻两点所形成的空间网格,称之为特征网格。

Bezier 曲面的矩阵表示式是:
[]⎥⎥⎥⎥



⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=)(...)()(.....................)(...)()(),(,,1,01
11110
00100,,1,0v B v B v B P P P P P P
P P P u B u B u B v u P n n n n mn m m n n m m m m
在一般实际应用中,
不大于4。

以双三次Bezier 曲面为例,将其写为矩阵表达式则为:
P (u,v )= [ B 0,3(u) B 1,3(u) B 2,3(u) B 3,3(u) ] [ P ij ]4x4 [ B 0,3(v) B 1,3(v) B 2,3(v) B 3,3(v) ]T
=[
]
⎥⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢
⎢⎣⎡----⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢
⎢⎢
⎢⎣⎡----100010033036313
310001
0033036313311233332
31
30
232221201312111003020100
2
3
v v v P P P P P P P P P P P P P P P P u u u 其具体计算方法为:
P x (u,v)=[ B 0,3(u) B 1,3(u) B 2,3(u) B 3,3(u) ] [ P ijx ] 4x4 [ B 0,3(v) B 1,3(v) B 2,3(v) B 3,3(v) ]
T
P y (u,v)=[ B 0,3(u) B 1,3(u) B 2,3(u) B 3,3(u) ] [ P ijy ] 4x4 [ B 0,3(v) B 1,3(v) B 2,3(v) B 3,3(v) ]
T
P z (u,v)=[ B 0,3(u) B 1,3(u) B 2,3(u) B 3,3(u) ] [ P ijz ] 4x4 [ B 0,3(v) B 1,3(v) B 2,3(v) B 3,3(v) ]
T
注意:上式中各基函数的值只需计算一次。

线框图绘制方法:先按等参数方向均匀离散成网格点,在按一定规则绘制网格线。

2.性质
除变差减小性质外,Bezier 曲线的其它性质可推广到Bezier 曲面:
(1)Bezier 曲面特征网格的四个角点正好是Bezier 曲面的四个角点,即:


,。

(2)Bezier 曲面特征网格最外一圈顶点定义Bezier 曲面的四条边界,且每条边界曲线仍为一Bezier 曲线,该边界Bezier 曲线由对应的一条边界特征网格顶点确定,即:
P (u ,0)= [ B 0,m (u) B 1,m (u ) … B m,m (u) ] [ P 00 P 10 … P m 0 ]T P (u ,1)= [ B 0,m (u) B 1,m (u ) … B m,m (u) ] [ P 0n P 1n … P m n ]T P (0,v )= [ P 00 P 01 … P 0n ] [ B 0,n (v) B 1,n (v) … B n,n (v) ]T P (1,v )= [ P m0 P m1 … P m n ] [ B 0,n (v) B 1,n (v) … B n,n (v) ]T
推广之:沿Bezier 曲面任何等参数的截线均为一Bezier 曲线(读者证明)。

(3)Bezier曲面边界的跨界一阶切矢只与定义该边界的顶点及相邻一排顶点(共二排顶点)有关,
且P00P10P01、、和(图上打上斜线的三角形)组成的平面与曲面在对应的角点相切;
其跨界二阶导矢只与定义该边界的及相邻两排顶点(共三排顶点)有关。

(4)几何不变性。

(5)对称性。

(6)凸包性。

下图以双三次Bezier曲面。

P(t)=[ B0,3(u) B1,3(u) B2,3(u) B3,3(u) ] [ P ij]4x4 [ B0,3(v) B1,3(v) B2,3(v) B3,3(v) ]T为例,我们可以清楚看出它的几何特性。

图双三次Bezier曲面及边界信息3.Bezier曲面片的拼接
如图所示,设两张m×n次Bezier曲面片
分别由控制顶点和定义。

v
u
图 Bezier 曲面片的拼接
如果要求两曲面片达到
连续,则它们有公共的边界,即: (3-1)
于是有。

如果又要求沿该公共边界达到
连续,则两曲面片在该边界上有公共的切平面。

因此曲面的法向
矢量应当是跨界连续的,而曲面的偏导切向矢量不必跨界连续,如下图所示,仅需P v (1,v )、Q v (0,v )共线,P u (1,v )、P v (1,v ),Q u (0,v )、Q v (0,v )共面即可。

由此:
(3-2)
下面来研究满足这个方程的两种方法。


1)鉴于(3-1)式,(3-2)式最简单的取解(但更苛刻)是:
(3-3)
这相当于要求合成曲面上v 为常数的所有曲线,在跨界时有切向的连续性。

为了保证等式两边关于v 的多项式次数相同,必须取
(一个正常数)。

于是有:
P v (1,v )
P u (1,v )
Q v (0,v )
Q u (0,v )
P
Q
P
Q
即。

如图所示为两张三次Bezier曲面的拼接示意图
(2)(3-3)式使得两张曲面片在边界达到连续时,只涉及面和的两列控制
顶点,比较容易控制。

用这种方法匹配合成的曲面的边界,u向和v向是光滑连续的。

实际上,该式的限制是苛刻的。

为了构造合成曲面时有更大的灵活性,Bezier在1972年放弃把(3-3)式作为连续的条件,而以
(3-4)
来满足(3-4)式,这仅仅要求位于和所在的同一个平面内,也就是曲面片边界上相应点处的切平面,这样就有了大得多的余地,但跨界切矢在跨越曲面片的边界时就不
再连续了。

其几何意义可以用下图解释,如下图所示的两张三次Bezier曲面的拼接条件仅需相应顶点满足共面即可,显然这一条件更为宽松。

同样,为了保证等式两边关于v的多项式次数相同,须为任意正常数,是v的任意线性函
数。

为了实现多张曲面拼接,需要更多的自由度和更为宽松的条件才可能实现。

为实现这一目标往往需要更高阶的曲面,对低阶曲面可通过升阶方法提高阶次。

四、B样条曲线与曲面
Bezier曲线具有很多优越性,但有二点不足:
1)特征多边形顶点数决定了它的阶次数,当n 较大时,不仅计算量增大,稳定性降低,且控制顶点对曲线的形状控制减弱;
2)不具有局部性,即修改一控制点对曲线产生全局性影响。

1972年Gordon 等用B 样条基代替Bernstein 基函数,从而改进上述缺点。

1.均匀B 样条曲线
(1) 一次均匀B 样条曲线的矩阵表示
空间n+1个顶点i P (i =0,1,。

,n )定义n 段一次(k =1,二阶)均匀B 样条曲线,即每相邻两个点可构造一曲线段P i (u ),其定义表达为:
[]10 ;,...,1 0111 1)(1≤≤=⎥⎦
⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=-u n i u u P i i i P P =(1-u )P i -1 + u P i = N 0,1(u )P i -1 + N 1,1(u )P i
第i 段曲线端点位置矢量:i i i i P P P P ==-)1(,)0(1,且一次均匀B 样条曲线就是控制多边形。

(2) 二次均匀B 样条曲线的
空间n+1个顶点的位置矢量i P (i=0,1,。

,n )定义n -1段二次(k =2,三阶)均匀B 样条曲线,每相邻三个点可构造一曲线段P i (u )(i=1,。

,n -1),其定义表达为:
[
]
10 ;1,...,1 011022121 12
1)(112
≤≤-=⎥⎥⎥⎦

⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=
+-u n i u u u P i i i i P P P

!21(1 - 2 u + u 2)P i -1 +!21(1 + 2 u -2u 2)P i + !
21u 2
P i +1 =N 0,2(u )P i -1 + N 1,2(u )P i + N 2,2(u )P i +1
P 1
P 2
端点位置矢量:)(5.0)0(1i i i P P P +=-,)(5.0)1(1++=i i i P P P ,即曲线的起点和终点分别位于控制多边形
P i-1P i

P i P i+1
的中点。

若1-i P 、i P 、1+i P 三个顶点位于同一条直线上,)(u P i 蜕化成
1-i P i P 1+i P 直线边上的一段直线。

端点一阶导数矢量:1)0(--=i i i P P P ,i i i P P P -=+1)1(,i i i P P P -='+1)0(,12)1(++-='i i i P P P ,即曲线的起点切矢和终点切矢分别和二边重合,且相邻两曲线段在节点处具有一阶导数连续。

二阶导数矢量:)()1(2)0(11t P P P i i i i i i ''=''=+-=''+-P P P ,
即曲线段内任何点处二阶导数相等,且相邻两曲线段在节点处二阶导数不连续。

(3) 三次均匀B 样条曲线
空间n+1个顶点的位置矢量i P (i=0,1,。

,n )构造n -2段三次(k =3,四阶)均匀B 样条曲线段,每相邻四个点可定义一曲线段P i (u )(i=1,。

,n -2),其定义表达为:
[
]
10 ;2,...,1 0141
0303036313
31 161)(21
123
≤≤-=⎥⎥⎥⎥⎦


⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢
⎢⎢
⎢⎣⎡----=++-u n i u u u u P i i i i i P P P P =!31(1-u )3P i -1+!31(4-6u 2+3u 3)P i +!31(1+3u +3u 2-3u 3)P i +1+!
31
u 3P i +2
= N 0,3(u )P i -1 + N 1,3(u )P i + N 2,3(u )P i +1+ N 3,3(u )P i +2
端点位置矢量:)4(61)0(11+-++=i i i i P P P P ,)4(6
1)1(21++++=i i i i P P P P ,即起点位于三角
形∆P i-1P i P i+1中线P i M 1的1/3处,终点位于三角形∆P i P i +1P i+2中线P i +1M 2的1/3处。

可见B 样条曲线的端点并不通过控制点。

端点一阶导数矢量:2/)()0(11-+-='i i i P P P ,)0(2/)()1(12++'=-='i i i i P P P P ,即曲线起点的切矢平行于∆P i-1P i P i+1的底边
P i-1P i+1,其模长为底边P i-1P i+1长的1/2,同样曲线终点的切矢平行
于∆P i P i+1P i+2的底边P i P i+2,其模长也为底边P i P i+2长的1/2。

且相邻两曲线段具有一阶导数连续(因)0()1(1'
='+i i P P )。

二阶导数矢量:112)0(+-+-=''i i i i P P P P ,)0(2)1(121+++''=+-=''i i i i i P P P P P ,即曲线段在端
点处的二阶导数矢量等于相邻两直线边所形成的平行四边形的对角线,且两曲线段在节点处具有二阶导数连续(因)0()1(i i P P ''='')。

若1-i P 、i P 、1+i P 三个顶点位于同一条直线上,三次均匀B 样条曲线将产生拐点;若1-i P 、i P 、1+i P 、
2+i P 四点共线,则)(u P i 变成一段直线;若1-i P 、i P 、1+i P 三点重合,则)(u P i 过i P 点。

P i-1
P i
P i+1
P i+2
思考:用作图法绘制下图均匀三次B 样条曲线。

B 样条曲线段与段之间具有天然的连续性,具有整体的光滑特性,而Bezier 曲线段与段之间必须光滑拼接。

因此在商用系统中B 样条方法应用更为广泛。

2.B 样条曲线的性质
(1) 局部性
空间n+1个控制顶点i P (i=0,1,。

,n )构造(n -k +1)段k 次(k +1阶)B 样条曲线段,且每一曲线段i P (u )(i = 1,。

,n -k +1)由1-i P 、i P 、。

、1-+k i P 等k +1个控制顶点确定,与其它控制点无关。

(2) 整体性和连续性
一般情况下(即无重节点、重顶点),n+1个控制顶点所构造的(n -k +1)段k 次(k +1阶)B
样条曲线段组成一完整的B 样条曲线,曲线段与段之间具有C k -1阶函数连续性(或G k -
1阶几何连
续性),当有K 重顶点时,将可能产生尖点(前面已介绍),虽然仍满足函数连续,但不满足几何连续。

(3) 几何不变性
改变坐标系不改变曲线形状。

P 0 P 2 P 0 ,P 1
P 3 P 4, P 5 ,P 6
P 8。

相关文档
最新文档