第4章 自由曲线与曲面建模

第4章 自由曲线与曲面建模
第4章 自由曲线与曲面建模

CAD/CAM
CAD/CAM
典型机械零件
CAD/CAM技术基础 —第4章 自由曲线与自由曲面建模
天津大学机械工程学院 产品设计与制造技术研究所 陈永亮
曲线曲面
1
曲线曲面
2
CAD/CAM
典型机构
CAD/CAM
圆柱齿轮
曲线曲面
3
曲线曲面
4
CAD/CAM
蜗轮蜗杆
CAD/CAM
锥齿轮
弧齿锥齿轮
摆线锥齿轮
曲线曲面
5
面齿轮
曲线曲面
6
1

CAD/CAM
? ? ? ? 齿轮类零件 涡轮类零件 凸轮类零件 叶轮叶片类零件
离心压缩机叶轮
CAD/CAM
曲线曲面
7
曲线曲面
8
CAD/CAM
? ? ? ? ? ? ? ? ? ? ?
圆的参数方程
? ? ? ? ? ? ? ?
曲线曲面
9
CAD/CAM
渐开线的参数方程
例1:圆 参数方程文件:Rel.ptd /* 为笛卡儿坐标系输入参数方程 /*根据t (将从0变到1) 对x, y和z /* 例如:对在 x-y平面的一个圆,中心在原点 /* 半径 = 50,参数方程将是: db=100 rb=db/2 x = rb * cos ( t * 360 ) y = rb* sin ( t * 360 ) z=0
例2:渐开线 1)采用直角坐标系 db=100 rb=db/2 u =t* 45 x=rb*cos(u)+rb* sin(u)*u* pi/180 y=rb* sin(u)-rb*cos(u)* u* pi/180 z=0
曲线曲面 10
CAD/CAM
渐开线的参数方程
CAD/CAM
渐开线的参数方程
rb-基圆半径 u=45t t-参数 ,[0,1]
曲线曲面 11
db=100 rb=db/2 u =t* 45 x=rb*cos(u)+rb* sin(u)*u* pi/180 y=rb* sin(u)-rb*cos(u)* u* pi/180 z=0
曲线曲面 12
2

基于反求测
CAD/CAM
? ? ? ? ? ? ? ? ? ? 例3:外摆线 采用直角坐标系 r1=100 r2=50 a=60 u1 =t* 45 u2=u1*r1/r2 x=-a*sin(u1+u2)+(r1+r2)*sin(u1) y=-a*cos(u1+u2)+(r1+r2)*cos(u1) z=0
外摆线
CAD/CAM 和Pro/e的混合网格曲面
建模过程
曲线曲面 13
曲线曲面 14
CAD/CAM
以马鞍形为例:
CAD/CAM
M文件
? (马鞍型曲面z = ( - x4 + y4 -x2 - y2 - 2xy) /30来进行说 明。设定x = - 4 ∶015∶4; y = x) ? 利用MATLAB得到公式曲面 数据。利用Matlab 取得生 成曲面需要的数据,将结果 存储于. ibl 中,利用ProE 边界混成曲面命令可以直接 从. ibl 文件曲线,进而生成 曲面即可.
曲线曲面 15
? clc ? clear ? [th,r]=meshgrid((0:5:360)*pi/180,0:. 05:1); %在极坐标系下设置一个 73×21的网格矩阵, ? [X,Y]=pol2cart(th,r); %转化为笛卡儿 坐标系% ? Z=X+i.*Y; ? F=abs((Z.^4-1).^(1/4)); ? surf(X,Y,F); %显示曲面的立体图形 %
曲线曲面 16
CAD/CAM
Pro/e数据格式
CAD/CAM
参考书
? Pro/ENGINEER Wildfire 3.0曲面建模实例精解 曹 岩主编 2007-4-7 ? SolidWorks 2008曲面建模实例精解 曹岩主编 2009-3-18 ? UG NX4曲面建模实例精解 北京立科公司编著 2007-6-6 ? SolidWorks 2007曲面建模实例精解 曹岩主编 2007-7-12 ? SolidWorks 2005曲面建模实例精解 曹岩, 陈桦主 编 ? CATIA V5R15曲面建模实例精解 曹岩主编 ? Pro/ENGINEER Wildfire 3.0曲面建模实例精解 曹岩主编 2008-7-15
曲线曲面 17 曲线曲面 18
3

CAD/CAM
CAD中由已知曲线或曲面的数学方程生成的曲 线曲面称为规则曲线曲面 规则曲线曲面,常用隐函数或二次 方程的显函数表示。 但在汽车、轮船、飞机、模具、艺术品等产品 设计中,存在大量的不能用二次曲面描述的曲 线曲面,这类曲线曲面称为自由曲线(Free 自由曲线(Free Form Curves)和自由曲面(Free Form Curves) 自由曲面(Free Surfaces), 计算机辅助几何设计 Surfaces),这是计算机辅助几何设计 (CAGD)研究的主要几何形状。 CAGD) 举例:汽车车身、飞机机身、模具型面
曲线曲面 19
CAD/CAM 汽车车身三维曲面模型
曲线曲面 20
CAD/CAM 大众汽车
Source:
Development Car Division
CAD/CAM
波音飞机
Audi A3
(3+ 5-door)
Audi TT coupe
Audi TT roadster VW Golf IV VW Bora VW Beetle Skoda Octavia
(Octavia sedan, and station wagon)
(3+5 door, station (Bora sedan, coupe, (New Beetle, wagon, convertible, convertible, and New Beetle convertible) and Minivan) station wagon)
? VW plans for 19 vehicles based on A-platform ? VW estimates development and investment cost savings of $1.5 billion/yr using platforms
Seat Toledo Successor
(Toledo, coupe, station wagon, and convertible)
曲线曲面 21
曲线曲面 22
CAD/CAM
Airbus(空客)飞机
空中客车四个飞机系列: ? 单通道A320系列飞机 (A318/A319/A320/A321) ? 宽体A300/A310系列飞机 ? 远程A330/340系列飞机 ? A380双层超大型客机
CAD/CAM
模具型面
上模

压边圈 +

下模
https://www.360docs.net/doc/5011021557.html,
曲线曲面 23
模具主模块
曲线曲面 24
4

CAD/CAM
思 考 题
CAD/CAM
工程设计中常遇到具有复杂形体的产品,如 汽车外壳、飞机的机身、电话机等,这些产 品由复合曲面构成,其曲面生成的过程 曲面生成的过程是: 首先确定一系列的离散点 离散点,再由一组点来生 成一条曲线 曲线或一个曲面 曲面,通过多条曲线或多 个曲面之间的光滑连接 光滑连接,构造达到要求的复 杂形状。 构造曲面的方法:首先通过一系列离散 构造曲面的方法 点确定一组曲线(称为控制曲线 控制曲线),再由这 些曲线构造要求的曲面。
曲线曲面 26
? 1 其它需要采用复杂曲面的产 品有哪些,请举例说明?
? 2 如何构造这些复杂曲面?
曲线曲面 25
CAD/CAM
CAD/CAM
4.1 自由曲线
4.1.1 曲线曲面描述的基本原理
第4章 自由曲线与自由曲面建模
4.1 4.2 自由曲线 自由曲面
4.1.2 Hermite曲线 4.1.3 Bezier曲线 4.1.4 B样条曲线 4.1.5 非均匀有理B样条(NURBS)曲线
曲线曲面 27
曲线曲面 28
CAD/CAM
4.1.1 曲线曲面描述的基本原理
CAD/CAM
在曲线曲面设计中,通常是用一组离散的型值点或特 征点来定义和构造几何形状,并且所构造的曲线曲面应满 足光顺的要求。这种曲线曲面定义的主要方法是插值和逼 近。 (1)插值:给定一组精确的数值点,要求构造一个函 数,使之严格地依次通过全部型值点,且满足光顺的要 求。 (2)逼近:对于一组给定的控制顶点,要求构造一个 函数,使之在整体上最接近这些控制点而不一定通过这些 点。 (3)光滑(smooth):从数学意义上讲,光滑是指曲线 或曲面具有至少一阶连续导数。 (4)光顺(fair):至今仍是一个模糊的概念,尚无统一 的标准。一方面有主观的因素,另一方面与应用背景相 曲线曲面 30 关。但仍有一些客观标准及处理方法。
自由曲线可以是由一系列的小曲线段 小曲线段连接而成,自 自 自由曲线 由曲面可以是由无数个小的曲面片 曲面片拼合而成。因此,曲 由曲面 线曲面的研究重点是曲线段或曲面片的描述 曲线段或曲面片的描述及其连接拼 连接拼 合方法。 合方法 1. 几何设计的基本概念 在自由曲线和曲面描述中常用三种类型的点: (1)特征点 特征点(控制顶点):用来确定曲线曲面的 形状位置,但曲线或曲面不一定经过该点。 (2) 型值点:用于确定曲线或曲面的位置与形状 型值点 并且经过该点。
曲线曲面 29
5

CAD/CAM
2. 曲线曲面的数学描述方法
CAD/CAM
曲线和曲面的参数表示
在解析几何中,空间曲线上一点P的每个 坐标被表示成参数化u的函数:
曲线曲面可以用隐函数 显函数或参数方程 隐函数、显函数 参数方程表示。用隐函 数表示不直观,作图不方便(如ax+by+c=0);用显函数表示 存在多值性(如x2+y2=r2)和斜率无穷大(如y=mx+b)等问 题。此外,隐函数和显函数只适合表达简单、规则的曲线曲 面。 自由曲线曲面多用参数方程 参数方程表示,相应地称为参数曲线 参数曲线或 自由曲线曲面 参数曲面。 参数曲面 空间的一条曲线可以表示成随参数t变化的运动点的轨迹 轨迹, 其矢量函数为: P(t)=P(x(t),y(t),z(t)) , t 的范围是 [0,1] 同理,空间中的一张曲面可用参数(u,v)表示为: P(u,v)=P( x(u,v),y(u,v),z(u,v)) , (u,v) 的范围是 [0,1]×[0,1]
曲线曲面 31
同样在三维空间内一张任意曲面可用带参 数u、v的参数方程表示为:
曲线曲面 32
CAD/CAM
如下图所示,曲面有两族参数曲线r (u,vj)和r (ui,v),通常简称u线和v线,u线 与v线的交点是r(ui,vj)。
CAD/CAM
用参数表示曲线曲面的优点: (1)具有几何不变性。某些几何性质不随一定的坐标变换 而变化的性质称为几何不变性。曲线形状本质上与坐标 系的选取无关。 (2)可以处理无穷大的斜率。dy/dx=(dy/dt)/(dx/dt) (3) 参数方程将自变量和因变量完全分开,使得参数变化 对各因变量的影响可以明显地表示出来。 (4)可以处理多值曲线。 (5)规格化参数变量,使其相应的几何分量是有界的。 由 于参数限制在0到1的闭区间之内,因而所表示的曲线总 是有界的,不需另设其他数据来定义其边界。 (6)对曲线曲面形状控制的自由度更大。如一条二维三次 曲线的显式表示为:
曲线曲面 33
曲线曲面 34
CAD/CAM
y = ax + bx + cx + d
3 2
CAD/CAM
4.1.2 Hermite曲线
其中只有4个系数可控制曲线的形状,而对于其参数表示 为:
Hermite曲线是给定曲线段的两个端点坐标以 及两端点处的切线矢量来描述曲线。空间一 条三次参数曲线可以表示为:
x = a1 + b1t + c1t 2 + d1t 3 y = a 2 + b2 t + c 2 t 2 + d 2 t 3 z = a3 + b3 t + c3 t 2 + d 3 t 3
x = at 3 + bt 2 + ct + d
y = et + ft + gt + h
3 2
其中有8个系数可用来控制曲线的形状。 (7) 易于用矢量和矩阵表示几何量,从而简化了计 算。
该曲线的矢量表达式为:
p = p (t ) = k 0 + k 1 t + k 2 t 2 + k 3 t 3
应用端点P0和P1,以及端点切矢P0’和P1’, 可得:
曲线曲面 36
曲线曲面 35
6

CAD/CAM
k 0 = p0 k 1 = p′ 0 k 2 = 3(p1 ? p 0 ) ? 2p ′ ? p ′ 0 1 k 3 = 2(p1 ? p 0 ) + p ′ + p ′ 0 1
CAD/CAM
4.1.3 Bezier曲线
于是,
p = p (t ) = p 0 (1 ? 3t 2 + 2t 3 ) + p 1 3t 2 ? 2t 3 + p ′ (t ? 2t 2 + t 3 ) + p ′ ? t 2 + t 3 0 1
1962年,Bezier提出了一种自由曲线曲面的设 计方法,称为Bezier方法。其具体设计过程 是:
(
)
(
)
矩阵表达式为 :
0 0 0 ? ?p 0 ? ?1 ?0 0 1 0 ? ?p 1 ? ? ?? ? p = p(t ) = 1 t t t ?? 3 3 ? 2 ? 1? ?p ′ ? 0 ? ?? ? 1 ? ?p ′ ? ? 2 ?2 1 1
[
2
3
]
从模型或手绘草图上取得数据后,用绘图工 具绘出曲线图,然后从这张图上大致定出 Bezier特征多边形各控制顶点的坐标值,并输 入计算机进行交互的几何设计,调整特征多 边形顶点的位置,直到得出满意的结果为 止;最后用绘图机绘出曲线样图。
曲线曲面 38
曲线曲面 37
CAD/CAM
Bezier曲线概述
CAD/CAM
Bezier曲线的一般数学表达式为:
1. 下图所示为三次Bezier曲线的形成原理,这是 由四个位置矢量Q0、Q1、Q2、Q3定义的曲线。
式中Qi各顶点的位置矢量, 并有
为Bernstein基函数,
曲线曲面 39
曲线曲面 40
CAD/CAM
当n=3时,上式变为三次Bezier曲线:
CAD/CAM
Bezier曲面概述
写成矩阵形式则为:
曲线曲面 41
曲线曲面 42
7

CAD/CAM
1. Bezier曲线定义
CAD/CAM
(1)三次Bezier曲线
在空间给定n+1个控制顶点Pi(I=0,1,…,n),称下列 参 数曲线为n次Bezier曲线。
常用 的三次Bezier曲线,由4个控制顶点确定。容易算 出,与其对应的4个Bernstein基函数为:
P(t) = ∑PBi,n (t) i
i=0
n
(0 ≤ t ≤1)
n ?i
B0,3 (t ) = (1 ? t )
2
3
B1,3 (t ) = 3t (1 ? t ) B3,3 (t ) = t
3
2
i Bi , n (t ) = C n (1 ? t ) t i
i Cn =
(0 ≤ t ≤ 1)
B2 ,3 (t ) = 3t (1 ? t )
相应的Bezier 曲线为
n! i!(n ? i )!
P (t ) = (1 ? t ) P0 + 3t (1 ? t ) P1 + 3t 2 (1 ? t )P2 + t 3 P3
3 2
Bi , n (t ) 称为伯恩斯坦基函数(Bernstein Basis)。
一般称折线
P0 P1 L Pn
为P(t)的控制多边形;称
曲线曲面 43
P0 , P1 , L , Pn
各点为P(t)的控制顶点。
?? 1 3 ? 3 ? 3 ?6 3 P (t ) = t t t 1 ? 0 ?? 3 3 ? 0 0 ?1
[
3
2
]
1? ? P0 ? 0? ? P1 ? ?? ? 0? ? P2 ? ?? ? 0? ? P3 ?
曲线曲面 44
CAD/CAM
(2)二次Bezier曲线
CAD/CAM
2. Bezier曲线的程序设计
二次Bezier曲线由三个控制顶点确定,此时,相应 的曲线表达式为
P (t ) = (1 ? t ) P0 + 2t (1 ? t )P1 + t 2 P2
2
实际应用的主要是三次Bezier曲线。利用它的参数 表达式在区间(0,1)内取多个值,例如100,计算出 这100个值对应的坐标点,依次连接这些点就得到 一条Bezier曲线。
对应于一条抛物线。 (3)一次Bezier曲线 一次Bezier曲线由两个控制顶点确定,此时,相 应的曲线表达式为
为程序设计方便,改写曲线的表达式为:
P (t ) = (1 ? t )P0 + tP1
这是一条连接P0和P1的直线段。
曲线曲面 45
? x (t ) = (1 ? t )3 x0 + 3t (1 ? t )2 x1 + 3t 2 (1 ? t )x2 + t 3 x3 ? 3 2 2 3 ? y (t ) = (1 ? t ) y0 + 3t (1 ? t ) y1 + 3t (1 ? t ) y 2 + t y3
曲线曲面 46
CAD/CAM
? x (t ) = A0 + A1t + A2 t 2 + A3t 3 ? 2 3 ? y (t ) = B0 + B1t + B2 t + B3t
? A0 = x0 ? A = ?3 x + 3 x ? 1 0 1 ? ? A2 = 3x0 ? 6 x1 + 3x2 ? A3 = ? x0 + 3x1 ? 3x 2 + x3 ?
CAD/CAM
0 ≤ t ≤1
在Bernstein基函数
3. Bezier曲线的性质
i Bi , n (t ) = C n (1 ? t ) t i n ?i
(0 ≤ t ≤ 1)
? B0 = y 0 ? B = ?3 y + 3 y ? 1 0 1 ? ? B2 = 3 y 0 ? 6 y1 + 3 y 2 ? B3 = ? y 0 + 3 y1 ? 3 y 2 + y 3 ?
中, n为基本曲线的次数, i为基函数的序号。由排列组 合和导数运算规律可以推导出Bernstein基函数的如下性 质:
(1)正性(非负性): (2)权性: (3) 对称性: (4)导数性质: (5)递推性质:
Bi ,n (t ) ≥ 0
0 ≤ t ≤1
∑ B (t ) = 1
i =0 i ,n
n
注意:再添加一个z 坐标,就可得到空间Bezier曲 线。
曲线曲面 47
Bi ,n (t ) = Bn ?i ,n (1 ? t )
B' i ,n (t ) = n (Bi ?1,n ?1 (t ) ? Bi ,n ?1 (t ? 1)) Bi ,n (t ) = (1 ? t )Bi ,n ?1 (t ) + Bi ?1,n ?1 (t ) 曲线曲面 48
8

CAD/CAM
1)端点性质 i
Bezier曲线的一些性质:
CAD/CAM
(3) 凸包性
曲线经过特征多边形的首末点。因为
n ?n ? ?∑ λi ri | ∑ λi ≡ 1,0 ≤ λi ≤ 1(i = 0,1, L , n )? i =0 ? i =0 ?
P (0 ) = P0 , P (1) = Pn
i 曲线P(t)在P0点与边P0P1相切,在Pn 点与 相切。因为
P′(0) = n (P1 ? P0 ), P′(1) = n (Pn ? Pn ?1 )
所以,控制顶点P0,P1,…,Pn的凸包为:
Pn ?1 Pn
n n ? ∑ λ P | ∑ λ ≡ 1,0 ≤ λ ≤ 1(i = 0,1,L, n )? ? ? i i i i i =0 ? ?i = 0
所以,P(t)是P0,P1,…,Pn凸线性组合。 这证明Bezier曲线 完全被包在其特征多边形的凸包内。
2)对称性 由Bernstein基函数的对称性可知,控制点的次序完 全颠倒过来后,曲线的形状不变,但走向相反。这 表明,同一特征多边形定义的Bezier曲线是惟一的.
曲线曲面 49 曲线曲面 50
CAD/CAM
(4) 几何不变性 由给定控制顶点所确定的Bezier曲线的形状与坐标 系的选取无关。此性质就是Bezier曲线的几何不变 性。 几何不变性对几何图形来说是一种很重要的性质。 在计算机图形学中经常要作坐标变换,如果同一表 示式在不同坐标系下表示不同的曲线,则会给图形 变换带来很多不便之处。 (5)交互能力 控制多边形P0P1…Pn大致地勾画出Bezier曲线P(t) 的形状。 要改变P(t)的形状,只要改变P0,P1,…,Pn 的位置即可。
曲线曲面 51
CAD/CAM
(6)变差减小性 如果Bezier曲线P(t)的控制多边形P0P1…Pn是一平面 图形,则该平面内的任意直线与P(t)的交点个数不 多于该直线与控制多边形P0P1…Pn交点的个数,这 一性质称为变差减小性。 此性质说明Bezier曲线比 控制多边形所在的折线更光顺。 (7)保凸性 如果平面上的凸控制多边形能导致所生成的曲线为 凸曲线,则称这个曲线生成的方法具有保凸性。 我们将控制多边形的终点与起点连起来,如果这样 形成一个闭的凸多边形,则相应的Bezier曲线是一 个凸的平面曲线。此性质就是Bezier 曲线的保凸 性。
曲线曲面 52
CAD/CAM
1) 拼接
4. Bezier曲线的拼接与反算
CAD/CAM
设P(t)是Pi(i=0,1,2,3)确 定的三次Bezier曲线; Q(t)是Qi(i=0,1,2,3)确定 的三次Bezier曲线.
P1 P0 Q3 P3=Q0 P2 Q1 Q2
Bezier曲线的次数是由其控制顶点确定的。常用的三次 Bezier曲线由四个控制顶点确定。 多控制点(n>4)的三次Bezier曲线存在着几条曲线的拼接 问题,其关键问题是如何保持拼接处的连续性。不同的 问题在连接点处对连续性有不同的要求,常用到的有以 下几种: 参数连续: 切矢同向且模长相等. 几何连续:切矢同向.
C1
C2
满足 P3=Q0, 0<=t<=1 1) 两曲线在连接点达到一阶导数连续的条件为
P ′(1) = Q ′(0 )

P2 ? P3 = Q1 ? Q0
连续
曲线曲面 53
亦即,P2、P3(Q0)和Q1共线,且P2、 Q1在P3的异侧。
曲线曲面 54
9

CAD/CAM 2)两曲线在连接点达到二阶导数连续的条件为
P ′(1) = Q ′(0 ) P ′′(1) = Q ′′(0 )
P3=Q0 P2 Q1 Q2
CAD/CAM
CAD/CAM
2) 反算
所谓曲线控制顶点的反算是指由曲线上的一系列点(称 之为型值点)反求出该曲线的一系列控制顶点的过程。 如果给定 n+1个型值点 Q0 , Q1 , L , Qn ,要求一系列控 制点,由这些控制点定义的一条Bezier曲线通过已知 的型值点,这与平常给定控制点求型值点的过程恰好 相反。 设所求的控制点为 P0 , P1 , L , Pn ,它定义的Bezier 曲线为P(t), 满足 P (i / n ) = Qi
0 1 Qi = C n (1 ? i / n ) P0 + C n (1 ? i / n ) n n ?1
由 P ′′(1) = 6( P3 ? P2 + P1 )
Q ′′(0 ) = 6(Q2 ? Q1 + Q0 )
可得 Q2 ? P1 = 2(Q1 ? P2 )
P1 P0 Q3
根据以上条件,可以调整P(t)和Q(t)这两段曲线,使得在 连接点处达到一阶几何或导数连续: 步骤1:平移多边形 Q0Q1Q2Q3 使Q0与P3重 合。 步骤2:围绕Q0转动多边形 Q0Q1Q2Q3 使 P2 P3 与 Q0Q1 平行且同向(或模长相 等)
曲线曲面 55
,于是
(1 ? i / n )P1 + L + C nn (i / n )n Pn (i = 0,1,2, L , n )
注意:t的取法不同,反求的控制顶点不同。
曲线曲面 56
CAD/CAM
4.1.4 B样条曲线
CAD/CAM
B样条曲线
B样条曲线概述
Bezier曲线是通过逼近特征多边形而获得曲线 的,存在的不足是: 1)缺乏局部修改性, 即改变某一控制点对整个 曲线都有影响. 2)n较大时,特征多边形的边数较多,对曲线 的控制减弱。 1972年,Riesenfeld等提出了B样条曲线。 i用B样条基函数代替Bernstein基函数; i逼近特征多边形的精度更高. i 多边形的边数与基函数的次数无关。 i具有局部修改性.
曲线曲面 57
1.B样条曲线采用特征多边形及权函数定义曲 线,权函数是B样条基函数,便于局部修改。B样 条基函数定义为:
式中i是基函数的序号, ; n是样条 次数,j表示一个基函数是由哪几项相加。
曲线曲面 58
CAD/CAM
三次均匀B样条曲线的矩阵表达式为:
CAD/CAM
B样条曲面概述
2.同理B样条曲面也可视为由B样条曲线网格绘制 而成的。通用B样条曲面方程为:
双三次B样条曲面方程为:
曲线曲面 59
曲线曲面 60
10

CAD/CAM
3. B样条曲线、曲面的优点
具有局部可修改性和很强的凸包性,较成功地解决 了自由型曲线、曲面的描述问题。
M c
CAD/CAM
n
B样条曲线定义
设有控制顶点P0,P1,…,Pn,则k阶(k-1次)B样条曲线的数学 表达式为:
P (t ) = ∑ N i ,k (t ) Pi
i =0
式中Ni,k(t)是k-1次B样条曲线的基函数.它由一个结点 向量递归定义,它仅在某个局部不等于零,因而使B样条 曲线具有局部可修改性.
曲线曲面 61
曲线曲面 62
CAD/CAM
三次均匀B样条曲线
CAD/CAM
所以,Pi(t)的矩阵表达式为
1. 三次均匀B样条曲线的表达式
对于n+1个控制顶点 P0 , P1 , L , Pn ,每四个顺序点
Pi Pi +1 Pi + 2 Pi +3 一组构造相应的一段三次B样条曲 线:
4 1 ?1 ? 0 3 1 2 3 ?? 3 P (t ) = 1 t t t i ? 3 ?6 3 6 ? ??1 3 ? 3
[
]
0? ? Pi ? 0? ? Pi +1 ? ?? ? 0? ? Pi + 2 ? ?? ? 1? ? Pi +3 ?
0 ≤ t ≤1
Pi (t ) = Pi N 0,4 (t ) + Pi +1 N1,4 (t ) + Pi + 2 N 2,4 (t ) + Pi + 3 N 3,4 (t )
= ∑ Pi + j N j , 4 (t )
3 j =0
0 ≤ t ≤1
i = 0,1,2,L, n ? 3
根据上式可以在平面直角坐标系中设计三次B样条曲线生 成的程序.
其中
N0,4(t)=1/6(1-t)3 , N1,4(t)=1/6(3t3-6t2+4), N2,4(t)=1/6(-3t3+3t2+3t+1), N3,4(t)=1/6t3
曲线曲面 63 曲线曲面 64
CAD/CAM
Pi
2. 三次均匀B样条曲线段的几何特性、拼接 P’i(0) Pi+1 Pi+2 i Pi(0) i Pi(1)
Pi′′(0 ) Pi′′(1)
CAD/CAM
3. 三次均匀B样条曲线的边界控制与反算 ?边界处理
P’i(1) Pi+3 在实际应用中,往往需要所设计的B样条曲线通过控制 多边形的起点和终点,这就需要对曲线的边界进行处 理.有多种处理方法,现介绍一种: 在始端和终端各 增加一个顶点 P-1 和 Pn+1 , 使 P-1 P0 =P0 P1 Pn-1Pn=PnPn+1
1 ? ? Pi (0 ) = 6 (Pi + 4 Pi +1 + Pi + 2 ) ? 1 ? = Pi +1 + ((Pi ? Pi +1 ) + (Pi + 2 ? Pi +1 )) ? 6 ? 1 ? Pi (1) = (Pi +1 + 4 Pi + 2 + Pi +3 ) 6 ? ? 1 = Pi +2 + ((Pi +1 ? Pi + 2 ) + (Pi +3 ? Pi + 2 )) ? 6 ?
1 ? ′ ? Pi (0) = 2 (Pi +2 ? Pi ) ? 1 ? Pi′(1) = (Pi +3 ? Pi +1 ) ? 2
P1 P0
Pn-1 Pn Pn+1
? Pi′′(0 ) = Pi ? 2 Pi +1 + Pi +2 ? ? Pi′′(1) = Pi +1 ? 2 Pi + 2 + Pi +3
曲线曲面 65
P-1
则P0(0)=P0, P0’ =P1-P0. 终点具有类似的特性.
曲线曲面 66
11

CAD/CAM
2) 控制顶点的反求
CAD/CAM
′ P2 ? P0 = 2Q1′, Pn ? Pn ?2 = 2Qn ?1
把它们写成矩阵形式为
在实际应用中往往是知道曲线上的型值点,而并不知道 特征多边形顶点的位置,为构造B样条曲线,就需要由这 些型值点反求出特征多边形的顶点,这就是B样条曲线 顶点的反求. 设已知型值点列Qi(i=1,2,…,n-1), 要求一条三 次B样条曲线经过这些点,求出这条曲线的控制 顶点Pi(i=0,1,…,n). 由曲线的端点性质可得下列线性方程组: Pi-1+4Pi+Pi+1=6Qi (i=1,2,…,n-1)
? ? P0 ? ? 2Q1′ ? ?? 1 0 1 ? ? P ? ? 6Q1 ? ?1 4 1 1 ? ? P ? ? 6Q ? ? 1 4 1 ?? 2 ? = ? 2 ? ? O ?? M ? ? M ? ? 1 4 1? ? Pn ?1 ? ?6Qn ?1 ? ? ? 1 0 1? ? Pn ? ?2Qn ?1 ? ? ?? ? ? ′ ? ?
再补充两个边界条件就可得到唯一解. 例如,已 知Q1和Qi-1处的切矢,则有
曲线曲面 67 曲线曲面 68
CAD/CAM
4.1.5 非均匀有理B样条(NURBS)曲线
CAD/CAM
非均匀有理B样条(NURBS)曲线和曲面
NURBS曲线提供了对标准解析几何和自由曲线、 曲面的统一数学描述方法,它可通过调整控制顶点和权 因子,方便地改变曲面形状,同时也可方便地转换成对 应Bezier曲面。 1. 给定n+1个控制点 及权因 子 ,则k阶(k-1)次NURBS曲线的表达式 为:
它提供了解析曲线(如圆锥曲线)和自由曲线统一的数 学描述,便于工程数据库的管理和应用. NURBS曲线的定义 给定n+1个控制点Pi(i=0,1,…,n)及 NURBS曲线的定义: 其权因子Wi (i=0,1,…,n),则k阶(k-1次)NURBS曲线的 表达式为:
P (t ) = ∑ N i ,k (t )Wi Pi / ∑ N i ,k (t )Wi
n n i =0 i =0
缺点:计算量大、当权因子为零和负值时容易引起 计算的不稳定,导致曲线畸变,因此使用NURBS 时应有适当的限制以保证算法的稳定性。
曲线曲面 69 曲线曲面 70
CAD/CAM
其中 为非均匀有理B样条基函数, 按照deBoor-Cox公式递推地定义:
CAD/CAM
2. 给定一张(m+1)(n+1)的网络控制 点 的权值 NURBS曲面的表达式为: ,以及各网络控制点 ,
式中

分别为NURBS曲面u和v参数
方向的B样条基函数;k,l为B样条基函数的阶次。
曲线曲面 71 曲线曲面 72
12

CAD/CAM
4.2 自由曲面
CAD/CAM
4.2.1 参数曲面的概念
6.2.1 参数曲面的概念 6.2.2 双三次曲面片的数学表示 6.2.3 曲面的反算、拼接和互化
P(u,w)=[x(u,w),y(u,w),z(u,w)]
P(0, 1)
P(0, w)
0<=u,w<=1
P(u, 1)
P(u, w) P(0, 0) P(1, w) P(u, 0)
P(1, 1)
6.2.4 新的自由曲面造型技术
w 1 0
曲线曲面 73
P(1, 0)
(u,w) u 1
曲线曲面 74
CAD/CAM
u和w向切矢:
?P (u, w ) ?u ?P (u, w ) Pw (u, w ) = ?w Pu (u, w ) =
4.2.2 三次曲面的数学表示 双三次曲面片的代数形式为
CAD/CAM
四个角点的u向和w向切矢为:Pu(0,0)、 Pu(1,0)、 Pu(0,1) 、Pu(1,1)、Pw(0,0)、 Pw(1,0)、 Pw(0,1) 、Pw(1,1). 混合偏导矢(扭矢):
Puw (u, w ) = ? 2 P (u, w ) ?u?w
其矩阵表达式为
其中,
四个角点的扭矢为: Puw(0,0)、 Puw(1,0)、 Puw(0,1) 、Puw(1,1)
曲线曲面 75
构造双三次曲面片的的关键是确定矩阵方程中的系数矩 阵。 曲线曲面 76
CAD/CAM
1. 孔斯(Coons)曲面
由曲面四个角点、每个角点处的两个切矢及四个角点处 的混合偏导矢(扭矢)确定曲面。
Coons曲面的特点:
属于构造插值曲面的方法,曲面构造的几何意义明确且 曲面的表达式简洁,主要用于构造那些通过给定型值 点的曲面,而不适用于进行曲面的设计。这是因为: i 在曲面设计的初级阶段,设计者对其所设计产品的外 形仅有一个非常粗略的概念。为得到满意的外形,需 要不断地修改型值点的位置。上述方法对位置尚未最 后确定的型值点构造插值曲面,显然是不合理的。 i 由于扭矢的几何意义不很明显,工程设计人员难以把 握,因此难以提供精确的角点信息,使曲面的形状不 易控制。 i 不具备局部性。修改任意一个型值点都会影响整张曲 面的形状,而其形状变化又难以预测。
曲线曲面 77 曲线曲面 78
CAD/CAM
13

2. Bezier曲面
CAD/CAM
CAD/CAM Bezier曲面的特点:
Bezier曲面是以逼近为基础的曲面设计方法。它 先通过控制顶点网格勾画出曲面的大体形状,然 后通过修改控制顶点的位置修改曲面的形状。这 种构造方法比较直观,易于为工程设计人员所接 受,因而获得了广泛的应用。 这种方法不具有局部性,即修改任意一个控制顶 点都会影响整张曲面的形状。
用控制多边形网格(特征网格)替代点矢、切矢与扭矢构造 Bezier曲面。
P (u, w ) =
∑∑
i = 0 j =0
3
3
Bi ,3 (u )B j ,3 (w )Vij , u, w ∈ [0,1]
V10
V31 V20 V11 V01 V00
V21
V31
V32
V23 V33
V12
V13 V02
V03
双三次Bezier曲面片
可以认为控制网格是曲面P(u,w)大致形状的勾画; P(u,w)是对控制网格的逼近。
曲线曲面 79 曲线曲面 80
3. B样条曲面
CAD/CAM
CAD/CAM 特点:
B样条曲面构造方法是Bezier曲面方法的推广,它 用B样条基函数代替Bezier方法中的Bernstein基函 数来反映控制顶点对曲面形状的影响。它在保留 了Bezier曲面设计方法几乎所有优点的同时,解 决了Bezier曲面设计中存在的局部性修改问题。
用控制多边形网格(特征网格)替代点矢、切矢与扭矢构造曲面
注意:Ni,3(t)为3次均匀B样条基函数.
双三次均匀B样条曲面 片
曲线曲面 81
曲线曲面 82
CAD/CAM 4. 非均匀有理B样条曲面(NURBS)
给定一张(m+1)x(n+1)的网格控制点 Pij (i=0,1,…,m; j=0,1,…,n),以及各控制网格点的权值Wij (i=0,1,…,m; j=0,1,…,n),则其确定的NURBS曲面的表达式为:
CAD/CAM
4.2.3 曲面的反算、拼接和互化
1. 反算 1)实际应用背景 2)反算算法
P (u, w ) =
∑∑ N
i = 0 j =0 m n i = 0 j =0
m
n
i ,k
(u ) N j ,k ( w)Wij Pij (u ) N j ,k ( w)Wij
∑∑ N
第1步:将一个参数方向上的型值点(如u方向)依次 按曲线反算方法反算出一系列点; 第2步:沿另一个参数方向(如w方向),将第一次反 算得到的点再按曲线反算方法反算出另一系列点,第 二次反算得到的点即为曲面的控制点。
i ,k
优点: 规则曲面与自由曲面精确的统一的数学表示。 有多种方式定义曲面,但构造这些曲面的数学基础以 及在造型系统中存储它们的方法是相同的。 NURBS 方法已成为众多CAD/CAM系统的基本几何表达式和 数据交换标准。
曲线曲面 83
曲线曲面 84
14

2. 拼接
CAD/CAM
CAD/CAM
3. 互化
以双三次自由曲面为例,相邻两片曲面光滑拼接的条件 为: 1)对Coons曲面:两张双三次Coons曲面片共边界且在相 邻两角点处的坐标、u向切矢、w向切矢、扭矢分别相 等。 2)对Bezier曲面:两张双三次Bezier曲面片在相邻边界的 相邻的控制网格共边且在同一平面上。 3)对B样条曲面:由于每4x4即16个控制点定义一片双三 次曲面,如果定义B样条曲面的控制顶点矩阵有M行N列 (M>=4,N>=4),则可以定义(M-3)(N-3)个曲面片。只要 4x4的子矩阵在控制顶点矩阵中是依次向右或依次向下移 动的,就能自动保证左右相邻的曲面或上下相邻的曲面片 二阶连续。
曲线曲面 85
双三次Coons曲面、双三次Bezier曲面 和双三次B样条曲面之间可以相互转 化。
曲线曲面 86
CAD/CAM
4.2.4 新的自由曲面造型技术
CAD/CAM
2. 一些新的造型方法 基于物理的造型 偏微分方程(PDE)造型 小波造型
参考资料: 朱心雄等著 “自由曲线曲面造型技术”,科学出版社,2000
1. 发展现状与存在的问题
四边域曲面的构造比较成熟。目前,主要是 基于四边域的CAD/CAM系统。 n 采用NURBS方法作为基本几何表达形式和数 据交换标准
n n
N(N大于等于3但不等于4)边域曲面的造型 、曲面求交、光顺等问题尚未根本解决。
曲线曲面 87
曲线曲面 88
CAD/CAM
习题4
CAD/CAM
选做题
6-1 推导三次Bezier曲线的反求公式并写出矩阵表现形式, 讨论反求公式是否唯一. 6-2 编制三次Bezier曲线生成与绘图程序. 6-3 绘制三次B样条基函数的曲线并与Bezier曲线基函数 的图形比较.
4-1 说明自由曲线的插值与逼近两种方法的区 别. 4-2 用参数曲线描述曲线的特点是什么? 4-3 比较三次B样条曲线与三次Bezier曲线的特 性。 4-4 试确定通过P0(-1,0), P1(0,1),P2(1,0)这三个 型值点的平面上的三次 样条曲线. 4-5 说明Coons曲面、Bezier曲面和B样条曲面 的表 示方法及其优缺点。
曲线曲面 89
上机实践题: 编程实现由n个控制顶点定义的三次均匀B样 条曲线的程序。 注意: 最好考虑边界控制的情况.
曲线曲面 90
15

相关主题
相关文档
最新文档