自由曲线及曲面word版
第四章 自由曲线
P ' (t ) • 单位切矢量 T P ' (t )
• 曲率
T
'
• 对于一般参数t,可以推
导出曲率计算公式:
P(t ) P(t ) P(t )
3
8
4.1.3 插值、拟合和光顺
• 插值、拟合和逼近
– 给定一组有序的数据点Pi,i=0, 1, …, n,构造一条曲线顺 序通过这些数据点,称为对这些数据点进行插值,所构 造的曲线称为插值曲线。 – 例如:给定函数f(x)在区间[a,b]中互异的n个点的值f(xi),基 于这个列表数据,寻找某一个函数r(x)去逼近f(x).要求r(x) 在xi处与f(xi)相等,这种函数逼近问题为插值问题,称r(x)为 f(x)的插值函数,xi为插值节点.即r(x)在n个插值节点xi处与 f(xi)相等,而在别处用r(x)近似地代替f(x).
3 2
t [0,1]
a0 P0 a1 P0' a2 3P0 3P 2 P ' 0 P ' 1 1 a 2 P 2 P P P ' 0 1 0 1 3
P(t ) (2t 3 3t 2 1) P0 (2t 3 3t 2 ) P (t 3 2t 2 t ) P0' (t 3 t 2 ) P ' 1 1 t [0,1]
– 参数表示: P(t) = [x(t), y(t), z(t)]
• 显式表示:不能表示封闭或多值的曲线,如不能用显 示方程表示一个圆.
4
4.1.1 曲线曲面的表示
• 显式或隐式表示存在下述问题:
– 与坐标轴相关
– 会出现斜率为无穷大的情形(如垂线) – 对于非平面曲线、曲面,难以用常系数的非参数化函数表 示 – 不便于计算机编程
第七章自由曲线与曲面
2.一阶导数
将式(7-12)求导,有
n
p '(t)P iC n i[iti 1 ( 1 t)n i (n i)ti( 1 t)n i 1 ] i 0 在闭区间〔0,1〕内,将t=0和t=1 代入上式,得到
p'(0)n(P 1P 0) p'(1)n(P nP n1)
3.凸包性质
由公式(7-13)可以看出,在闭区间〔 0,1〕内B ,i,n(t)C n iti(1t)n i 0,
曲线曲面的逼 近:当用一组 控制点来指定 曲线曲面的形 状时,求出的 形状不必通过 控制点
7.1.4连续性条件
通常单一的曲线段或曲面片难以表达复杂 的形状,必须将一些曲线段连接成组合曲 线,或将一些曲面片连接成组合曲面,才 能描述复杂的形状。
为了保证在连接点处平滑过渡,需要满足 连续性条件。连续性条件有两种:参数连 续性和几何连续性。
Bezier曲面是由Bezier曲线拓广而来,以 两组正交的Bezier曲线控制点构造空间网 格来生成曲面。m×n次Bezier曲面的定 义如下:
mn
p(u,v) Pi,jBi,m(u)Bj,n(v) i0j0
(u,v)∈〔0,1〕×〔0,1〕
依次用线段连接点列Pi,j(i=0,1,…,m ;j=0,1,…,n)中相邻两点所形成的 空间网格称为控制网格,当m=3,n=3时 由4×4=16个控制点构成控制网格,曲面 称为双三次Bezier曲面
上式是三次Hermite(Ferguson)曲线的几何形式, 几何系数是P0、P1、P0和P1。 F0,F1,G0,G1 称为调和函数(或混合函数)
7.1.3 拟合和逼近
曲线曲面的拟合: 当用一组型值点 (插值点)来指 定曲线曲面的形 状时,形状完全 通过给定的型值 点序列确定
自由曲线与曲面
11.1 解析曲面 11.2 Bezier曲面 11.3 B样条曲面 11.4 NURBS曲面 11.5 曲面的其它表达 11.6 曲面求交算法
11.1 解析曲面(代数曲面)
代数曲面在造型系统中常见,但远远不能满足复 杂曲面造型的要求
适合构造简单曲面,不能构造自由曲面 不同类型曲面拼接连续性难以保证 不同曲面求交公式不一,程序实现量大 工程设计交互性差
通常样条曲面的求交算法采用离散逼近、迭代求精 与跟踪的方法,求交精度不高,计算量大,速度慢,对 共点、共线、共面难以处理,从而影响布尔运算的效率 和稳定性。
基本的求交算法:
由于计算机内浮点数有误差,求交计算必须引进容差。假定
容差为e,则点被看成是半径为e的球,线被看成是半径为e的圆管, 面被看成是厚度为2e的薄板。
c)然后固定指标i,以第一步求出的n+1条截面曲线的控制顶 点阵列中的第i排即: di,j, j 0,1,, n 为“数据点”,以上一 步求出的跨界切矢曲线的第i个顶点为”端点切矢”,在节点矢 量V上应用曲线反算,分别求出m+3条插值曲线即控制曲线的 B样条控制顶点di.j ,i 0,1,,m 2; j 0,1,,n 2 ,即为所求双
superquadric
superquadric曲面在商用 CAD系统应用相对较少,但 在动画软件中常用
superquadric toroids
(
x
)2/E2
(
y
)2/E2
E2/E1 a
(
z
)2/E1
1
rx
ry
rz
superquadric ellipsoids
(
x
)2/E2
(
y
E2/E1 )2/E2
第七章 自由曲线与曲面new
15
① ② ③
光顺指曲线的拐点不能太多 对于平面曲线相对光顺的条件: 具有二阶几何连续 不存在多余的拐点和奇异点 曲率变化较小
16
连续性条件
通常单一的曲线段或曲面片难以表达复杂 的形状,必须将一些曲线段连接成组合曲线,或
将一些曲面片连接成组合曲面,才能描述复杂的
形状。为了保证在连接点处平滑过渡,需要满足
19
二阶参数连续性,记作C2,指相邻两个曲线段 在交点处具有相同的一阶和二阶导数。如图7-6 所示。
图7-6 二阶连续性
20
参数曲线和曲面
如何表示象飞机、汽车、轮船等具有复杂外形产品 的表面是工程中必须解决的问题。 1963年美国波音(Boeing)飞机公司的佛格森 (Ferguson)最早引入参数三次曲线,将曲线曲 面表示成参数矢量函数形式,构造了组合曲线和 由四角点的位置矢量、两个方向的切矢定义的佛 格森双三次曲面片。
n! Bi ,n (t ) t i (1 t ) n i i!(n i)!
0° =1, 0!=1
39
Bezier曲线
常见Bezier曲线的矩阵表示与推导
一次Bezier曲线
这是一条从P0到P1的直线段
40
Bezier曲线
常见Bezier曲线的矩阵表示与推导
二次Bezier曲线
37
几种典型的三次Bezier曲线
38
1 Bezier曲线的定义
给定n+1个控制点Pi(i=0,1,2……n),称为n次 Bezier曲线。
p(t ) Pi Bi ,n (t )
i 0
n
t∈〔0,1〕
8自由曲线曲面
1.Bezier曲线的பைடு நூலகம்义 在给定空间n+1个点P0,P1,Pn,称下列 参数曲线为n次的Bezier曲线
( s ) 称为曲率半径。 记 ( s) 1 / k ( s) , 令垂直于T和N的单位矢量为B,称此矢量为此法 线单位矢量或副法线单位矢量:
B( s) T ( s) N ( s)
由切线和主法线所确定的平面称为密切平面;由主法 线和副法线组成的平面称为法平面;由切线和副法线 构成的平面称为从切面。 4. 曲面的切矢和法矢 空间曲面采用双参数表示:
C
4)若C1 (u), C2 (u) 在点处已有 C 0,C1 连续性, '' ' 且 C1 (1), C'2 (0)的大小和方向均相同,则
C1 (u), C2 (u)
在点P处具有C 连续; 1 5)若 C1 (u), C2 (u)在点处已有G 0, G 连续性,且 '' '' ( 1 ), C1 C2 (0) 的方向相同,大小不相等,则 C1 (u), C2 (u) 2 在点P处具有G 连续;
2
5.2 Bezier曲线
贝塞尔曲线(Bé zier curve),又称贝兹曲线或贝济埃曲线, 是应用于二维图形应用程序的数学曲线。一般的矢量图形软件 通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是 可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到 的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图 形学中相当重要的参数曲线,在一些比较成熟的位图软件中也 有贝塞尔曲线工具,如PhotoShop等。
第九章自由曲线及曲面
第九章自由曲线及曲面的加工第一节概述经数学处理直线或圆弧逼近第二节曲线、曲面加工的基础知识一、基点和节点基点——零件上各几何元素间的连接点(宏观)节点——被分割的逼近线段间的交点或切点(微观)求节点坐标值:求分割后逼近线段间的交点或切点坐标值,是粗插补的重要组成部分;也是完成精插补运算的依据。
精确计算节点坐标值,才能按要求走出预期的轨迹。
[注] 数据采样法中圆弧插补时的分割线段是等长均布的。
二、非圆曲线节点坐标的计算非圆曲线——除直线和圆弧之外,可以用数学方程式表达的平面轮廓曲线。
非圆曲线的计算步骤:1)选择插补形式直线段逼近——数学处理简单、加工精度较低;圆弧段逼近——数学处理较复杂、加工精度较高。
2)确定编程允许误差取零件公差的1/5 ~ 1/10 。
3)确定计算方法即后面将提及的计算方法的确定。
4)画计算机处理流程图5)用高级语言编写程序,完成计算下面介绍两种常用的处理平面非轮廓曲线的方法:1.弦线逼近法对于弦线逼近曲线而言,弦线越短,则逼近误差越小,但弦线越短,弦线数量则越多;若弦线长度不变,则曲率越大处逼近误差越大。
(1)等插补段法(等步长法)如上a)图,以确保最大曲率处精度为原则,将各插补段长度取得相等,这使得线段处理上比较简单,但插补工作量较大。
插补工作量增大,意味着成本提高。
同时,此法使精度提高,但是,这个提高,是超过要求的提高,这是需要引起设计人员注意的。
(2)等插补误差法如上b)图,按照规定的精度要求,使各插补段的误差相等,这就使插补段长度不等,显然,插补段数是减少的。
大型零件的插补工作量极大,这时减少插补段数意义重大。
2.圆弧逼近法先采用弦线逼近法求出节点坐标,再利用节点做圆,使逼近线段不是直线而是圆弧。
此法显然比弦线逼近法具有更高的精度,但线段处理比较复杂。
三、列表曲线节点坐标的计算。
第4章 自由曲线与曲面2[52页]
3
Bezier曲线
• 1962年,法国雷诺汽车公司,P.E.Bezier工程师 • 以“逼近”为基础 • UNISURF • 1972年雷诺汽车公司正式使用 • 稍早于Bezier,法国雪铁龙汽车公司,de Casteljau • Flash的绘图工具 • 北大方正,字型的轮廓线
11
Bezier曲线(11/22)
– 拟局部性
– 形状的易控性(演示)
哈工大计算机学院 苏小红
12
Bezier曲线(12/22)
• 二次Bezier曲线
– n=2 – 抛物线
P1
P(0.5)
基函数
P(0)
P0
M
P(1)
P2
哈工大计算机学院 苏小红
13
Bezier曲线(13/22)
• 三次Bezier曲线
哈工大计算机学院 苏小红
23
第四章 曲线与曲面
• 概述 • 参数曲线基础 • 参数多项式曲线 • 三次Hermite曲线 • Bezier曲线 • B样条曲线
哈工大计算机学院 苏小红
24
B样条曲线(1/19)
• 产生:
– 1946年,Schoenberg发表关于B样条函数的第1篇论文 – 1973年前后,Gordon,Riesenfield,Forrest等人受到Bezier方法的启
(t
)
C30 (1 t)3
1 3 3 1 1
GBEZ
•
C31t(1
t
)2
C32tC2 (331t3
t
)
GBEZ
•
0 0 0
3 0 0
6
3
t
3 3t2
自由曲线与曲面-123页精选文档
每种描述是一个带有某特定边界条件多项式的特殊 类型。
02.12.2019
5
例如空间一条曲线用三次参数方程可以表示如下:
x(u)﹦axu 3﹢bxu 2﹢cxu﹢dx y(u)﹦ayu 3﹢byu 2﹢cyu﹢dy z(u)﹦azu 3﹢bzu 2﹢czu﹢dz u[0,1] 或
二阶几何连续性,记为G2连续,指两个曲线段在相交 处其一阶和二阶导数均成比例。G2连续下,两个曲线段在 交点处的曲率相等。
02.12.2019
4
7.1.4 参数样条曲线 1.样条曲线
在计算机图形学中,术语样条曲线指由多项式曲 线段连接而成的曲线,在每段的边界处满足特定连 续条件。而样条曲面可用两组正交样条曲线来描述。 样条用来设计曲线和曲面形状,典型的CAD应用包 括汽车、飞机和航天飞机表面设计以及船壳设计。
Hermite样条插值(以法国数学家Charles Hermite
命名)使用型值点和型值点处的一阶导数建立边界条
件。设Pk和Pk+1为第K个和第K+1个型值点,Hermite样 条插值边界条件规定为:
P(0) ﹦Pk P(1) ﹦Pk+1 P’(0)﹦Dk P’(1)﹦Dk+1 其中,Dk和Dk+1分别为Pk和Pk+1处的一阶导数。 将参数方程写成矩阵形式为:
﹢(-3xk﹢3xk+1-2xk'-xk+1')u2+xk'u﹢xk y(u)﹦(2yk-2yk+1+yk'﹢yk+1')u3
﹢(-3yk﹢3yk+1-2yk'-yk+1')u2+yk'u﹢yk z(u)﹦(2zk-2zk+1+zk'﹢zk+1')u3
自由曲线和曲面
第5讲 三维曲面的表示 —孔斯(Coons)曲面
第5讲 三维曲面的表示 —孔斯(Coons)曲面
第5讲 三维曲面的表示 —孔斯(Coons)曲面
第5讲 三维曲面的表示 —孔斯(Coons)曲面
第5讲 三维曲面的表示 —孔斯(Coons)曲面
第6讲 三维曲面的表示 —贝塞尔(Bezier)曲面
第2讲 三次参数样条曲线
第2讲 三次参数样条曲线
第3讲 Bezier曲线
第3讲 Bezier曲线
3.Bezier曲线的性质
第3讲 Bezier曲线
4.Bezier曲线的性质(续)
第3讲 Bezier曲线
5.常用Bezier曲线的矩阵表示
第3讲 Bezier曲线
6.常用Bezier曲线的矩阵表示
第6讲 三维曲面的表示 —贝塞尔(Bezier)曲面
第6讲 三维曲面的表示 —贝塞尔(Bezier)曲面
第6讲 三维曲面的表示 —贝塞尔(Bezier)曲面
第4讲 B样条曲线
1.B样条基函数
第4讲 B样条曲线
2.B样条基函数的性质
第4讲 B样条曲线
3.B样条曲线
第4讲 B样条曲线
4.B样条曲线的性质
第4讲 B样条曲线
5.B样条曲线的性质(续)
第4讲 B样条曲线
第4讲 B样条曲线
第4讲 参数曲线相关概念
第4讲参数曲线相关概念
第4讲参数曲线相关概念
第2讲 三次参数样条曲线
第2讲 三次参数样条曲线
1.Hermite曲线的二阶导数形式
第2讲 三次参数样条曲线
2.三次参数样条曲线 设有点列{Pi}(i=0,1,…,n),用Hermite三次 参数曲线将相邻点连接起来,使得最终的曲线 在已知点处具有连续的二阶导数,该曲线是一 条三次样条曲线。
(计算机图形学)自由曲线曲面
参数连续性,用C 表示 C0连续(0阶参数连续) —— 指曲线相连,前一段曲线的终点
阶数
t=1与后一段曲线的起点t=0相同,即 相邻两段曲线结合点处有相同坐标。
C1连续(一阶参数连续) ——代表两个相邻曲线段的方程在相交
点处有相同的一阶导数(切线)。 (一阶导数反映了曲线对参数 t 的变 化速度)
B2,3(t)ຫໍສະໝຸດ Ot4个基函数
7.2.2 Bernstein基函数及曲线的性质
Bi ,n (t ) n! i i t i (1 t ) ni C n t (1 t ) ni i!(n i)!
t∈〔0,1〕(i=0,1,2……n) ,t∈〔0,1〕
1.非负性: Bi,n (t ) 0
void CTestView::DrawBezier()//绘制Bezier曲线 { CDC *pDC=GetDC(); CPen NewPen,*pOldPen; NewPen.CreatePen(PS_SOLID,1,RGB(0,0,255));//曲线颜色 pOldPen=pDC->SelectObject(&NewPen); pDC->MoveTo(P[0]); for(double t=0.0;t<=1.0;t+=0.01) { double x=0,y=0; for(int i=0;i<=n;i++) { x+=P[i].x*C(n,i)*pow(t,i)*pow(1-t,n-i); y+=P[i].y*C(n,i)*pow(t,i)*pow(1-t,n-i); } pDC->LineTo(Round(x),Round(y)); } pDC->SelectObject(pOldPen); NewPen.DeleteObject(); ReleaseDC(pDC); }
计算机图形学第4章 自由曲线与曲面2
(1) P3 Q0 (2) 0 P3 P2 (Q1 Q0 )
三点共线,且Q1,P2在连接点的异侧
二阶几何连续条件?
自学
21
4.6 Bezier曲线
反求控制顶点
给定n+1个型值点,要求构造一条Bezier曲线通过这些点
Q0 P0 ... 0 n 1 n 1 n (i / n) ... PnCn (i / n) n Qi P0Cn (1 i / n) P 1C n (1 i / n) ... Qn Pn
17
4.6 Bezier曲线
二次Bezier曲线
n=2,抛物线 P(0)=P0,P(1)=P2; P'(0)=2(P1- P0), P'(1)=2(P2- P1) P(1/2)=[P1+ (P0+ P2)/2]/2
P1
P(0.5)
P(0)
P0
M
P2
P(1)
说明二次Bezier曲线在 t=1/2 处的点经过P0P2 上 的中线P1M的中点。
优于Bezier曲线之处:
26
4.7 B样条曲线
三次B样条曲线对三次Bezier曲线进行改进, 它克服了Bezier曲线的不足,同时保留了 Bezier曲线的直观性和凸包性,是一种工程设 计中更常用的拟合曲线。
三次B样条曲线的构造:
由前面可知,三次参数曲线可以表示成: P(t)=F0,3(t)P0 + F1,3(t)P1 + F2,3(t)P2 + F3,3 (t)P3 F0,3(t) ,F1,3(t) ,F2,3(t) ,F3,3 (t)是待定参数 P2 P1 P(t) 由P0,P1,P2,P3确定 Q(s) 由P1,P2,P3,P4确定 P3 P4
第5章 自由曲线曲面
3)三次Bezier曲线
3 2 2 3
C (u) (1 u) P0 3u(1 u) P1 3u (1 u) P2 u P3
C ( u ) [u
3
u
2
1 3 u 1] 3 1
3 6 3 0
3 1 P0 3 0 P 1 0 0 P2 0 0 P3
Bezier曲线的顶点反求
已知Bezier曲线上给定参数处的位置矢量和 参数阶次,利用Bezier曲线定义和端点特性, 可列出一组方程,求解方程组,就可得到相 应的控制顶点。 例子:已知三次Bezier曲线上的四个点分 别 为 Q0(120,0), Q1(45,0), Q2(0,45), Q3(0,120), 它们对应的参数分别为0, 1/3, 2/3, 1,反求三次Bezier曲线的控制顶点。
1 i
由此组成一个边数为(n-1)的新的多边形;
2) 按 相 同 的 过 程 分 割 n-1 次 后 , 得 到 两 个 顶 n n n 点 P0 1 , P1 1 ,再分割得到所求的点 P 0 。即 为所求的u处的曲线点;
Bezier 曲线的几何作图法
Bezier曲线的分割
Bezier曲线的升阶
n i
n! C i !(n i )!
i n
Bernstein基函数具有下列性质:
1) 非负性: 2) 规范性:
Bi ,n (u ) 0, 0 u 1
B
i 0
n
i ,n
(u ) 1,
0 u 1
3) 对称性:
Bi ,n(u) B ni ,n(1 u), i 0,1,..., n
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九章自由曲线及曲面的加工
第一节概述
经数学处理
直线或圆弧
逼近
第二节曲线、曲面加工的基础知识一、基点和节点
基点——零件上各几何元素间的连接点(宏观)节点——被分割的逼近线段间的交点或切点(微观)求节点坐标值:求分割后逼近线段间的交点或切点坐标值,是粗插补的重要组成部分;也是完成精插补运算的依据。
精确计算节点坐标值,才能按要求走出预期的轨迹。
[注] 数据采样法中圆弧插补时的分割线段是等长均布的。
二、非圆曲线节点坐标的计算
非圆曲线——除直线和圆弧之外,可以用数学方程
式表达的平面轮廓曲线。
非圆曲线的计算步骤:
1)选择插补形式
直线段逼近——数学处理简单、加工精度较低;
圆弧段逼近——数学处理较复杂、加工精度较高。
2)确定编程允许误差
取零件公差的1/5 ~ 1/10 。
3)确定计算方法
即后面将提及的计算方法的确定。
4)画计算机处理流程图
5)用高级语言编写程序,完成计算
下面介绍两种常用的处理平面非轮廓曲线的方法:
1.弦线逼近法
对于弦线逼近曲线而言,弦线越短,则逼近误差越小,但弦线越短,弦线数量则越多;若弦线长度不变,则曲率越大处逼近误差越大。
(1)等插补段法(等步长法)
如上a)图,以确保最大曲率处精度为原则,将各插补段长度取得相等,这使得线段处理上比较简单,但插补工作量较大。
插补工作量增大,意味着成本提高。
同时,此法使精度提高,但是,这个提高,是超过要求的提高,这是需要引起设计人员注意的。
(2)等插补误差法
如上b)图,按照规定的精度要求,使各插补段的误差相等,这就使插补段长度不等,显然,插补段数是减少的。
大型零件的插补工作量极大,这时减少插补段数意义重大。
2.圆弧逼近法
先采用弦线逼近法求出节点坐标,再利用节点做圆,使逼近线段不是直线而是圆弧。
此法显然比弦线逼近法具有更高的精度,但线段处理比较复杂。
三、列表曲线节点坐标的计算
(注:本资料素材和资料部分来自网络,仅供参考。
请预览后才下载,期待您的好评与关注!)。