贝塞尔曲线和B样条曲线教学教材 下载本文

内容发布更新时间 : 2024/6/26 22:28:40星期一 下面是文章的全部内容请认真阅读。

如有侵权请联系网站删除

§4.3 贝塞尔曲线和B样条曲线

在前面讨论的抛物样条和三次参数样条曲线,他们的共同特点是:生成的曲线通过所有给定的型值点。我们称之为“点点通过”。但在实际工作中,往往给出的型值点并不是十分精确,有的点仅仅是出于外观上的考虑。在这样的前提下,用精确的插值方法去一点点地插值运算就很不合算;另外,局部修改某些型值点,希望涉及到曲线的范围越小越好,这也是评价一种拟合方法好坏的指标之一。

针对以上要求,法国人Bezier提出了一种参数曲线表示方法,称之为贝塞尔曲线。后来又经Gorgon, Riesenfeld和Forrest等人加以发展成为B样条曲线。 一、

贝塞尔曲线

贝塞尔曲线是通过一组多边折线的各顶点来定义。在各顶点中,曲线经过第一点和最后一点,其余各点则定义曲线的导数、阶次和形状。第一条和最后一条则表示曲线起点和终点的切线方向。

1.数学表达式

n+1个顶点定义一个n次贝塞尔曲线,其表达式为:

p(t)??piBi,n(t) 0?t?1

i?0npi(i?0,1,2,...,n)为各顶点的位置向量,Bi,n(t)为伯恩斯坦基函数

Bi,n(t)?n!ti(1?t)n?i

i!(n?1)!

2.二次贝塞尔曲线

需要3个顶点,即p0,p1,p2,将其代入曲线表达式:

p(t)?p0B0,2?p1B1,2?p2B2,2

精品资料

如有侵权请联系网站删除

B0,2?2!t0(1?t)2?0?(1?t)2?1?2t?t2

0!(2?0)!2!t1(1?t)2?1?2t(1?t)?2t?2t2

1!(2?1)!2!t2(1?t)2?2?t2

2!(2?2)!B1,2?B2,2?p(t)?(1?2t?t2)p0?(2t?2t2)p1?t2p2

?t2??1?21??p0???p? 0?t?1 t1??220???1??00??1???p2???p?(t)?2(t?1)p0?2(1?2t)p1?2tp2

p?(0)??2p0?2p1?2(p1?p0) p(0)?p0

p?(1)??2p1?2p2?2(p2?p1) p(1)?p2

当t?1时: 211111111?1?p???(1?2??)p0?(2??2?)p1?p2?p0?p1?p2

24244424?2?11?[p1?(p0?p2)] 22111?1?p????2(?1)p0?2(1?2?)p1?2?p2?p2?p0

222?2?

精品资料

如有侵权请联系网站删除

3.三次贝塞尔曲线

三次贝塞尔曲线需要4个点,即p0、p1、p2、p3。

p(t)?p0B0,3(t)?p1B1,3(t)?p2B2,3(t)?p3B3,3(t)

其中:B0,3?3!?t0?(1?t)3?0?(1?t)3?1?3t?3t2?t3

0!(3?0)!B1,3?3!?t1?(1?t)3?1?3t(1?t)2?3t?6t2?3t3

1!(3?1)!3!?t2?(1?t)3?2?3t2(1?t)1?3t2?3t3

2!(3?2)!3!?t3?(1?t)3?3?t3

3!(3?3)!B2,3?B3,3?p(t)?(1?3t?3t2?t3)p0?(3t?6t2?3t3)p1?(3t2?3t3)p2?t3p3

p(t)?t3?t2??13?3?3?63t1???330?00?1?1??p0??p?0???1? 0?t?1 0??p2????0??p3?贝塞尔曲线特点:

1.n个顶点定义n-1次曲线,当顶点数较大时,拟合的曲线阶次太高。 2.任一顶点对整条曲线的形状都有关系,不利于局部修改。

二、B样条曲线

用B样条曲线基函数替代伯恩斯坦基函数。 1.数学表达式

通常,给定m+n+1个顶点pi(i?0,1,?,m?n)可以定义m+1段n次参数函数为:

pi,n(t)??pi?kFk,n(t) (0?t?1),(i?0,1,?,m)

k?0n其中Fk,n(t)为B样条分段混合函数,形式为:

精品资料