- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
参数曲线与曲面(二)
B-样条曲线
回想一下,设计一条曲线,我们可以通过Bezier 控制多边形
给出大致轮廓,再通过调整控制顶点来调整曲线。如果是有理
Bezier 曲线,还可以通过调整权因子来调整曲线。对设计者来说,
确实方便。但是,Bezier 曲线有两个缺点:
z 次数取决于Bezier 控制顶点的个数,曲线次数太高。
z 整体性。牵一发而动全身,太敏感。
这正是我们引进B 样条曲线的原因。具体做法是,将Bezier
曲线的Bernstein 基换为B 样条基。B 样条曲线是NURBS 的基
础,而NURBS 是CAGD 中的核心技术。
三次样条曲线
? 预备知识:三次样条曲线的定义
定义1. 设区间 [a,b] 分割为 a = t0 < t1 < …< tn = b , p(t) 是满足下
列条件之向量函数。
1
i 每个小区间 [ti , t i+1], i=0,1,…,n-1 上, p(t) 是 t 的 3
次向量多项式。
ii p(t) ∈ C2[a,b]. 即 p(t) 有直至 2 阶的连续导向量。
则 p(t) 为 [a, b] 上关于分划 a = t0 < t1 < …< tn = b 的 3 次参数
样条曲线。
? 从样条曲线的观点导出三次等距 B 样条
设 b0 ,b1,???,bm 为空间任 m+1 个点向量,b0 b1 ???b 为特征多边形,
m
顺次取 4 个顶点bi bi+1 bi+2 bi+3 , (i = 0,1,2,Lm ? 3) 作三次曲线段:
3
∑F t b t
pi, ( = i+ j ≤ ≤ (1)
t) ( ) (0 1)
3 j,3
j=0
这里 F t 为待定基函数 (调配函数). 这 m-2 段曲线要求:
j,3 ( )
① p 3 t =1 = p +1 3 t =0 k = 0 1 i = 0 1 L m ? 4
(k) (k)
( )| ( )| , ,2. , , , i, t i , t
② bi = bi+1 = ??? = bi+3 时, pi (t) = bi .
我们由①,②推导F t 。
j,3 ( )
由①有
3 3
∑ ∑
bi j F (1) = b F (0) i = 0,1,2,???,m ? 4
(k) (k)
+ 1 3
i j j
+ +
j,3 , j=0 j=0
所以
2
3
∑ ? 4
F(k) 1 bi F 1 F 0 b F 0 b 0 i 0 1 m
( ) + { k ( ) ? ( )} ? ( ) = = , ,2,???,
( ) (k) (k)
0 3 3 ?1 3 + 3,3 +4
, j, j ,
i j i
j=1
由bi 之任意性有:
(a)
? 0 = 0
(k)
F ( )
3,3
?
?
F (1) = F (0) j = 0,1,2;k 0, ,2
( )
+k (k) = 1
?
?
j 1,3 j,3
? (k)
F (1) = 0
?
0,3
由②有
(b)
3
∑
F
j = 0
j, (t) =
3
1
由(a),按幂级数展开有:
1 1
F = + ′ + ′′ + ′′′ =
(t) F (0) F (0)t F ( t F t d t
2 3 3
3 0) (0)
,3 3,3 3,3 3,3 3,3 3
2 6
其中d 待定。又由于
3
F 0 F 1 d t k k 3 k
k k 3 k
( ) ( ) = ( ) ( ) = ( )( ) | =
2,3 3,3 3 t=1
? =
d k 0
3
?
=
?3d k 1
3
?
6d k 2
=
?
3
我们有
1 1
F t d 3d t 6d t F 0 t
, ( ) = + + × 2 + ′,′′( ) 3 2 3 3 3 3 2 3
2 6
= d (1+ t) + d t
3 3 3 2
其中d 待定。类似有
2
F (t) d (2 t) d (1 t) d t
= + 3 + + 3 + 3 1,3 3 2 1
F (t) d (3 t) d (2 t) d (1 t) d t
= + 3 + + 3 + + 3 + 3 1,3 3 2 1 0
3
其中d d 待定。
1, 0
3 3
∑ ≡ ∑F t ?
由(b), 既然 ,将 写成幂级数形式,各项系数
F ,3 (t)
1
,3 ( ) 1 j j
j=0 j=0
必为 0。故有
? + + d + + d + d =
(3 2 1) (2 1) 1
3 3 3
3 2 1
?
? + + d + + d + d =
(3 2 1) (2 1) 0
2 2 2
?
3 2 1
(3 + 2 +1)d + (2 +1)d + d = 0
?
3 2
文档评论(0)