本文利用有理Bézier曲线光滑拼接两个轴线异面圆管道的轴线,进而构造了光滑拼接两个轴线异面的半径相同圆管道,并适当选择对应控制顶点的权因子可调节轴线靠近或远离控制多边形,以利于应用。 Our study introduces rational Bézier curves to blend the axes of two tubes with non-coplanar axes. Furthermore, our method constructs blended tubes with the same radius but non-coplanar axes. By choosing appropriate weight factors for the corresponding control vertices, we can control the distances between the axes and the control polygons. Our method could be favorable in application.
王芳1,白根柱2
1浙江长征职业技术学院,浙江 杭州
2内蒙古民族大学,内蒙古 通辽
收稿日期:2017年11月3日;录用日期:2017年11月16日;发布日期:2017年11月23日
本文利用有理Bézier曲线光滑拼接两个轴线异面圆管道的轴线,进而构造了光滑拼接两个轴线异面的半径相同圆管道,并适当选择对应控制顶点的权因子可调节轴线靠近或远离控制多边形,以利于应用。
关键词 :有理Bézier曲线,光滑拼接,轴线,管道
Copyright © 2017 by authors and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
代数曲面拼接问题是计算机几何设计和几何造型的基本问题,有着广泛的应用。二十世纪以来,随着多元样条函数理论的发展,关于显式或参数曲面的理论研究日益完善。但它们在空间曲面设计的应用是有局限性的。二十世纪60年代以来,由Buchberger提出的Groebner基方法以及吴文俊提出的特征列方法,使得交换代数及代数几何中许多结果变成可计算的。于是,关于曲面拼接问题的研究日益活跃,国内国外的学者在用代数曲面构造光滑拼接曲面方面做了大量的研究工作 [
注意到在构造光滑拼接的过渡曲面时,一般都要求待拼接的曲面有交线或管道的轴线相交。对于两个管道的轴线为异面的情形,相应的拼接技术已有成果不多。雷娜 [
设 C Y L 1 和 C Y L 2 为以 L 1 和 L 2 为轴线的给定二管道的参数表示, P 1 , P 2 为给定的平面的参数表示,它们确定的曲面分别表示为 s ( C Y L i ) ( i = 1 , 2 ) ,其中 s ( P i , C Y L i ) ( i = 1 , 2 ) 分别为柱面和平面的交线。
设 s ( P i ) ( i = 1 , 2 ) 为与 s ( C Y L i ) ( i = 1 , 2 ) 的轴线垂直的平面,则
P 1 = A 1 ( x − X 1 ) + B 1 ( y − Y 1 ) + C 1 ( z − Z 1 ) , P 2 = A 2 ( x − X 2 ) + B 2 ( y − Y 2 ) + C 2 ( z − Z 2 ) .
在上述基本假设下,我们研究存在圆柱螺旋管CH,并分别与 s ( P i ) ( i = 1 , 2 ) 在 s ( C Y L i , P i ) 处光滑拼接的条件,并给出拼接曲面的表达式。
拟用以有理Bézier曲线为轴线的管道光滑拼接两个轴线异面的管道。在文献中构造了以Bézier曲线为轴线的光滑拼接两个轴线异面的管道的过渡曲面。Bézier曲线具备很多有点,但是不能调整曲线的局部形状,也不能精确表示一些二次曲线。有理Bézier曲线是Bézier曲线的推广,在保持控制顶点不变的前提下,有理Bézier曲线既可以整体修改曲线形状,又能精确表示
圆锥曲线。因此有理Bézier曲线在曲线、曲面拼接中有更广泛的应用。
定义给定 n 个控制顶点 V i ( i = 0 , 1 , ⋯ , n ) ,对 t ∈ [ 0 , 1 ] 定义曲线
r ( t ) = ∑ i = 0 n B n , i ( t ) V i ,
和
r ( t ) = ∑ i = 0 n B n , i ( t ) w i V i ∑ i = 0 n B n , i ( t ) w i
分别为 n 次Bézier曲线和 n 次有理Bézier曲线。其中 B n , i ( t ) , i = 0 , 1 , ⋯ , n 为Bernstein基函数, w i ≠ 0 , i = 0 , 1 , ⋯ , n 对应控制顶点的权因子。有理Bézier曲线和Bézier曲线一样通过首、末顶点并和特征多边形的首、末两条边相切。除此之外还具有以下特性:
1) 若权因子有正、有负,则出现数值不稳定现象;
2) 若权因子同号并取互为相反的两组数,所得有理Bézier曲线重叠,以下假设 w i > 0 , i = 0 , 1 , ⋯ , n ;
3) 若所有权因子取相同的数 w 1 = w 2 = ⋯ = w n = k > 0 ,则有理Bézier曲线退化为Bézier曲线;
4) 若 0 < w i < 1 , i = 0 , 1 , ⋯ , n ,则所得有理Bézier曲线远离控制多边形;
5) 若 w i > 1 , i = 0 , 1 , ⋯ , n ,则所得Bézier曲线靠近控制多边形,见图1,图2。
图1. ( w 0 = 1 , w 1 = w 2 = − 30 , w 3 = 1 和 w 0 = 1 , w 1 = − 2 , w 2 = 20 , w 3 = − 3 的情形)
图2. ( w 0 = w 1 = w 2 = w 3 = 1 2 和 w 0 = 2 , w 1 = 20 , w 2 = 20 , w 3 = 2 的情形)
设 L 1 : { x = X 1 + A 1 s , y = Y 1 + B 1 s , z = Z 1 + C 1 s . 和 L 2 : { x = X 2 + A 2 s , y = Y 2 + B 2 s , z = Z 2 + C 2 s . 为两个给定管道的轴线的参数方程,这里的直线 l 1 是过点
O 1 ( X 1 , Y 1 , Z 1 ) 且方向矢量为 d 1 ( A 1 , B 1 , C 1 ) , l 2 是过点 O 2 ( X 2 , Y 2 , Z 2 ) 且方向矢量为 d 2 ( A 2 , B 2 , C 2 ) 。则空间两直线 l 1 和 l 2 是异面直线的充要条件为
| X 2 − X 1 Y 2 − Y 1 Z 2 − Z 1 A 1 B 1 C 1 A 2 B 2 C 2 | ≠ 0.
设 C Y L 1 和 C Y L 2 为给定的二管道的参数表示, P 1 , P 2 为给定的平面的参数表示,它们确定的曲面分别表示为 s ( C Y L i ) , s ( P i ) ( i = 1 , 2 ) , s ( C Y L i , P i ) ( i = 1 , 2 ) 为管道和平面的交线。
为叙述方便, C Y L 1 的轴线 L 1 位于OXY平面上且与Y轴平行,可设过点 V 0 ( x 0 , y 0 , 0 ) , V 1 ( x 0 , 0 , 0 ) , C Y L 2 的轴线 L 2 位于OYZ平面上,可设过点 V 2 ( 0 , y 2 , 0 ) , V 3 ( 0 , y 2 , z 2 ) ,于是参数表示分别为
L 1 : { x = x 1 + 0 s , y = y 1 + B 1 s , z = 0 + 0 s . 和 L 2 : { x = 0 + 0 s , y = y 2 + 0 s , z = z 2 + C 2 s .
则管道方程分别为
{ x = X 1 + a cos t + a sin t , y = Y 1 + B 1 s + a cos t + a sin t , z = a cos t + a sin t . 和
t ∈ [ 0 , 2 π ] 其中 a 为管道的半径。在这种假设下,先构造光滑拼接轴线的曲线,进而构造光滑拼接两个轴线异面的管道的拼接曲面。
根据有理Bézier曲线的性质,构造以 V 0 , V 1 , V 2 , V 3 为控制顶点的三次有理Bézier曲线
{ X = ( − u 3 + 3 u 2 − 3 u + 1 ) w 0 x 0 + ( 3 u 3 − 6 u 2 + 3 u ) w 1 x 1 + ( − 3 u 3 + 3 u 2 ) w 2 x 2 + u 3 w 3 x 3 ( − u 3 + 3 u 2 − 3 u + 1 ) w 0 + ( 3 u 3 − 6 u 2 + 3 u ) w 1 + ( − 3 u 3 + 3 u 2 ) w 2 + u 3 w 3 , Y = ( − u 3 + 3 u 2 − 3 u + 1 ) w 0 y 0 + ( 3 u 3 − 6 u 2 + 3 u ) w 1 y 1 + ( − 3 u 3 + 3 u 2 ) w 2 y 2 + u 3 w 3 y 3 ( − u 3 + 3 u 2 − 3 u + 1 ) w 0 + ( 3 u 3 − 6 u 2 + 3 u ) w 1 + ( − 3 u 3 + 3 u 2 ) w 2 + u 3 w 3 , Z = ( − u 3 + 3 u 2 − 3 u + 1 ) w 0 z 0 + ( 3 u 3 − 6 u 2 + 3 u ) w 1 z 1 + ( − 3 u 3 + 3 u 2 ) w 2 z 2 + u 3 w 3 z 3 ( − u 3 + 3 u 2 − 3 u + 1 ) w 0 + ( 3 u 3 − 6 u 2 + 3 u ) w 1 + ( − 3 u 3 + 3 u 2 ) w 2 + u 3 w 3 .
则此曲线光滑拼接轴线异面管道的轴线 L 1 和 L 2 。
这样,可以构造轴线异面的管道 s ( C Y L 1 ) 和 s ( C Y L 2 ) 在通过点 V 0 和 V 3 并与 L 1 和 L 2 垂直的平面处光滑拼接的管道。其拼接管道的参数表示为
p ( u , t ) = { X + a N 1 ( u ) cos t + a B 1 ( u ) sin t , Y + a N 2 ( u ) cos t + a B 2 ( u ) sin t , Z + a N 3 ( u ) cos t + a B 3 ( u ) sin t .
其中 a 为拼接管道的半径, N ( u ) = ( N 1 ( u ) , N 2 ( u ) , N 3 ( u ) ) 和 B ( u ) = ( B 1 ( u ) , B 2 ( u ) , B 3 ( u ) ) 分别为拼接管道在点 u ∈ [ 0 , 1 ] 处的法矢和副法矢。
分异面角等于 π 2 ,小于 π 2 和大于 π 2 三种情形,给出拼接实例。可适当调整有理Bézier曲线的权因子,
使拼接管道的轴线远离控制多边形或靠近控制多边形,便于应用。
例1:设轴线异面管道的轴线分别为 L 1 : { x = 3 , y = − 4 + t , z = 0. 和 L 2 : { x = 0 , y = 5 , z = 6 + t . 管道半径为1,有理Bézier曲线
的权因子取 w 0 = 1 , w 1 = 10 , w 2 = 10 , w 3 = 1 时,通过点 V 0 ( 3 , − 4 , 0 ) 和 V 3 ( 0 , 5 , 6 ) 并与 L 1 和 L 2 垂直的平面处光滑拼接的管道,图3。
例2:设轴线异面管道的轴线分别为 L 1 : { x = 3 , y = − 4 + t , z = 0. 和 L 2 : { x = 0 , y = 3 − 2 t , z = 6 + 6 t . 管道半径为1,有理Bézier曲线
的权因子取 w 0 = 1 , w 1 = 3 , w 2 = 3 , w 3 = 1 时,通过点 V 0 ( 3 , − 4 , 0 ) 和 V 3 ( 0 , 3 , 6 ) 并与 L 1 和 L 2 垂直的平面处光滑拼接的管道,图4。
例3:设轴线异面管道的轴线分别为 L 1 : { x = 3 , y = − 4 + t , z = 0. 和 L 2 : { x = 0 , y = 8 + 3 t , z = 6 + 6 t . 管道半径为1,有理Bézier曲线
的权因子取 w 0 = 1 , w 1 = 8 , w 2 = 8 , w 3 = 1 时,通过点 V 0 ( 3 , − 4 , 0 ) 和 V 3 ( 0 , 8 , 6 ) 并与 L 1 和 L 2 垂直的平面处光滑拼接的管道,图5。
尽管用有理Bézier曲线为轴线的管道能够光滑拼接轴线异面的圆管道,但是还不能够用隐式曲面轴线异面的管道。
图3. 异面角为 π 2 情形两个异面管道光滑拼接
图4. 异面角小于 π 2 情形两个异面管道光滑拼接
图5. 异面角大于 π 2 情形两个异面管道光滑拼接
本文利用有理Bézier曲线光滑拼接两个轴线异面的圆管道的轴线 L 1 和 L 2 ,在此基础上实现了两个半径相同的轴线异面圆管道的 G 1 光滑拼接。而对于半径不同轴线异面圆管道问题用此方法只能做到 G 0 拼接。因此,有必要研究基于轴线光滑拼接的半径不同轴线异面管道的光滑拼接问题。
浙江省教育厅一般项目资助(Y201636628),国家自然科学基金项目资助(11561052)。
王 芳,白根柱. 有理Bézier曲线及其应用Rational Bézier Curve and Its Application[J]. 应用数学进展, 2017, 06(08): 935-941. http://dx.doi.org/10.12677/AAM.2017.68112