从B样条的插值点反求控制点

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

三次周期B样条曲线的算法

0 £ u<1和四个控制点p0,p1,p2和p3. 设P(u)是一个三次周期B样条,满足条件:

P(0) = (p0 + 4p1 + p2)/6,

P(1) = (p1 + 4p2 + p3)/6,

P¢(0) = (p2 – p0)/2,

P¢(1) = (p3 – p1)/2.

假设P(u) = (u3 u2 u 1)MB(p0 p1 p2 p3)T,MB是变换矩阵。

那么,P¢(u) = (3u2 2u 1 0)MB(p0 p1 p2 p3)T

把u = 0,1分别代入上式,并利用前面的条件,得到

P(u) = p0(1-u)3/6 + p1(3u3-6u2+4)/6+ p2(-3u3+3u2+3u+1)/6 +p3u3/6

= p0B0,3(u) + p1B1,3(u) + p2B2,3(u) + p3B3,3(u)

三次B样条的性质

• C2连续性

记 Pk(u)为对应于控制点pk, pk+1,pk+2 和pk+3 .

Pk(1) = (pk + 4pk+1 + pk+2)/6 = Pk+1(0) ,这是连续性

Pk¢(1) = ½ (pk+3 – pk+1) = Pk+1¢(0),这是C1连续性

Pk¢¢(1) = pk+1 -2pk+2 +pk+3 = Pk+1¢¢(0),这是C2连续性

• 局部性:改变一个控制点最多改变四个曲线段.

局部性:改变一个控制点最多改变四个曲线段.

• 扩展性:增加一个控制点,只增加一个曲线段.

• 当B样条的节点是p0,p1,…,pn时,增加节点p-1和pn+1,使得 p-1p0 = p0p1和pn-1pn=pnpn+1

即p-1 + p1 = 2p0 和 pn-1 + pn+1 = 2pn。那么B样条以p0 为起点且切于p0p1,以pn 为终点且切于pn-1pn

事实上,增加了P-1(u)和Pn-2(u).

P0(0) = P-1(1) = (p-1+4p0+p1)/6 = p0,

P0¢(0) = P-1¢(1) = ½ (p1 – p-1) = (p1 – p0)

设P(u)是一个三次周期B样条,满足条件:

P(0) = (p0 + 4p1 + p2)/6,

P(1) = (p1 + 4p2 + p3)/6,

P¢(0) = (p2 – p0)/2,

P¢(1) = (p3 – p1)/2.

假设P(u) = (u3 u2 u 1)MB(p0 p1 p2 p3)T,MB是变换矩阵。

那么,P¢(u) = (3u2 2u 1 0)MB(p0 p1 p2 p3)T

把u = 0,1分别代入上式,并利用前面的条件,得到

P(u) = p0(1-u)3/6 + p1(3u3-6u2+4)/6+ p2(-3u3+3u2+3u+1)/6 +p3u3/6

= p0B0,3(u) + p1B1,3(u) + p2B2,3(u) + p3B3,3(u)

三次B样条的性质

• C2连续性

记 Pk(u)为对应于控制点pk, pk+1,pk+2 和pk+3 .

Pk(1) = (pk + 4pk+1 + pk+2)/6 = Pk+1(0) ,这是连续性

Pk¢(1) = ½ (pk+3 – pk+1) = Pk+1¢(0),这是C1连续性

Pk¢¢(1) = pk+1 -2pk+2 +pk+3 = Pk+1¢¢(0),这是C2连续性

• 局部性:改变一个控制点最多改变四个曲线段.

局部性:改变一个控制点最多改变四个曲线段.

• 扩展性:增加一个控制点,只增加一个曲线段.

• 当B样条的节点是p0,p1,…,pn时,增加节点p-1和pn+1,使得 p-1p0 = p0p1和pn-1pn=pnpn+1

即p-1 + p1 = 2p0 和 pn-1 + pn+1 = 2pn。那么B样条以p0 为起点且切于p0p1,以pn 为终点且切于pn-1pn

事实上,增加了P-1(u)和Pn-2(u).

P0(0) = P-1(1) = (p-1+4p0+p1)/6 = p0,

P0¢(0) = P-1¢(1) = ½ (p1 – p-1) = (p1 – p0)

从B样条的插值点反求控制点

以三次周期B样条P(u)为例,每段三次B样条需要四个控制点,该样条的首尾两点均不是控制点。设有N个插值点{Qj:j=1,2,…,N}和N+2个控制点{pj: j=0,1,…,N+1}。三次B样条一般不经过控制点。第j段的三次周期B样条Pj(u)满足:

Pj(0) = (pj-1 + 4pj + pj+1)/6 = Qj, j=1,2,…,N.

对于点的每个坐标来说,共有N个方程,但是有N+2个未知数。需要补充两个边界条件。

(1)末两点经过Q1和QN的非周期三次B样条曲线。

p0 = Q1, pN+1 = QN.

(2)封闭的周期三次B样条曲线。 P0=PN, P1=PN+1。

(3)端点有二重控制点P0=P1和PN+1=PN的三次B样条曲线

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航