拟三次B样条曲线及其应用
Quasi-Cubic B-Spline Curve and Its Application
DOI: 10.12677/AAM.2020.98147, PDF, HTML, XML,  被引量 下载: 686  浏览: 3,622  科研立项经费支持
作者: 王 芳:浙江长征职业技术学院基础部,浙江 杭州
关键词: 形状参数拟三次B样条曲线轴线管道光滑拼接Shape Parameter Quasi-Cubic B-Spline Curve Axes Tube Smooth Blending
摘要: 本文利用B样条曲线对于特定控制顶点附近曲线的形状具有局部控制与参数连续性特性,构造了一段带有形状参数的过控制多边形的两个端点且与始末两条边相切的拟三次B样条曲线,在光滑拼接两个轴线异面圆管道的轴线的基础上,构造了光滑拼接两个轴线异面的管道,得到了新的轴线异面管道的拼接管道。
Abstract: B-spline curve has local controlling and parameter continuity property at the near specific control vertices. We construct a quasi-cubic B-spline curve, which is a piece of interpolation with shape parameters and the specified vertex and tangent to the specified two edges. On the basis of the smooth blending, the axes of two tubes whose axes are non-coplanar lines, smooth blending two tubes whose axes are non-coplanar lines are also constructed. Finally, a new blending tube between the two tubes whose axes are non-coplanar lines is obtained.
文章引用:王芳. 拟三次B样条曲线及其应用[J]. 应用数学进展, 2020, 9(8): 1255-1262. https://doi.org/10.12677/AAM.2020.98147

1. 引言

对于轴线异面的管道如何实现光滑地拼接这一问题是几何造型中的难点。白根柱及其团队提出基于轴线光滑拼接来解决这一问题的拼接技术 [1] [2] [3] [4]。王芳、白根柱针对轴线异面粗细相同的圆管道如何实现光滑拼接找到了两种方法,即用有理Bézier曲线为轴线的圆管道 [5]、用拟三次Bézier曲线为轴线的圆管道 [6];而对于轴线异面粗细不同圆管道的光滑拼接,王芳、白根柱则构造了用带有形状参数的Bézier曲线为轴线的圆管道 [7]。对于Bézier曲线来说它并没有局部修改性,而B样条方法恰恰可以用来表示与设计自由型曲线,其不足就是不通过特征多边形的端点。白根柱采用三顶点共线的技巧构造出过顶点且与特征多边形的始末两条边相切的三次均匀B样条曲线,进而以此为轴线构造了拼接管道实现了分三段光滑拼接 [8],王芳、白根柱利用二次B样条曲线经过特征多边形两边的中点,并与两边相切特点,构造了两段连续的二次均匀B样条曲线为轴线的管道实现了这一难题的分两段光滑拼接 [9]。本文旨在构造过指定顶点且与指定两条轴线相切的拟三次B样条曲线,并将其应用于轴线异面的管道拼接。

2. 拟三次B样条曲线性质

定义1 [10] 对于 t [ 0 , 1 ] , λ R ,称关于t的多项式

