曲面和曲线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.2 曲线分析
1)曲线上的活动坐标架
设曲线为P(t)=[x(t), y(t), z(t)],则:
切矢量:P’(t)(当t为弧长时是单位矢),单位切矢记为T。 法矢量:
过曲线上任意一点,以切矢为法线的平面称为法平面。 主法矢:当以弧长为参数时,切矢的导矢是一个与切矢垂直的矢量,其单位矢 称为主法矢,记为N。 副法矢(记为B)B=T×N
左旋右旋螺旋线示例
当导圆柱轴线直立时,右旋螺旋线的可 见部分自左向右升高(图a);左旋螺旋线 则自右向左升高(图b)。
5.4 曲线的插值、逼近与拟合
插值:给定一组有序的数据点Pi,i=0, 1, …, n,构造 一条曲线顺序通过这些数据点,称为对这些数 据点进行插值,所构造的曲线称为插值曲线。 逼近:构造一条曲线使之在某种意义下最接近给定的 数据点,称为对这些数据点进行逼近,所构造 的曲线称为逼近曲线。 拟合:插值与逼近统称为拟合。
4)Bezier曲线的递推算法
计算Bezier曲线上的点,可用Bezier曲线方程,但 使用de Casteljau(德 卡斯特里奥)提出的递推算法 则要简单得多,递推公式:
上式中:Pi0=Pi是定义Bezier曲线的控制点,P0n即 为曲线P(t)上具有参数t的点,(i+k)=n 。 几何递推:给定参数t∈[0,1],就把定义域分成长 度为t:(1-t)的两段。依次对原始控制多边形每一边执行 同样的定比分割,所得分点就是第一级递推生成的中间 顶点Pi1(i=0,1,...,n-1),对这些中间顶点构成的控制多边 形再执行同样的定比分割,得第二级中间顶点 Pi2(i=0,1,...,n-2)。重复进行下去,直到n级递推得到一 个中间顶点P0n即为所求曲线上的点P(t)。
2)Betnstein基函数的性质 :
① 正性: ② 端点性质: ③ 权性: ④ 对称性: ⑤ 递推性 : ⑥ 导函数 : ⑦ 最大值 : ⑧ 升阶公式 : ⑨ 积分性质:
3)Bezier曲线的性质
① 端点性质 :曲线端点就是特征多边形端点 ;端点切线与特征多边形的起始和终止边 走向一致(r阶导矢只与(r+1)个相邻点有关,与更远点无关)。 ② 对称性 :将控制顶点编号进行对调,生成的Bezier曲线,形状不变,走向相反。 ③ 凸包性 :对于空间分布的点,可以想像一封闭的橡皮膜包住这些点,任其弹性收缩 所形成的空间区域既是该点集的凸包。
④ 几何不变性 :Bezier曲线的位置与形状与其特征多边形顶点Pi(i=0,1,...,n)的位置有 关,不依赖坐标系的选择。 ⑤ 变差缩减性:若P0,P1,...Pn在同一平面,则平面内任意直线与Bezier曲线的交点个数 不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。此性质反映 了Bezier曲线比其特征多边形的波动小,也就是说Bezier曲线比特征多边形的折线更 光顺。 ⑥ 仿射不变性:在仿射变换(保持“直线”和“平行性” )下,Bezier曲线的形式不变, 即对任意的仿射变换A
2)B样条举例
零次B样条:平台函数1源自Ni,0ti-1ti Ni,0
ti+1
ti+2
ti+3
1
Ni+1,0 Ni,1
一次B样条:山形函数
ti-1 ti
ti+1
ti+2
ti+3
二次B样条
1
Ni,1 Ni,2
Ni+1,1
ti-1
ti
ti+1
ti+2
ti+3
3)B样条基性质
(1)递推性: 即de Boor-Cox公式 (2)规范性(权性,在定义区间中):
B j , n (v ) = C nj u j (1 − u ) n − j 是 Bernstein 基函数
写成矩阵形式:
P00 P P (u , v ) = [ B0,m (u ) B1,m (u ) ... Bm ,m (u )] 10 M Pm 0 P01 L P0 n P L Pn 11 1 M O M Pm1 Pmn B0,n (v) B (v ) 1,n M Bn ,n (v)
∑N
i =0
n
i ,k
(t ) = 1
T(单位切矢)、N(主法矢)和B(副法矢)构成了曲线上的活动坐标架;N、B构成的平 面称为法平面;N、T构成的平面称为密切平面(它与曲线最贴近);B、T构成的平 面称为从切平面。 对于一般参数t,有:
2)曲线的曲率和绕率
曲率: 由于T’(s)与N平行,令T’(s)= κN, κ称为曲率,其几何意义是曲线的单位切矢对弧长的转动率。κ恒为正,又 称为绝对曲率。κ曲率的倒数ρ=1/κ ,称为曲率半径。 绕率: 由B(s)·T(s)=0,两边求导,可得: B‘(s)·T(s)=0; 又由|B(s)|2=1,两边求导,可得: B‘(s)·B(s)=0; 所以,B’(s)∥N(s),再令B’(s)=-τN(s), τ称为绕率,其几何意义是副法矢方向对于弧长的转动率。挠率大于0、等 于0和小于0分别表示曲线为右旋空间曲线、平面曲线和左旋空间曲线。 对于一般参数t,可以推导出曲率和绕率的计算公式如下:
5.9 Bezier曲面
1)定义 :
设Pij(i=0,1,…,m;j=0,1,…,n)为(m+1)×(n+1)个空间点,则m×n次 的Bezier曲线为:
P (u , v ) = ∑ ∑ Pij Bi , m (u ) B j , n (v ) u , v ∈ [0,1]
i =0 j =0 i 其中 Bi , m (u ) = C m u i (1 − u ) m −i , m n
第五章 曲线和曲面
5.1 曲线的数学表示
1)显示表示:y=f(x) 2)隐式表示:f(x,y)=0 3)参数表示:P(t)=[x(t), y(t)]
在曲线、曲面的表示上,参数方程比显式、隐式方程有更多的优越性, 主要表现在: (1)容易满足几何不变性(与坐标系的选取无关)的要求。 (2)有更大的自由度来控制曲线、曲面的形状。 (3)可对参数方程直接进行几何变换,而不需要逐点变换。 (4)便于处理斜率为无穷大的情形,不会因此而中断计算。 (5)便于把低维空间中曲线、曲面扩展到高维空间中去。 (6)规格化的参数变量t∈[0,1],使得界定曲线、曲面的范围十分简单。 (7)易于用矢量和矩阵运算,从而大大简化了计算。
这个递推公式表明: K次B样条Ni,k(t)可以由两个k-1次B样条Ni,k-1(t)与Ni+1,k-1(t) 递推得到。其线性组合系数分别是
t − ti ti + k + 1 − t 与 ti + k − ti ti + k + 1 − ti + 1
两个系数的分母恰好是两个K-1次B样条的支撑区间的长 度,分子恰好是参数t把第i个k次B样条Ni,k(t)的支撑区间 划分成两部分的长度。
5.10 B样条曲线
以Bernstein基函数构造的Bezier曲线或曲面有许多优 越性,但有两点不足:
① Bezier曲线或曲面不能作局部修改。 ② Bezier曲线或曲面的拼接比较复杂。
B样条方法,在保留Bezier方法全部优点的同时,克服 了Bezier方法的弱点。
1)B样条曲线的定义
B样条曲线方程定义为: 其中,Pi(i=0,1,...,n)为控制顶点(又称德布尔点),Ni,k(t)(i=0,1,...,n)称为k次B 样条基函数,其中每一个称为B样条,它们是由一个称为节点矢量的非递减的参数 t的序列T(t0≤t1≤…≤tn+k+1,共(n+1)+(k+1)个)所决定的k次分段多项式, 也即k次多项式样条。 由于B样条基是多项式样条空间中具有最小支撑的一组基,故被称为基本样条 (basic spline),简称B样条。 basic spline B B样条有多种等价定义,标准算法是de Boor-Cox(德布尔-考克斯)递推定 义,又称为de Boor-Cox公式(约定0/0=0): , 1 若ti ≤ t < ti +1 N i , 0 (t ) = 0, 其它 N (t ) = t − ti N (t ) + ti + k +1 − t N (t ) i , k −1 i +1, k −1 i ,k t i + k − ti ti + k +1 − ti +1 这个递推公式表明:欲确定第i个k次B样条Ni,k(t),需要用到ti,ti+1,...,ti+k+1 共k+2个节点,称区间[ti,ti+k+1)为Ni,k(t)的支承区间,在此区间外Ni,k(t)为零。 曲线方程中,n+1个控制顶点Pi(i=0,1,...,n),要用到n+1个k次B样条Ni,k(t)。它们 支撑区间的并集定义了这一组B样条基的节点矢量T=[t0,t1,...,tn+k+1]。
5)Bezier曲线的拼接
Bezier曲线是由n+1个顶点控制的n次多项式,由于多项式的次数不易过高,所以通常采 用分段设计的方法。将各段曲线相互连接起来,并在接合处保持一定的连续条件。 给定两条Bezier曲线P(t)和Q(t),相应控制点为Pi(i =0,1,...,n)和Qi(i=0,1,...,m),则: (1)要使它们达到G0连续,充要条件:Pn= Q0 (2)要使它们达到G1连续,充要条件: Pn-1,Pn=Q0,Q1三点共线。 (3)要使它们达到G2连续,必要条件: G1连续 Pn-2、Pn-1、Pn=Q0、Q1和Q2五点共面,且Pn-2和Q2位于Pn-1Q1直线的同一侧。 G3连续的必要条件比较复杂,对Q2位置有进一步要求。
v
u
2) Bezier曲面的性质
① Bezier曲面特征网格的四个角点正好是Bezier曲面的四个角点,即:P(0,0)=P00, P(1,0)=Pm0,P(0,1)=P0n,P(1,1)=Pmn。 ② Bezier曲面特征网格最外一圈顶点定义Bezier曲面的四条边界;Bezier曲面边界的跨 界切矢只与定义该边界的顶点及相邻一排顶点有关;其跨界二阶导矢只与定义该边 界的顶点及相邻两排顶点有关。 ③ 几何不变性:只依赖顶点Pij(i=0,1,…,n;j=0,1,…,m) ,不依赖坐标系的选择。 ④ 对称性:将控制顶点编号进行对调,生成的Bezier曲面形状不变。 ⑤ 凸包性:曲面在凸包内。 ⑥ 递推性:使用曲线的递推方法,先在u方向的n个控制多边形上(每个多边形上m个 点)确定n个m阶Bezier曲线点,然后再利用这n个点使用曲线递推的方法最后确定 曲面上的点。先v方向再u方向也一样。 ⑦ 对曲面片的拼接要求条件较高(G0除外)。
5.8 Bezier 曲线
1)定义: 给定空间n+1个点的位置矢量Pi(i=0,1,2,…,n), 则Bezier参数曲线上各点坐标的插值公式是:
其中,Pi (i=0,1,…,n)构成该Bezier曲线的特征多边形, Bi,n(t)(i=0,1,…,n)是n次Bernstein基函数,规定 00 =1, 0!=1 。
③ 向心参数化法,考虑到相邻弦线的拐折情况 :
④ 修正弦长参数化法 ,在四种方法中效果最好:
5.6 连续性
设计一条复杂曲线时,常常通过多段曲线组合而成。 曲线间连接的光滑度的度量有两种: 一种是函数的可微性:把组合参数曲线构造成为在连接处具有直到n阶连续 导矢,即n阶连续可微,这类光滑度称之为Cn或n阶参数连续性。 另一种称为几何连续性,组合曲线在连接处满足直到n阶的导矢方向相同, 称为具有n阶几何连续性,简记为Gn。 曲线光滑度的两种度量方法并不矛盾,Cn连续包含在Gn连续之中,也就是说Cn 连续的条件比Gn连续的条件要苛刻。 在曲线和曲面造型中,一般只用到C1、C2、G1、和G2连续。 在弧长参数化情况下,几何连续与参数连续是一致的。弧长实际上是一个几何 量。
5.5 参数化
为一组有序的数据点(P0,P1,…Pn) 赋予相应的一组参数值(t0<t1<…<tn, 每个参数点称为节点) 称之对这组数据点实行参数化。 对一组数据点(P0,P1,…Pn)实行参数化的常用方法有以下几种: ① 均匀参数化(等距参数化) ,在型值点不均匀时不理想。 ② 累加弦长参数化,考虑到弧长因素: