system: [SYSTEM]

user: 2. 过指定顶点的四次均匀B样条曲线 假设轴线异面管道轴线 L 1 和 L 2 是异面直线，为了便于表述取 L 1 位于空间直角坐标系XOY平面内且与Y轴平行， L 2 位于YOZ平面内且与Y轴相交，取 L 1 上两点 P 0 和 P 1 ， L 2 上的两点 P 3 和 P 4 ，适当选取 P 2 ，构成 P 0 ， P 1 ， P 2 ， P 3 ， P 4 型值点序列。 定义1 设 r i ( s ) = ∑ j = 0 4 N j ， 4 ( s ) V i + j (3) 是四次均匀B样条曲线段。其中 N 0 ， 4 ( s ) ， N 1 ， 4 ( s ) ， N 2 ， 4 ( s ) ， N 3 ， 4 ( s ) ， N 4 ， 4 ( s ) 为四次均匀B样条基 V i ， V i + 1 ， V i + 2 ， V i + 3 ， V i + 4 为特征多边形的顶点。 构造插值于 P 0 ， P 2 ， P 4 ，并在 P 0 处与 P 0 P 1 相切，在 P 4 处与 P 3 P 4 相切的四次均匀B样条曲线段，需满足： { 1 24 V 0 + 11 24 V 1 + 11 24 V 2 + 1 24 V 3 = P 0 ， N 0 ， 4 ( a ) V 0 + N 1 ， 4 ( a ) V 1 + N 2 ， 4 ( a ) V 2 + N 3 ， 4 ( a ) V 3 + N 4 ， 4 ( a ) V 4 = P 2 ， 1 24 V 1 + 11 24 V 2 + 11 24 V 3 + 1 24 V 4 = P 4 ， − 1 6 V 0 − 1 2 V 1 + 1 2 V 2 + 1 6 V 3 = P 1 − P 0 ，     a ∈ ( 0 ， 1 ) − 1 6 V 1 − 1 2 V 2 + 1 2 V 3 + 1 6 V 4 = P 4 − P 3 . (4) 反解出 V 0 ， V 1 ， V 2 ， V 3 ， V 4 ，得到以 V 0 ， V 1 ， V 2 ， V 3 ， V 4 为控制顶点，插值于 P 0 ， P 2 ， P 4 ，并在 P 0 处与 P 0 P 1 相切，在 P 4 处与 P 3 P 4 相切的一段四次均匀B样条曲线段 r ( s ) = ∑ j = 0 4 N j ， 4 ( s ) V j (5) 这一段四次B样条曲线的形状与式(2)中参数a的选取和点 P 2 的位置有关。 例1 设 Φ 1 : { x = 5 + sin φ ， y = − 5 + s ， z = cos φ . 和 Φ 2 : { x = sin φ ， y = 5 + cos φ ， z = 6 + s .   φ ∈ [ 0 ， 2 π ] 是两个轴线异面管道，轴线的参数表达式分别为 L 1 : { x = 5 ， y = − 5 + s ， z = 0. 和 L 2 : { x = 0 ， y = 5 ， z = 6 + s . 取 L 1 上两点 P 0 = ( 5 ， − 3 ， 0 ) 和 P 1 = ( 0 ， 5 ， 0 ) ， L 2 上的两点 P 3 = ( 0 ， 5 ， 0 ) 和 P 4 = ( 0 ， 5 ， 6 ) ，当 a = 1 2 时 1) 取 P 2 = ( 10 3 ， 5 3 ， 1 ) ，得到一段四次均匀B样条曲线 { x = 40 3 s 3 − 50 3 s 3 − 5 3 s + 5 ， y = 50 3 s 4 − 145 3 s 3 + 110 3 s 2 + 5 s + 5 ， z = − 20 s 4 + 34 s 3 − 8 s 2 . 2) 取 P 2 = ( 5 2 ， 5 2 ， 1 ) ，得到一段四次均匀B样条曲线 { x = 10 s 3 − 15 s 3 + 5 ， y = 30 s 4 − 75 s 3 + 50 s 2 + 5 s − 5 ， z = − 20 s 4 + 34 s 3 − 8 s 2 . 3) 取 P 2 = ( 5 3 ， 10 3 ， 1 ) ，得到一段四次均匀B样条曲线 { x = − 40 3 s 3 + 110 3 s 3 − 85 3 s 2 + 5 ， y = 130 3 s 4 − 305 3 s 3 + 190 3 s 2 + 5 s + 5 ， z = − 20 s 4 + 34 s 3 − 8 s 2 . 三段B样条曲线与轴线拼接效果为图1所示： 图1. a = 1 2 ， P 2 分别为 P 2 = ( 10 3 ， 5 3 ， 1 ) ， P 2 = ( 5 2 ， 5 2 ， 1 ) ， P 2 = ( 5 3 ， 10 3 ， 1 ) 时轴线拼接效果图 例2 两个轴线异面管道同例1，轴线 L 1 上两点 P 0 和 P 1 取 P 0 = ( 5 ， − 3 ， 0 ) ， P 1 = ( 0 ， 5 ， 0 ) ， L 2 上的两点 P 3 和 P 4 取 P 3 = ( 0 ， 5 ， 0 ) ， P 4 = ( 0 ， 5 ， 6 ) ，当 a = 1 3 时 1) 取 P 2 = ( 10 3 ， 5 3 ， 1 3 ) ，得到一段四次均匀B样条曲线 { x = − 5 2 s 4 + 25 s 3 − 45 2 s 3 + 5 ， y = 135 2 s 4 − 150 s 3 + 175 2 s 2 + 5 s − 5 ， z = − 63 4 s 4 + 51 2 s 3 − 15 4 s 2 . 2) 取 P 2 = ( 5 2 ， 5 2 ， 1 ) ，得到一段四次均匀B样条曲线 { x = − 195 8 s 4 + 235 4 s 3 − 315 8 s 3 + 5 ， y = 675 8 s 4 − 735 4 s 3 + 835 8 s 2 + 5 s − 5 ， z = − 9 4 s 4 − 3 2 s 3 + 39 4 s 2 . 3) 取 P 2 = ( 5 3 ， 10 3 ， 5 3 ) ，得到一段四次均匀B样条曲线 { x = − 165 4 s 4 + 185 2 s 3 − 225 4 s 3 + 5 ， y = 405 4 s 4 − 435 2 s 3 + 485 4 s 2 + 5 s − 5 ， z = 45 4 s 4 − 57 2 s 3 + 93 4 s 2 . 三段B样条曲线与轴线拼接效果为图2所示： 图2. a = 1 3 ， P 2 分别为 P 2 = ( 10 3 ， 5 3 ， 1 3 ) ， P 2 = ( 5 2 ， 5 2 ， 1 ) ， P 2 = ( 5 3 ， 10 3 ， 5 3 ) 时轴线拼接效果图 例3 两个轴线异面管道同例1，轴线 L 1 上两点 P 0 和 P 1 取 P 0 = ( 5 ， − 3 ， 0 ) ， P 1 = ( 0 ， 5 ， 0 ) ， L 2 上的两点 P 3 和 P 4 取 P 3 = ( 0 ， 5 ， 0 ) ， P 4 = ( 0 ， 5 ， 6 ) ，当 a = 2 3 时 1) 取 P 2 = ( 10 3 ， 5 3 ， 1 3 ) ，得到一段四次均匀B样条曲线 { x = 165 4 s 4 − 145 2 s 3 + 105 4 s 3 + 5 ， y = − 45 2 s 4 + 30 s 3 − 5 2 s 2 + 5 s − 5 ， z = − 261 4 s 4 + 249 2 s 3 − 213 4 s 2 . 2) 取 P 2 = ( 5 2 ， 5 2 ， 1 ) ，得到一段四次均匀B样条曲线 { x = 195 8 s 4 − 155 4 s 3 + 75 8 s 3 + 5 ， y = − 45 8 s 4 − 15 4 s 3 + 115 8 s 2 + 5 s − 5 ， z = − 207 4 s 4 + 195 2 s 3 − 159 4 s 2 . 3) 取 P 2 = ( 5 3 ， 10 3 ， 5 3 ) ，得到一段四次均匀B样条曲线 { x = 15 2 s 4 − 5 s 3 − 15 2 s 2 + 5 ， y = 45 4 s 4 − 75 2 s 3 + 125 4 s 2 + 5 s − 5 ， z = − 153 4 s 4 + 141 2 s 3 − 105 4 s 2 . 三段B样条曲线与轴线拼接效果为图3所示： 图3. a = 2 3 ， P 2 分别为 P 2 = ( 10 3 ， 5 3 ， 1 3 ) ， P 2 = ( 5 2 ， 5 2 ， 1 ) ， P 2 = ( 5 3 ， 10 3 ， 5 3 ) 时轴线拼接效果图 从以上三个例子可以看出： 1) 参数a的取值与点 P 2 的位置有关。 ① 例1中，当 a = 1 2 时，取 P 2 = ( 5 2 ， 5 2 ， 1 ) 时分别与两个轴线拼接的光顺性比较好，而其余两个一端光顺性较好另一端较差。 ② 例2中，当 a = 1 3 时，取 P 2 = ( 10 3 ， 5 3 ， 1 3 ) 时分别与两个轴线拼接的光顺性比较好，而其余两个一端光顺性较好另一端较差。 ③ 例3中， a = 2 3 时，取 P 2 = ( 5 3 ， 10 3 ， 5 3 ) 时分别与两个轴线拼接的光顺性比较好，而其余两个一端光顺性较好另一端较差。 2) P 2 作为点 P 1 与 P 3 的中间点，应取在线段 P 1 P 3 的中间位置与两个轴线异面管道的轴线拼接光滑度较好。在例1~例3中，分别取 a = 1 2 ， a = 1 3 ， a = 2 3 时，显然 a = 1 2 时拼接效果较好。 3) P 2 选定后，为了得到更好的拼接效果，还需要调整曲线与控制多边形靠近程度，即适当选取点 P 2 的第三个坐标。 例4 两个轴线异面管道同例1，轴线 L 1 上两点 P 0 = ( 5 ， − 3 ， 0 ) 和 P 1 = ( 0 ， 5 ， 0 ) ， L 2 上的两点 P 3 = ( 0 ， 5 ， 0 ) 和 P 4 = ( 0 ， 5 ， 6 ) 。当 a = 1 2 时，分别取 P 2 = ( 5 2 ， 5 2 ， 0 ) ， P 2 = ( 5 2 ， 5 2 ， 1 ) ， P 2 = ( 5 2 ， 5 2 ， 2 ) 时，三段B样条曲线与轴 线拼接效果比较： 1) 取 P 2 = ( 5 2 ， 5 2 ， 0 ) ，得到一段四次均匀B样条曲线 { x = 10 s 3 − 15 s 3 + 5 ， y = 30 s 4 − 75 s 3 + 50 s 2 + 5 s − 5 ， z = − 36 s 4 + 66 s 3 − 24 s 2 . 2) 取 P 2 = ( 5 2 ， 5 2 ， 1 ) ，得到一段四次均匀B样条曲线 { x = 10 s 3 − 15 s 3 + 5 ， y = 30 s 4 − 75 s 3 + 50 s 2 + 5 s − 5 ， z = − 20 s 4 + 34 s 3 − 8 s 2 . 3) 取 P 2 = ( 5 2 ， 5 2 ， 2 ) ，得到一段四次均匀B样条曲线 { x = 10 s 3 − 15 s 3 + 5 ， y = 30 s 4 − 75 s 3 + 50 s 2 + 5 s − 5 ， z = − 4 s 4 + 2 s 3 + 8 s 2 . 三段B样条曲线与轴线拼接效果为图4所示。