{ b 0 ( t ) = 1 24 ( 4 λ 3 λ t ) ( 1 t ) 3 , b 1 ( t ) = 1 24 [ 16 + 2 λ 12 ( 2 + λ ) t 2 + 12 ( 1 + λ ) t 3 3 λ t 4 ] , b 2 ( t ) = 1 24 [ 4 λ + 12 t + 6 ( 2 + λ ) t 2 12 t 3 3 λ t 4 ] , b 3 ( t ) = 1 24 ( 4 4 λ + 3 λ t ) t 3 . , t [ 0 , 1 ]

为带参数 λ 的调配函数,亦可称为拟三次均匀B样条基函数。

r ( t ) = i = 0 3 b i ( t ) V i , t [ 0 , 1 ]

称为带有形状参数 λ 的拟三次B样条函数。其中 V 0 ( x 0 , y 0 , z 0 ) , V 1 ( x 1 , y 1 , z 1 ) , V 2 ( x 2 , y 2 , z 2 ) , V 3 ( x 3 , y 3 , z 3 ) 为特征多边形的顶点。

林意研究了过控制顶点的三次均匀B样条曲线的计算方法 [11],下面我们构造一段过控制多边形的始末端点且与控制多边形的始末两条边相切的带有形状参数的拟三次B样条曲线。

P 0 , P 1 , P 2 , P 3 是给定的拟三次B样条曲线的控制多边形的顶点,求插值于 P 0 P 3 ,且在 P 0 P 3 处的切线分别为 P 1 P 0 P 3 P 2 的拟三次均匀B样条曲线,所求B样条函数的实际控制顶点 V 0 , V 1 , V 2 , V 3 ,则应满足:

{ 1 24 ( 4 λ ) V 0 + ( 2 3 + 1 12 λ ) V 1 + ( 1 6 1 24 λ ) V 2 = P 0 , ( 1 6 1 24 λ ) V 1 + ( 73 6 + 71 24 λ ) V 2 + 1 24 ( 7 λ + 4 ) = P 3 , 1 2 V 0 + 12 V 2 = P 1 P 0 , 1 2 V 1 + ( λ + 1 2 ) V 3 = P 3 P 2 .

解得

{ V 0 = 2 ( ( 141 λ 3 + 2090 λ 2 + 3492 λ + 1168 ) P 0 + ( 141 λ 3 1802 λ 2 5508 λ 2320 ) P 1 + ( 168 λ 2 + 1440 λ + 768 ) P 2 + ( 408 λ 2 + 3456 λ + 1536 ) P 3 ) / ( 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 ) , V 1 = ( ( 142 λ 3 + 1791 λ 2 + 5532 λ + 2336 ) P 0 + ( 142 λ 3 87 λ 2 + 2328 λ + 1168 ) P 1 + ( 175 λ 2 600 λ 400 ) P 2 + ( 425 λ 2 1500 λ 800 ) P 3 ) / ( 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 ) , V 2 = 2 ( ( λ 3 + λ 2 60 λ 32 ) P 0 + ( λ 3 + 11 λ 2 24 λ 16 ) P 1 + ( 7 λ 2 + 60 λ + 32 ) P 2 + ( 17 λ 2 + 144 λ + 64 ) P 3 ) / ( 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 ) , V 0 = ( ( 71 λ 2 + 860 λ + 2336 ) P 0 + ( 71 λ 2 8 λ + 1168 ) P 1 + ( 117 λ 2 1920 λ 4272 ) P 2 + ( 117 λ 2 + 2220 λ + 3072 ) P 3 ) / ( 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 ) .

代入 P 0 , P 1 , P 2 , P 3 的坐标,可得到实际控制顶点的坐标。

例1 对于给定的四个顶点 P 0 ( 3 , 3 , 0 ) , P 1 ( 3 , 0 , 0 ) , P 2 ( 0 , 4 , 0 ) , P 3 ( 0 , 4 , 3 ) ,算出 V 0 ( x 0 , y 0 , z 0 ) , V 1 ( x 1 , y 1 , z 1 ) , V 2 ( x 2 , y 2 , z 2 ) , V 3 ( x 3 , y 3 , z 3 ) 。其中

{ x 0 = 2 ( 864 λ 2 6048 λ 3456 ) 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 , x 1 = 5112 λ 2 + 23580 λ + 10512 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 , x 2 = 2 ( 36 λ 2 252 λ 144 ) 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 , x 3 = 2556 λ + 10512 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 .

{ y 0 = 2 ( 423 λ 3 3966 λ 2 + 9108 λ + 5712 ) 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 , y 1 = 426 λ 3 2973 λ 2 24996 λ 11808 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 , y 2 = 2 ( 3 λ 3 + 93 λ 2 + 996 λ + 480 ) 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 , y 3 = 213 λ 2 1380 λ 11808 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 .

{ z 0 = 2 ( 1224 λ 2 + 10368 λ + 4608 ) 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 , z 1 = 1275 λ 2 4500 λ 2400 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 , z 2 = 2 ( 51 λ 2 + 432 λ + 192 ) 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 , z 3 = 351 λ 2 + 6660 λ + 9216 117 λ 3 + 2066 λ 2 + 4932 λ + 1936 .

在确定一个参数 λ 时,可得到一条以 V 0 , V 1 , V 2 , V 3 为控制顶点,过 P 0 , P 3 且与 P 1 P 0 , P 3 P 2 相切的拟三次均匀B样条曲线。如图1所示,当参数 1 < | λ | 10 时得到的拟三次均匀B样条曲线只有左右调整的功能,并没有上下调整的功能;当参数 | λ | > 10 时,出现了数值不稳定现象;而当参数 | λ | < 1 时,则没有调整的功能。

Figure 1. The change of the quasi-cubic B-spline curve with different values λ

图1. 拟三次B样条曲线对于 λ 不同取值变化情况

3. 拟三次均匀B样条曲线在轴线异面管道拼接中的应用

Φ 1 : { x = x 1 + a 1 N 11 cos φ + a 2 B 11 sin φ , y = y 1 + c 1 s + a 1 N 12 cos φ + a 2 B 12 sin φ , z = a 1 N 13 cos φ + a 2 B 13 sin φ . Φ 2 : { x = b 1 N 21 cos φ + b 2 B 21 sin φ , y = y 2 + b 1 N 22 cos φ + b 2 B 22 sin φ , z = z 2 + c 2 s + b 1 N 23 cos φ + b 2 B 23 sin φ .

φ [ 0 , 2 π ] 是两个轴线异面管道的参数表达式,其中当 a 1 = a 2 = b 1 = b 2 时, Φ 1 Φ 2 是两个粗细相同的圆管道;当 a 1 = a 2 b 1 = b 2 时, Φ 1 Φ 2 是两个粗细不同的圆管道;当 a 1 = b 1 , a 2 = b 2 时, Φ 1 Φ 2 是两个椭圆管道。 N i = ( N i 1 , N i 2 , N i 3 ) , B i = ( B i 1 , B i 2 , B i 3 ) , i = 1 , 2 分别是 s = 0 s = 1 时的主法矢和副法矢。

L 1 : { x = x 1 + 0 s , y = y 1 + c 1 s , z = 0 + 0 s . L 2 : { x = 0 + 0 s , y = y 2 + 0 s , z = z 2 + c 2 s . 是两个管道的轴线,其中 L 1 位于OXY平面上与X轴相交, L 2 位于OYZ平面上与Y轴相交。

P 0 ( p 10 , p 20 , 0 ) , P 1 ( p 11 , p 21 , 0 ) L 1 上的两个点, P 2 ( 0 , p 22 , 0 ) , P 3 ( 0 , p 32 , 0 ) L 2 上的两个点,则以 P 0 , P 1 , P 2 , P 3 为控制顶点形成一个空间控制多边形。先构造过点 P 0 P 3 ,且在 P 0 P 3 两点处的切线分别为 P 1 P 0 P 3 P 2 的拟三次均匀B样条曲线,进而以其为轴线构造拼接管道实现轴线异面管道的光滑拼接,其表达式为

p ( t , φ ) : { x ( t ) + d 1 ( t ) N 1 ( t ) cos φ + d 2 ( t ) B 1 ( t ) sin φ , y ( t ) + d 1 ( t ) N 2 ( t ) cos φ + d 2 ( t ) B 2 ( t ) sin φ , z ( t ) + d 1 ( t ) N 3 ( t ) cos φ + d 2 ( t ) B 3 ( t ) sin φ . t [ 0 , 1 ] , φ [ 0 , 2 π ]

其中 [ x ( t ) , y ( t ) , z ( t ) ] 是B样条曲线的参数表示, N = [ N 1 ( t ) , N 2 ( t ) , N 3 ( t ) ] B = [ B 1 ( t ) , B 2 ( t ) , B 3 ( t ) ]

拟三次均匀B样条曲线在点t处的主法矢和副法矢。当 d 1 ( t ) = d 2 ( t ) 时管道为圆管道,当 d 1 ( t ) d 2 ( t ) 时管道为椭圆管道。

当椭圆管道需要光滑拼接管道时,为了与两端椭圆管道的长半轴和短半轴相对应 [9],还需要适当调整轴线每一点处主、副两个法矢的方向。

4. 拼接实例

设有两个轴线参数表达式为 L 1 : { x = 3 , y = 3 + 3 t z = 0. L 2 : { x = 0 , y = 4 , z = 3 + t . t [ 0 , 1 ] 的异面管道,

P 0 ( 3 , 3 , 0 ) , P 1 ( 3 , 0 , 0 ) L 1 上的两个点, P 2 ( 0 , 4 , 0 ) , P 3 ( 0 , 4 , 3 ) L 2 上的两个点,连接 P 2 P 2 构成空间控制多边形。求插值于点 P 0 P 3 ,且与 P 1 P 0 P 3 P 2 相切的拟三次均匀B样条曲线,由例1拟三次均匀B样条曲线的实际控制顶点为 V 0 ( x 0 , y 0 , z 0 ) , V 1 ( x 1 , y 1 , z 1 ) , V 2 ( x 2 , y 2 , z 2 ) , V 3 ( x 3 , y 3 , z 3 ) 。取 λ = 8 ,得到拟三次均匀B样条曲线的参数表达式为

r ( t ) : { x ( t ) = b 0 ( t ) x 0 + b 1 ( t ) x 1 + b 2 ( t ) x 2 + b 3 ( t ) x 3 , y ( t ) = b 0 ( t ) y 0 + b 1 ( t ) y 1 + b 2 ( t ) y 2 + b 3 ( t ) y 3 , z ( t ) = b 0 ( t ) z 0 + b 1 ( t ) z 1 + b 2 ( t ) z 2 + b 3 ( t ) z 3 . t [ 0 , 1 ] (1)

效果图为图2

Figure 2. When λ = 8 , effect drawing of noncoplanar lines with quasi-cubic B-spline

图2. λ = 8 时,拟三次均匀B样条曲线为轴线的管道与轴线光滑拼接效果图

例2已知两个圆管道 p 1 ( t , φ ) : { x = x 1 ( t ) + 0.5 e 11 sin φ + 0.5 e 21 cos φ , y = y 1 ( t ) + 0.5 e 12 sin φ + 0.5 e 22 cos φ , z = z 1 ( t ) + 0.5 e 13 sin φ + 0.5 e 23 cos φ . t [ 0 , 1 ] , φ [ 0 , 2 π ] p 2 ( t , φ ) : { x = x 2 ( t ) + 0.5 e 11 sin φ + 0.5 e 21 cos φ , y = y 2 ( t ) + 0.5 e 12 sin φ + 0.5 e 22 cos φ , z = z 2 ( t ) + 0.5 e 13 sin φ + 0.5 e 23 cos φ . t [ 0 , 1 ] , φ [ 0 , 2 π ] ,其轴线异面。由此

构造出光滑拼接管道为

p ( t , φ ) : { x ( t , φ ) = x ( t ) + 0.5 B 1 ( t ) + 0.5 N 1 ( t ) , y ( t , φ ) = y ( t ) + 0.5 B 2 ( t ) + 0.5 N 2 ( t ) , z ( t , φ ) = z ( t ) + 0.5 B 3 ( t ) + 0.5 N 3 ( t ) . t [ 0 , 1 ] , φ [ 0 , 2 π ] (2)

其中 [ x ( t ) , y ( t ) , z ( t ) ] 是构造拼接管道的拟三次均匀B样条曲线, N = [ N 1 ( t ) , N 2 ( t ) , N 3 ( t ) ] 是其在点t处的主法矢,而 B = [ B 1 ( t ) , B 2 ( t ) , B 3 ( t ) ] 则为在点t处的副法矢。

拼接效果,如图3

Figure 3. When λ = 8 , effect drawing of blending tube with quasi-cubic B-spline curve as axis of tubes

图3. 当 λ = 8 时,以拟三次B样条曲线为轴线的管道拼接轴线异面管道效果图

例3 设两个圆管道 p 1 ( t , φ ) : { x = x 1 ( t ) + 1 e 11 sin φ + 1 e 21 cos φ , y = y 1 ( t ) + 1 e 12 sin φ + 1 e 22 cos φ , z = z 1 ( t ) + 1 e 13 sin φ + 1 e 23 cos φ . t [ 0 , 1 ] , φ [ 0 , 2 π ] p 2 ( t , φ ) : { x = x 2 ( t ) + 0.5 e 11 sin φ + 0.5 e 21 cos φ , y = y 2 ( t ) + 0.5 e 12 sin φ + 0.5 e 22 cos φ , z = z 2 ( t ) + 0.5 e 13 sin φ + 0.5 e 23 cos φ . t [ 0 , 1 ] , φ [ 0 , 2 π ] ,其轴线异面且粗细不同。

此时光滑拼接 p 1 p 2 ,还需构造拟三次均匀B样条曲线 r ( t ) ,使其两个端点通过 p 1 p 2 的两条母线 P 0 ( 2 , 3 , 0 ) , P 1 ( 2 , 0 , 0 ) , P 2 ( 0 , 3.5 , 0 ) , P 3 ( 0 , 3.5 , 3 )

r ( t ) : { x ( t ) = b 0 ( t ) x 0 + b 1 ( t ) x 1 + b 2 ( t ) x 2 + b 3 ( t ) x 3 , y ( t ) = b 0 ( t ) y 0 + b 1 ( t ) y 1 + b 2 ( t ) y 2 + b 3 ( t ) y 3 , z ( t ) = b 0 ( t ) z 0 + b 1 ( t ) z 1 + b 2 ( t ) z 2 + b 3 ( t ) z 3 . t [ 0 , 1 ] (3)

如此得到拼接管道为

p ( t , φ ) : { x ( t , φ ) = x ( t ) + d ( t ) B 1 ( t ) + d ( t ) N 1 ( t ) , y ( t , φ ) = y ( t ) + d ( t ) B 2 ( t ) + d ( t ) N 2 ( t ) , z ( t , φ ) = z ( ( t ) + d ( t ) B 3 ( t ) + d ( t ) N 3 ( t ) . t [ 0 , 1 ] , φ [ 0 , 2 π ] (4)

其中 d ( t ) = r ( t ) , r ( t ) N = [ N 1 ( t ) , N 2 ( t ) , N 3 ( t ) ] , B = [ B 1 ( t ) , B 2 ( t ) , B 3 ( t ) ] 分别是 r ( t ) 在点t处的主、副法矢。

拼接效果,如图4

Figure 4. When λ = 8 , effect drawing of blending tube with quasi-cubic B-spline curve as axis between the different radius of tubes

图4. λ = 8 时,以拟三次B样条曲线为轴线的管道拼接粗细不同管道效果图

例4设两个椭圆管道 p 1 ( t , φ ) : { x = x 1 ( t ) + 1 e 11 sin φ + 0. 8 e 21 cos φ , y = y 1 ( t ) + 1 e 12 sin φ + 0. 8 e 22 cos φ , z = z 1 ( t ) + 1 e 13 sin φ + 0. 8 e 23 cos φ . t [ 0 , 1 ] , φ [ 0 , 2 π ] p 2 ( t , φ ) : { x = x 2 ( t ) + 0.5 e 11 sin φ + 0. 4 e 21 cos φ , y = y 2 ( t ) + 0.5 e 12 sin φ + 0. 4 e 22 cos φ , z = z 2 ( t ) + 0.5 e 13 sin φ + 0. 4 e 23 cos φ . t [ 0 , 1 ] , φ [ 0 , 2 π ] ,其轴线异面。此时构造的拼接管道则为

p ( t , φ ) : { x ( t , φ ) = x ( t ) + d ( t ) B 1 ( t ) + 0 .8 d ( t ) N 1 ( t ) , y ( t , φ ) = y ( t ) + d ( t ) B 2 ( t ) + 0 .8 d ( t ) N 2 ( t ) , z ( t , φ ) = z ( t ) + d ( t ) B 3 ( t ) + 0 .8 d ( t ) N 3 ( t ) . t [ 0 , 1 ] , φ [ 0 , 2 π ] (5)

拼接效果,如图5

5. 结束语

本文构造了插值于两个端点、且与给定两条异面直线相切的具有形状参数 λ 的拟三次均匀B样条曲线,在光滑拼接两个异面管道的轴线的基础上以其为轴线构造出相应的拼接管道,从而实现了轴线异面

Figure 5. When λ = 8 , effect drawing of blending tube with quasi-cubic B-spline curve as axis between the ellipse tubes

图5. 当 λ = 8 时,以拟三次B样条曲线为轴线的管道拼接椭圆管道效果

管道的光滑拼接。其中形状参数 λ 具有左、右的调节功能,并不具有上、下(靠近或远离控制多边形)的调节功能。拼接曲面理论上是光滑的,但其视觉光顺性不够理想,还需要进行更进一步的研究。

基金项目

浙江省教育厅一般项目资助(Y201636628)。

参考文献

[1] Wang, H. and Bai, G.Z. (2013) Employing Generalized Cylindrical Helicoid Tube to Smoothly Blending Tubes Whose Axes Are Non-Coplanar. Applied Mechanics Materials, 380-384, 1750-1754.
https://doi.org/10.4028/www.scientific.net/AMM.380-384.1750
[2] Bai, G.Z., Wang, H. and Yin, Z.J. (2014) Employing Generalized Bezier Tube to Smoothly Blending Tubes Whose Axes Are Non-Coplanar. Applied Mechanics Materials, 513-517, 2301-2306.
https://doi.org/10.4028/www.scientific.net/AMM.513-517.2301
[3] Bai, G.Z., Wang, H., Yin, Z.J. and Liu, S.Y. (2015) Smoothly Blending of Cylinders Whose Axes Are Non-Coplanar Based on Smoothly Blended Axes. Applied Mechanics Materials, 713-715, 152-158.
https://doi.org/10.4028/www.scientific.net/AMM.713-715.152
[4] Bai, G.Z. and Wu, Z. (2019) Intersection Line of Conical Surfaces and Its Application in the Blending of Tubes with Non-Coplanar Axes. International Journal of Applied Physics and Mathematics, 9, 152-157.
https://doi.org/10.17706/ijapm.2019.9.4.152-157
[5] 王芳, 白根柱. 有理Bezier曲线及其应用[J]. 应用数学进展, 2017, 6(8): 935-941.
[6] 王芳, 白根柱. 拟三次Bezier曲线及其在管道拼接中的应用[J]. 应用数学进展, 2018, 7(6): 709-713.
[7] 王芳, 白根柱. 带有形状参数的Bezier曲线及其在粗细不同轴线异面管道拼接中的应用[J]. 应用数学进展, 2019, 8(4): 697-702.
[8] 白根柱. 基于轴线光滑拼接的轴线异面管道拼接技术[J]. 应用数学进展, 2019, 8(7): 1267-1271.
[9] 王芳, 白根柱. 二次B样条及其应用[J]. 湖北民族大学(自然科学版), 2020, 37(2): 92-96.
[10] 林意, 熊汉伟, 骆少明, 张湘伟. 过控制顶点的B样条曲线[J]. 江南大学学报(自然科学版), 2003, 2(6): 553-556.
[11] 韩旭里, 刘圣军. 三次B样条曲线的扩张[J]. 计算机辅助设计与图形学学报, 2003, 15(5): 576-578.