为满足曲线自由设计的需求,本文对λ-B样条基和三次T-B样条基进行扩展,构造了λαβ-T-B样条基函数,定义了由该基函数生成的 λαβ-T-B样条曲线,其中含有三个参数 λ、 α、 β,构造的曲线不仅具备样条曲线的特性,还同时具备三角和代数多项式的优良性质,且具有形状可调性和更精确的逼近性;在给定条件下,形状参数有明确的几何意义, λ、 β取值越大, α值越小,越能更好地逼近控制多边形;调节参数的取值,改变曲线的形状;选则恰当的控制顶点,根据参数对曲线的调节规律,确定恰当的形状参数,生成的 λαβ-T-B样条曲线能较好贴近圆和椭圆;介绍了生成插值于给定数据点的 λαβ-T-B样条曲线的构造方法,并给出具体数例的计算,验证了方法的有效性和可行性。 In order to meet the requirement of free curve design, this paper extends the λ-B-spline basis and cubic T-B-spline basis and constructs a group of λαβ-T-B-spline basis function. The λαβ-T-B-spline curve generated by the base function is defined, which contains three parameters λ , α, and β, has the characteristics of spline basis function, but also has the good properties of trigonometric and algebraic polynomial basis, and has the shape tunability and more accurate approximation; under given conditions, shape parameters have clear geometric meaning. The larger the value λ of and β, the smaller the value of , the better the approximation control polygon can be. By changing the value of shape parameters, the curve can be adjusted; by selecting the appropriate control vertex and the appropriate shape parameters, the generated λαβ-T-B-spline curve can approach the circle and ellipse very well; In the end, the method of constructing λαβ-T-B-spline curve interpolating in the data points is introduced, and the calculation of specific numerical examples is given, reflect the effectiveness and feasibility.
为满足曲线自由设计的需求,本文对 λ -B样条基和三次T-B样条基进行扩展,构造了 λ α β -T-B样条基函数,定义了由该基函数生成的 λ α β -T-B样条曲线,其中含有三个参数 λ 、 α 、 β ,构造的曲线不仅具备样条曲线的特性,还同时具备三角和代数多项式的优良性质,且具有形状可调性和更精确的逼近性;在给定条件下,形状参数有明确的几何意义, λ 、 β 取值越大, α 值越小,越能更好地逼近控制多边形;调节参数的取值,改变曲线的形状;选则恰当的控制顶点,根据参数对曲线的调节规律,确定恰当的形状参数,生成的 λ α β -T-B样条曲线能较好贴近圆和椭圆;介绍了生成插值于给定数据点的 λ α β -T-B样条曲线的构造方法,并给出具体数例的计算,验证了方法的有效性和可行性。
样条曲线,形状参数,曲线设计,逼近,插值
Lingyun Qin, Yang Shen, Zhuo Duan, Xue Yang
School of Mathematics, Liaoning Normal University, Dalian Liaoning
Received: Apr. 18th, 2022; accepted: May 13th, 2022; published: May 23rd, 2022
In order to meet the requirement of free curve design, this paper extends the λ -B-spline basis and cubic T-B-spline basis and constructs a group of λ α β -T-B-spline basis function. The λ α β -T-B-spline curve generated by the base function is defined, which contains three parameters λ , α , and β , has the characteristics of spline basis function, but also has the good properties of trigonometric and algebraic polynomial basis, and has the shape tunability and more accurate approximation; under given conditions, shape parameters have clear geometric meaning. The larger the value of λ and β , the smaller the value of α , the better the approximation control polygon can be. By changing the value of shape parameters, the curve can be adjusted; by selecting the appropriate control vertex and the appropriate shape parameters, the generated λ α β -T-B-spline curve can approach the circle and ellipse very well; In the end, the method of constructing λ α β -T-B-spline curve interpolating in the data points is introduced, and the calculation of specific numerical examples is given, reflect the effectiveness and feasibility.
Keywords:Spline Curve, Shape Parameters, Curve Design, Approximation, Interpolation
Copyright © 2022 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
B样条在计算机辅助几何设计中一直处于重要地位,由于其结构简单又具有灵活性,在工程实际中应用较为广泛,在文献中也有较多讨论与研究。但在曲线形状调整这一方面一直需要改进,若需调节所生成的曲线,通常仅能通过调节控制顶点来完成,这也带来些许不便。因而,不断有新的构造方法被提出。
为扩大B样条形状表示范围,学者们选择利用多项式空间 [
本文在 λ - B 基 [
定义1 对 t ∈ [ 0 , 1 ] ,令
{ b 0 ( t ) = λ 1 6 ( 1 − t ) 2 [ 1 + ( 2 + α ) t ] + ( 1 − λ ) 1 6 + 4 β ( 1 − sin π t 2 ) 2 ( 1 − β sin π t 2 ) b 1 ( t ) = λ 1 6 [ 4 − ( 9 + α ) t 2 + ( 6 + α ) t 3 ] + ( 1 − λ ) 1 6 + 4 β ( 1 + cos π t 2 ) 2 ( 1 + β cos π t 2 ) b 2 ( t ) = λ 1 6 [ 1 − α t + ( 9 + 2 α ) t 2 − ( 6 + α ) t 3 ] + ( 1 − λ ) 1 6 + 4 β ( 1 − sin π t 2 ) 2 ( 1 + β sin π t 2 ) b 3 ( t ) = λ 1 6 t 2 [ ( 3 + t ) − ( 2 + α ) t ] + ( 1 − λ ) 1 6 + 4 β ( 1 − cos π t 2 ) 2 ( 1 − β cos π t 2 ) (1)
其中 λ ∈ [ 0 , 1 ] , α ∈ [ − 4 , − 1 ] , β ∈ [ − 1 2 , 1 ] 。
称(1)式为 λ α β - T - B 样条基函数。
其中三个参数 λ , α , β 取值不同时,基函数所对应图形也不同,如图1所示。
图1. λ α β - T - B 样条基函数所绘制的图形
式(1)所表示的 λ α β - T - B 样条基函数有如下的性质:
性质1 退化性
当 λ = 1 的时候式(1)则退化为 λ - B 样条基 [
性质2 非负性
对任意的 t ∈ [ 0 , 1 ] , λ ∈ [ 0 , 1 ] , α ∈ [ − 4 , − 1 ] , β ∈ [ − 1 2 , 1 ] ,有 b i ( i ) ≥ 0 , i = 0 , 1 , 2 , 3 。
性质3 规范性
∑ i = 0 3 b i ( t ) = 1 。
性质4 对称性
b i ( 1 − t ) = b 3 − i ( t ) , i = 0 , 1 , 2 , 3 。
性质5 端点性质
记 b ( k ) ( t ) = ( b 0 ( k ) ( t ) , b 1 ( k ) ( t ) , b 2 ( k ) ( t ) , b 3 ( k ) ( t ) ) T ,此时 k = 0 , 1 , 2 。且当 k = 0 时,有 b i ( 0 ) ( t ) = b i ( t ) , i = 0 , 1 , 2 , 3 。则
( b ( 0 ) ( 0 ) , b ( 1 ) ( 0 ) , b ( 2 ) ( 0 ) ) = ( 1 6 λ + 1 6 + 4 β ( 1 − λ ) α 6 λ − 2 + β 6 + 4 β ( 1 − λ ) ( − 1 − 2 3 α ) λ + ( 1 − λ ) 1 + 2 β 3 + 2 β 2 3 λ + 2 + 2 β 3 + 2 β ( 1 − λ ) 0 ( − 3 − 1 3 α ) λ + ( 1 − λ ) ( − 2 + 4 β 3 + 2 β ) 1 6 λ + 1 6 + 4 β ( 1 − λ ) − α 6 λ + 2 + β 6 + 4 β ( 1 − λ ) ( 3 + 2 3 α ) λ + ( 1 − λ ) 1 + 2 β 3 + 2 β 0 0 ( 1 + 1 3 α ) λ )
( b ( 0 ) ( 1 ) , b ( 1 ) ( 1 ) , b ( 2 ) ( 1 ) ) = ( 0 0 ( 1 + 1 3 α ) λ 1 6 λ + 1 6 + 4 β ( 1 − λ ) − α 6 λ + 2 + β 6 + 4 β ( 1 − λ ) ( 3 + 2 3 α ) λ + ( 1 − λ ) 1 + 2 β 3 + 2 β 2 3 λ + 2 + 2 β 3 + 2 β ( 1 − λ ) 0 ( − 3 − 1 3 α ) λ + ( 1 − λ ) ( − 2 + 4 β 3 + 2 β ) 1 6 λ + 1 6 + 4 β ( 1 − λ ) α 6 λ − 2 + β 6 + 4 β ( 1 − λ ) ( − 1 − 2 3 α ) λ + ( 1 − λ ) 1 + 2 β 3 + 2 β )
定义2 给定控制点 P i ∈ R d , d = 2 , 3 ; i = 0 , 1 , 2 , ⋯ , n ( n ≥ 3 ) ,均匀节点向量 U = [ u 0 , u 1 , ⋯ , u n + 4 ] ,这里有 u 0 < u 1 < ⋯ < u n + 4 ,其中参数 λ ∈ [ 0 , 1 ] , α ∈ [ − 4 , − 1 ] , β ∈ [ − 1 2 , 1 ] ,对 u ∈ [ u i , u i + 1 ] , i = 3 , 4 , ⋯ , n ,能够定义一条多项式曲线段
p i ( t ) = ∑ j = 0 3 p i + j − 1 b j ( t ) , t ∈ [ 0 , 1 ] (2)
因此这个曲线段构成样条曲线
p ( u ) = p i ( u − u i h i ) , u ∈ [ u i , u i + 1 ] ⊂ [ u 3 , u n + 1 ] (3)
这里 h i = u i + 1 − u i , i = 3 , 4 , ⋯ , n 。我们定义(2)式为 λ α β - T - B 样条曲线段,(3)式为 λ α β - T - B 样条曲线。当所有的 h i 都相等时,U为等距节点向量,称对应的曲线为 λ α β - T - B 均匀样条曲线。
显然, λ α β - T - B 样条曲线,当 λ = 1 的时候式(3)则退化为 λ - B 曲线 [
图2为3条 λ α β - T - B 样条曲线,当参数值不一样时,曲线形状也会随之改变。由上至下 ( λ , α , β ) 分别取值为 ( 0 , 0 , − 1 2 ) , ( 1 , − 2.5 , 0 ) , ( 1 , − 3 , 0 ) 。
图2. 3条 λ α β - T - B 样条曲线
由上文中的性质1~5,可以推出 λ α β - T - B 样条曲线的以下性质。
性质6 对称性
由控制点 P 0 , P 1 , P 2 , P 3 和 P 3 , P 2 , P 1 , P 0 构成的 λ α β - T - B 样条曲线是一样的,形状相同,但方向相反。
性质7 凸包性
由性质2和3可知,曲线位置在控制点生成的凸包之内。
性质8 端点性质
P i ( 0 ) = [ 1 6 λ + 1 6 + 4 β ( 1 − λ ) ] ( P i − 1 + P i + 1 ) + [ 2 3 λ + 2 + 2 β 3 + 2 β ( 1 − λ ) ] P i P i ( 1 ) = [ 1 6 λ + 1 6 + 4 β ( 1 − λ ) ] ( P i + P i + 3 ) + [ 2 3 λ + 2 + 2 β 3 + 2 β ( 1 − λ ) ] P i + 1 P ′ i ( 0 ) = [ 1 6 α λ + ( − 2 + β 6 + 4 β ) ( 1 − λ ) ] P i − 1 + [ − 1 6 α λ + 2 + β 6 + 4 β ( 1 − λ ) ] P i + 1 P ′ i ( 1 ) = [ 1 6 α λ + ( − 2 + β 6 + 4 β ) ( 1 − λ ) ] P i + [ − 1 6 α λ + 2 + β 6 + 4 β ( 1 − λ ) ] P i + 2
P ″ i ( 0 ) = [ ( − 1 − 2 3 α ) λ + 1 + 2 β 3 + 2 β ( 1 − λ ) ] P i − 1 + [ ( − 3 − 1 3 α ) λ − 2 + 4 β 3 + 2 β ( 1 − λ ) ] P i + [ ( 3 + 2 3 α ) λ + 1 + 2 β 3 + 2 β ( 1 − λ ) ] P i + 1 + ( 1 + 1 3 α ) λ P i + 2 P ″ i ( 1 ) = [ ( − 1 − 2 3 α ) λ + 1 + 2 β 3 + 2 β ( 1 − λ ) ] P i + 2 + [ ( − 3 − 1 3 α ) λ − 2 + 4 β 3 + 2 β ( 1 − λ ) ] P i + 1 + [ ( 3 + 2 3 α ) λ + 1 + 2 β 3 + 2 β ( 1 − λ ) ] P i + ( 3 + 2 α ) λ P i − 1
性质9 连续性
P i ( 0 ) = P i − 1 ( 1 ) P ′ i ( 0 ) = P ′ i − 1 ( 1 ) P i ( k ) ( 0 ) = P i − 1 ( k ) ( 1 )
当 α ≠ − 3 时, k = 0,1 , α = − 3 时, k = 0,1 , 2 。
又因为对 u ∈ [ u i , u i + 1 ] , t = u − u i h i ,有
p ( k ) ( u ) = ( 1 h i ) k p i ( k ) ( t ) (4)
所以,
p ( k ) ( u i − ) = ( 1 h i − 1 ) k p i − 1 ( k ) ( 1 ) p ( k ) ( u i + ) = ( 1 h i ) k p i ( k ) ( 0 ) (5)
由(4)和(5)式,可推出
p ( k ) ( u i + ) = ( h i − 1 h i ) k p ( k ) ( u i − ) .
当 α ≠ − 3 时, k = 0,1 , α = − 3 时, k = 0,1 , 2 。
由此可说明对于 λ α β - T - B 样条曲线,当 α ≠ − 3 时 G 1 连续, α = − 3 时, G 2 连续。
为利用构造曲线设计出满意的形状,需要明确形状参数对曲线形状的影响效果。
1) 确定参数 α , β 值,当第三个参数 λ 数值发生变化的时,曲线形状会随 λ 的取值不同而不同。如图3(a)所示。此时 α = − 5 2 , β = − 1 2 ,曲线从上至下 λ 分别取 2 3 , 1 2 , 1 3 。可以看出,当 α , β 取值不变时, λ 值越大,曲线越贴近控制多边形。
2) 确定参数 λ , β ,当 α 发生变化的时,曲线形状会随取值不同而不同。如图3(b)所示。此时 λ = 2 3 , β = − 1 2 ,曲线从上至下 λ 分别取 − 7 2 , − 3 , − 5 2 。当 λ , β 取值不变时, α 值越小,曲线越贴近控制多边形。
3) 确定参数 λ , α ,当 β 发生变化的时,曲线的位置以及形状就会随之发生改变。如图3(c)所示。此时 λ = 2 3 , α = − 7 2 ,曲线从上至下 β 分别取 1 , 1 2 , − 1 2 。当 λ , α 取值不变时, β 值越大,曲线越贴近控制多边形。
图3. 形状参数对曲线的影响
本文构造的 λ α β - T - B 样条曲线既保留了有理多项式的性质,又保留了三角多项式的性质,可用来表示二次曲线。
若 λ α β - T - B 样条曲线的控制点满足条件 P 1 = 1 2 ( P 0 + P 2 ) , P n − 1 = 1 2 ( P n − 2 + P n ) , λ 取任意值,都有 p ( u 1 ) = P 1 , p ( u n − 1 ) = P n − 1 。所以当令 λ α β - T - B 样条曲线经过控制多边形 P 0 , P 1 , ⋯ , P n 的首末顶点,需增加两个控制顶点 P − 1 = 2 P 0 − P 1 , P n + 1 = 2 P n − P n − 1 ,以 P − 1 P 0 P 1 ⋯ P n P n + 1 为控制定点定义曲线。
我们要求曲线封闭,则令 P 0 = P n ,再增加两个控制点 P n + 1 = P 1 , P n + 2 = P 2 ,以 P 0 P 1 ⋯ P n P n + 1 P n + 2 为控制顶点定义曲线。图4为 λ = 2 3 , α = − 7 2 , β = 1 时过首末控制点的闭曲线。
图4. 闭曲线实例
确定控制点 P 0 ( − 1 , − 1 ) , P 1 ( − 1 , 1 ) , P 2 ( 1 , 1 ) , P 3 ( 1 , − 1 ) , P 4 ( − 1 , − 1 ) , P 5 ( − 1 , 1 ) , P 6 ( 1 , 1 ) ,以 P 0 P 1 P 2 P 3 P 4 P 5 P 6 为控制顶点的 λ α β - T - B 样条曲线会更加逼近圆 x 2 + y 2 = 0.95 2 ,图5是 λ = 2 3 , α = − 7 2 , β = 1 2 时,曲线对圆的逼近。
图5. 曲线对圆的逼近
取定控制点 P 0 ( − 3 .08 , − 2 .05 ) , P 1 ( − 3 .08 , 2 .05 ) , P 2 ( 3 .08 , 2 .05 ) , P 3 ( − 3 .08 , − 2 .05 ) , P 4 ( − 3 .08 , − 2 .05 ) , P 5 ( − 3 .08 , 2 .05 ) , P 6 ( 3 .08 , 2 .05 ) ,以 P 0 P 1 P 2 P 3 P 4 P 5 P 6 为控制顶点的 λ α β - T - B 样条曲线会更加逼近圆 x 2 9 + y 2 4 = 1 ,图6是 λ = 4 5 , α = − 5 2 , β = − 1 2 时,曲线对椭圆的逼近。
图6. 曲线对椭圆的逼近
通常情况下, λ α β - T - B 样条曲线不过任何一个控制点。当要求 λ α β - T - B 样条曲线插值于n个数据点 Q 1 , Q 2 , ⋯ , Q n ,并插值点与分段曲线的端点相对应,由 λ α β - T - B 样条曲线的端点性质有:
[ 1 6 λ + 1 6 + 4 β ( 1 − λ ) ] ( P i − 1 + P i + 1 ) + [ 2 3 λ + 2 + 2 β 3 + 2 β ( 1 − λ ) ] P i = Q i (6)
其中 i = 1 , 2 , ⋯ , n ,(6)式为含有 n + 2 个未知数,n个方程的方程组,因此应填加两个端点条件去求解唯一解。
设
{ P 1 = Q 1 P n = Q n (7)
根据式(6)与(7),有
( 1 6 λ + 1 − λ 6 + 4 β ) P i − 1 + ( 2 3 λ + 2 + 2 β 3 + 2 β ( 1 − λ ) ) P i + ( 1 6 λ + 1 − λ 6 + 4 β ) P i + 1 = Q i
整理得
P i − 1 + 12 β + 12 − 4 β λ 3 + 2 β λ P i + P i + 1 = 36 + 24 β 6 + 4 β λ Q i
将式(6)与(7)化为等价的矩阵:
A E 1 = F 1 (8)
这里
A = ( 0 1 0 ⋯ 0 0 1 φ 1 ⋯ 0 0 0 1 φ ⋯ 0 0 ⋮ ⋮ ⋮ ⋮ ⋮ 0 0 0 ⋯ φ 1 0 0 0 ⋯ 1 0 ) ( n + 2 ) × ( n + 2 ) E 1 = ( P 0 , P 1 , ⋯ , P n , P n + 1 ) T F 1 = ( Q 1 , γ Q 2 , γ Q 3 , ⋯ , γ Q n − 1 , γ Q n ) T φ = 12 β + 12 − 4 β λ 3 + 2 β λ γ = 36 + 24 β 6 + 4 β γ
由(8)式可推出 E 1 = A − 1 F 1 ,由此,即可以求出控制顶点。
如果插值点是封闭的,则有 Q 1 = Q n ,这样便生成一条封闭,但闭合点处不光顺的插值曲线。如果令 P n − 1 = P 0 , P n = P 1 , P n + 1 = P 2 ,就可产生一条封闭、光顺的插值曲线。
假如插值点与分段曲线的端点对应,由性质8有:
[ 1 6 λ + 1 6 + 4 β ( 1 − λ ) ] ( P i − 1 + P i + 1 ) + [ 2 3 λ + 2 + 2 β 3 + 2 β ( 1 − λ ) ] P i = Q i , i = 1 , 2 , ⋯ , n (9)
上式为含有 n − 2 个未知数, n − 1 个方程的方程组,可求得 n − 1 个彼此不重复的控制顶点。把(9)式写成等价矩阵:
B E 2 = F 2 (10)
其中有
B = ( 1 φ 1 ⋯ 0 0 0 1 φ ⋯ 0 0 0 0 1 ⋯ 0 0 ⋮ ⋮ ⋮ ⋮ ⋮ 1 0 0 ⋯ 1 φ φ 1 0 ⋯ 0 1 ) ( n − 1 ) × ( n − 1 ) E 2 = ( P 0 , P 1 , ⋯ , P n − 3 , P n − 2 ) T F 2 = ( γ Q 1 , γ Q 2 , ⋯ , γ Q n − 2 , γ Q n − 1 ) T φ = 12 β + 12 − 4 β λ 3 + 2 β λ γ = 36 + 24 β 6 + 4 β γ
由(10)式可推出 E 2 = B − 1 F 2 ,即可求出控制顶点。
当 λ = 1, β = 1 以及 β = 0 , φ = 4 ,此时退化为 λ - B 曲线。
我们取 λ = 1 2 , β = 1 时, φ = 11 2 , γ = 15 2 ,此时 Q i = 2 15 P i − 1 + 11 15 P i + 2 15 P i + 1 ,
B = ( 1 11 2 1 ⋯ 0 0 0 1 11 2 ⋯ 0 0 0 0 1 ⋯ 0 0 ⋮ ⋮ ⋮ ⋮ ⋮ 1 0 0 ⋯ 1 11 2 11 2 1 0 ⋯ 0 1 ) ( n − 1 ) × ( n − 1 ) E 2 = ( P 0 , P 1 , ⋯ , P n − 3 , P n − 2 ) T F 2 = 15 2 ( Q 1 , Q 2 , ⋯ , Q n − 2 , Q n − 1 ) T
给定 F 2 = 15 2 ( ( 1 , 1 ) , ( 1 , 2 ) , ( 2 , 2 ) , ( 3 , 2 ) , ( 4 , 5 ) , ( 5 , 2 ) ) T ,便可求出唯一解
E 2 = ( ( 6.1160 , 2.4139 ) , ( 0.0720 , 0.5092 ) , ( 0.9878 , 2.2857 ) , ( 1.9951 , 1.9194 ) , ( 3.0391 , 2.1575 ) , ( 3.7900 , 1.2143 ) ) T
本文构造了一个带三个形状参数的 λ α β - T - B 样条曲线,保持了三次B样条曲线的基本性质,并同时具备代数和三角多项式的优良性质,具有更好的逼近性。且能在控制顶点不需改变时,仅调节三参数,便能调整曲线形状。当给定适当的控制顶点以及形状参数时,能更加贴近圆和椭圆。最后给出了利用曲线,生成给定数据点的插值曲线的方案,并给出具体数例计算,增强了本文所构造曲线的适用性质,体现了有效性和可行性。
本文对于曲线推广到曲面的问题上没有进行讨论,为设计出更符合实际需求的造型,仍还需多加研究。
秦凌云. 带三参数的三次B样条扩展曲线及其应用Cubic B-Spline Extension Curve with Three Parameters and Its Application[J]. 应用数学进展, 2022, 11(05): 2629-2640. https://doi.org/10.12677/AAM.2022.115278