贝塞尔曲线和B样条曲线(优质参考)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

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

贝塞尔曲线

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

1.数学表达式

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

)()(0,t B p t p n

i n i i ∑== 10≤≤t

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

i n i n i t t n i n t B ---=

)1()!

1(!!

)(,

2.二次贝塞尔曲线

需要3个顶点,即210,,p p p ,将其代入曲线表达式:

2,222,112,00)(B p B p B p t p ++=

220202,021)1()

1()!

02(!0!

2t t t t t B +-=-=--=

-

21212,122)1(2)1()!

12(!1!

2t t t t t t B -=-=--=

-

22222,2)1()!

22(!2!

2t t t B =--=

-

221202)22()21()(p t p t t p t t t p +-++-=

[

]

⎥⎥

⎥⎦

⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=2102

0010221211p p p t t 10≤≤t 2102)21(2)1(2)(tp p t p t t p +-+-='

)(222)0(0110p p p p p -=+-=' 0)0(p p =

)(222)1(1221p p p p p -=+-=' 2)1(p p =

当2

1

=

t 时: 21021041214141)412212()412121(21p p p p p p p ++=+⋅-⋅++⋅-=⎪⎭

⎝⎛

)](2

1

[21201p p p ++= 02210212)2121(2)121(221p p p p p p -=⋅+⋅-+-=⎪⎭

⎝⎛'

3.三次贝塞尔曲线

三次贝塞尔曲线需要4个点,即0p 、1p 、2p 、3p 。

)()()()()(3,333,223,113,00t B p t B p t B p t B p t p +++=

其中:3230303,0331)1()1()!

03(!0!

3t t t t t t B -+-=-=-⋅⋅-=

-

3221313,1363)1(3)1()!

13(!1!

3t t t t t t t B +-=-=-⋅⋅-=

-

32122323,233)1(3)1()!

23(!2!

3t t t t t t B -=-=-⋅⋅-=

-

33333,3)1()!

33(!3!

3t t t B =-⋅⋅-=

-

33232132032)33()363()331()(p t p t t p t t t p t t t t p +-++-+-+-=

[

]

⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢

⎢⎢

⎢⎣⎡----=32102

3

0001

0033036313311)(p p p p t t t t p 10≤≤t 贝塞尔曲线特点:

1.n 个顶点定义n-1次曲线,当顶点数较大时,拟合的曲线阶次太高。

2.任一顶点对整条曲线的形状都有关系,不利于局部修改。

二、B 样条曲线

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

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

)()(0,,t F p t p n

k n k k i n i ∑=+= (10≤≤t ),),,1,0(m i K =

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

)()1(!1)(0

1,j k n t C n t F k

n j j n j n k --+-=∑-=+

• 段数、次数 段数=节点数-次数,每段曲线与n+1个点有关;

• )!

(!!

n m n m C n m

-=

2.二次B 样条曲线 n=2,k=0,1,2

n i n i n i i F p F p F p t p ,22,11,0)(++++=

∑-=--+-=0

20

23,0)02()1(!21j j j n

j t C F 2

2

22120)1(21

)!

23(!2!3)1()1()!13(!1!3)1()2()!03(!0!3)1[(21-=--++--++--=t t t t

∑-=--+-=1

20

232

,1)12()1(21j j j j t C F )122(21

])11()!

13(!1!3)1()1()!03(!0!3)1[(2122120++-=-+--++--=t t t t

22000232

,22

1)!13(!1!3)1(21)22()1(21t t j t C F j j j =--=--+-=∑= 221222

1

)122(21)1(21)(+++++-+-=

i i i i p t p t t p t t p 21)12()1()(++++-+-='i i i i tp p t p t t p

)(21

)0(1++=

i i p p p )(21

)1(21+++=i i p p p

i i p p p -='+1)0(

相关文档
最新文档