第3章 离散点绘制平面曲线-
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
该方程描述的曲线称为二次贝塞尔曲线。 其分量形式为:
§2 贝塞尔曲线
x (t ) a 0 a1t a 2t 2 2 y ( t ) b 0 b1 t b 2 t
( 0 t 1)
b0 y 0 b1 2 ( y 1 y 0 ) b y 2 y y 0 1 2 2
编程思路:将参数 t 的区间[0 , 1]划分为 n 等份,依 次取t = 1/n , 2/n , 3/n , … ,利用方程计算对应各点的坐标, 并用直线段依次连接各点。
§2 贝塞尔曲线
三、Bezier 曲线的特点
①曲线通过始点和终点,并与特征多边形首末两边相 切于始点和终点,中间点将曲线拉向自己。 P1 ②平面离散点控制曲线的形状,改 变一个离散点的坐标,曲线的形状将随 之改变(点对曲线具有整体控制性)。
其中
x (t ) P (t ) y (t )
,
a0 A0 b 0
a 0 a1t a 2 t 2 x (t ) p(t ) 2 y ( t ) b 0 b1 t b 2 t
()
§2 贝塞尔曲线
一、Bezier 曲线 1. 特征多边形 特征多边形是用直线段依次 连接平面上离散点所形成的折线 多边形。它反映了所要设计曲线 P0 的大致轮廓。
P1 P2 P5 P3 P4
可以设计一个光滑的曲线段去逼近这个特征多边形。 贝塞尔曲线就属于这类曲线。 该曲线由法国汽车工程师Bezier首先提出,最初用于 汽车零件外形的设计。目前广泛应用于与计算机绘图相关 的各个领域。
P2
P3
P2
P3
P4
P5
两条曲线段在连接点P3处,并非光滑,需对该点进行 光滑处理。在光滑处理时,达到什么标准为“光滑”呢? 给出2个一般标准:
P1
P1
§1 概述
1. C 1连续 在连接点 pj 处,若两曲线段的切线斜率相等(相同 的切线),或者说一阶导数连续,即 pj 称两曲线段在连接点 pj 处的光滑连接达到C 1连续。 2. C 2连续 在连接点 pj 处,不仅两曲线段的切线斜率相同,而 且切线斜率的变化率也相同,即
2. Bezier 曲线的参数方程 已知三个平面离散点P0、P1、P2,那么由这三点可以 定义二次抛物线段,其参数矢量方程可表示为:
P ( t ) A 0 A1 t A 2 t
2
( 0 t 1)
, a1 A1 b 1 , a2 A2 b 2
P ( t ) A 0 A1 t A 2 t
2
( 0 t 1)
二次B样条曲线参数方程的矩阵形式为:
二次B样条曲线参数方程的矩阵形式:
P (t ) [t
2
t
1 2 1] 1 2 2 2 1 1
1 0 0
P0 P 1 P2
可以用低次Bezier 曲线进行分段拟合(常使用二次和三 次Bezier 曲线);需要对连接点进行光滑处理(C 1连续、 C 2连续),已有CG方面的论文研究了此问题。
地质绘图中常采用低次Bezier 曲线的分段拟合。
§2 贝塞尔曲线
二、二次Bezier 曲线的程序设计思路 已知:平面上 3 个离散点P0、P1、P2的坐标( x0 , y0 )、 ( x1 , y1 )、( x2 , y2)。 二次Bezier 曲线参数方程的分量形式:
p j
()
p j
()
p j
( )
及 称两曲线段在连接点 pj 处的光滑连接达到C 2连续。 显然C 2连续比C 1连续要求更高,曲线的连接更光滑。 另外还有更高的连续标准,但对一般绘图,曲线段的 连接满足C 1或C 2连续,其光滑已足够。
。
p j
( )
p j
()
p j
(0 t 1)
§2 贝塞尔曲线
P ( t ) A 0 A1 t A 2 t
2
( 0 t 1)
P1
设上述抛物曲线满足下列条件: ⑴ t = 0时,抛物线经过 P0,并与P0 P1相切。 ⑵ t = 1时,抛物线经过 P0 P2,并与P1 P2相切。
P ( t ) A1 2 A 2 t
§2 贝塞尔曲线
n次Bezier曲线参数矢量方程的一般形式:
P (t )
B
i0
n
i ,n
( t ) Pi
(0 t 1)
xi 其中:Pi(i=0 ,1 , … , n)为n+1个平面离散点,P i ; y i n! i
B i , n ( t ) C n t (1 t )
P2源自文库
P ( 0 ) A 0 P0
P ( 0 ) A 1 P0 P1的斜率
P ( 1 ) A 0 A 1 A 2 P2
P (1 ) A1 2 A 2 P1 P 2的斜率
经过推导(详见教材P58),可求出A0、A1、A2:
§2 贝塞尔曲线
A 0 P0 A 1 2 ( P1 P 0 ) A P 2P P 0 1 2 2
因此,该抛物线段的参数矢量方程为:
P ( t ) P0 2 ( P1 P0 ) t ( P0 2 P1 P2 ) t
2
(0 t 1)
或用矩阵形式表示:
P (t ) [t
2
t
1 1] 2 1
2 2 0
1 P0 0 P1 0 P2
p ( t ) [ x ( t ), y ( t )] t
( )
描述的曲线,即曲线的方程已知。 这类曲线的绘制方法:以足够小的步长取曲线上足够 多的点,然后利用曲线方程求出这些点的坐标,最后用直 线连接相邻的点即可绘出曲线。 曲线的绘制精度取决于曲线上取点的密度,密度越大, 精度就越高,曲线就越光滑。
§1 概述
2. “平均通过”式 当已知数据点有一定误差时,所 拟合的曲线不通过所有已知点,曲线 代表的是这些数据点的变化趋势。 要求:设计的曲线方程与 所有已知点的“距离”总和最 小。 即:曲线方程是对所有已 知点的“逼近”。 典型例子:地层孔隙度- 深度变化曲线。 “点点通过”式也称为插 值曲线,“平均通过”式也称 为逼近曲线。
x (t ) a 0 P (t ) y (t ) b 0 a1 a2 2 t t b b 1 2
§1 概述
四、曲线段的光滑连接
当平面上已知数据点较多时,针对所有点拟合曲线方 程有时非常困难,或者得到的曲线方程非常复杂、不实用。 可分别针对部分点进行分段拟合,分段拟合得到的曲 线段会涉及到曲线段的连接问题。 例如:若已知3个平面离散点,用1条抛物线段对其拟 合;若有5个点,可用2条抛物线段进行分段拟合。
其中
a 0 x 0 a1 2( x1 x 0 ) a x 2 x x 0 1 2 2
绘制方法:将参数 t 的区间[0 , 1]划分为 n 等份,依 次取t = 1/n , 2/n , 3/n , … ,利用曲线参数方程计算对应的 各点坐标,并用直线段依次连接各点。 在已知三个平面离散点时,可绘制二次Bezier曲线; 若有n+1个平面离散点时,则可绘制n次Bezier曲线。
10 20 30 40 1000总孔隙度 (%) 2000深 度 /m
( g/cm
3
2.0 2.2 2.4 密度
( g/cm
3
)
)
3000-
4000-
§1 概述
三、曲线的方程分类
一般可分为直角坐标方程和参数方程两类。 例如:对于圆心坐标为(x0 , y0),半径为 r 的圆, 其直角坐标方程为: (x - x0)2 + (y - y0)2 = r2 参数方程为: x = x0 + r cos(t) y = y0 + r sin(t) (0≤t≤2π)
设
x (t ) P (t ) y (t )
,
a0 A0 b 0
,
上述参数方程可写为:
P ( t ) A 0 A1 t A 2 t
2
0 t 1
②
方程②称为曲线的参数矢量方程。 在构建曲线方程时,通常采用方程②的矢量形式;在 绘制曲线时,通常采用方程①的分量形式。
在计算机绘图时,使用参数方程要比直角坐标方程方 便。 参数方程还有另外一种形式。
§1 概述
例如:对于二次抛物线曲线,其参数方程可表示为
x (t ) a 0 a1t a 2t 2 2 y ( t ) b 0 b1 t b 2 t (0 t 1)
①
a1 A1 b 1 , a2 A2 b 2
i i (ni)
,C n
i ! ( n i )!
其分量形式为:
x (t ) y (t )
B
i0 n
n
i ,n
(t ) x i
( 0 t 1)
B
i0
i ,n
(t ) yi
§2 贝塞尔曲线
实际应用中,对多个离散点(如:7个离散点)绘制 Bezier 曲线时: 可以用高次Bezier 曲线进行绘制(如:7个离散点使用 六次Bezier 曲线);
§1 概述
二、不规则曲线(拟合曲线)的分类
在用拟合方法建立曲线拟合方程时,通常把不规则曲 线分为两类: 1. “点点通过”式 当已知离散点的位置较精确时, 拟合的曲线通过所有的已知点。 曲线方程确定后 → 规则曲线 → 以足够小的步长获取 相邻离散点之间若干个数据点(插值点)的坐标,并用直 线连接它们。 当步长极小时,所绘出的直线连线在视觉上便是一条 光滑的曲线。 求相邻离散点之间若干数据点的问题称为插值问题。
不规则曲线(拟合曲线):指已 知平面一些离散点的坐标,但曲线方 程未知,需要人为设计曲线方程对这 些点进行拟合形成的曲线。 对于这类曲线的绘制,首先要找出一种合理的拟合方 法来设计曲线方程。 拟合方法包括:贝塞尔曲线法、B样条曲线法、抛物 线调配曲线法、三次参数样条曲线法,最小二乘法等。 拟合方法不同 → 曲线拟合方程不同 → 绘制的曲线形 状也不同。 但是,一旦拟合方法确定并得到相应的曲线拟合方程, 不规则曲线也就变成了规则曲线。 本章的内容就是介绍:如何根据离散点的坐标,利用 拟合方法建立曲线拟合方程,绘制不规则曲线。
第三章 离散点绘制平面曲线
§1 概述 §2 贝塞尔(Bezier)曲线 §3 B样条曲线 §4 抛物线调配曲线 §5 三次参数样条曲线 本章小结
§1 概述
一、规则曲线与不规则曲线
平面曲线一般分规则和不规则曲线两类。 规则曲线是指可以用一个方程 y f ( x) 或 f ( x, y ) 0
P0
P2
③曲线落在特征多边形的凸包之内,它比特征多边 形更趋于光滑。 ④贝塞尔曲线属于“平均通过”式曲线。
§2 贝塞尔曲线
§3 B样条曲线
B样条曲线是在Bezier 曲线基础上发展起来的一类曲 线,它克服了Bezier 曲线整体控制性所带来的不便,最常 用的是二次和三次B样条曲线。 一、二次B样条曲线 1. 参数方程 已知三个平面离散点P0、P1、P2,由这三点可以定义 二次抛物线段,其参数矢量方程形式为:
x (t ) a 0 a1t a 2t 2 2 y ( t ) b 0 b1 t b 2 t
( 0 t 1)
b0 y 0 b1 2 ( y 1 y 0 ) b y 2 y y 0 1 2 2
其中
a 0 x 0 a1 2( x1 x 0 ) a x 2 x x 0 1 2 2