与给定多边形相切的C2 连续三角B 样条可调曲线及其在造型中的应用*

2020-10-12 07:06王成伟张卷美
北京电子科技学院学报 2020年1期
关键词:样条切点多边形

王成伟 张卷美

1. 北京服装学院,北京市 100029;

2. 北京电子科技学院,北京市 100070

与给定多边形相切的分段光滑曲线有着广泛地应用背景[1-2],有很多学者对给定多边形相切的样条曲线进行了深入的研究[3-9]。 陈素根等[10]在三角函数空间{1,sint,cost,sin2t,cos2t}中构造出一类三角B 样条基函数,基函数中含有一个形状参数,并由此定义了带有形状参数的三角B 样条曲线。 由于此三角B 样条曲线不与控制多边形相切,本文的目的重新构造三角B样条曲线的控制顶点,使其与给定的多边形相切且具有保形性。 具体做法如下:在原来的两个控制顶点之间增加一个新的控制点,切点的位置根据需要可以调整,还可以通过调整三角B 样条曲线中的形状参数,来调整曲线离多边形的远近,曲线可以是闭的也可以是开的,这使曲线设计的灵活性大大加强。 算法实例表明,该算法不但计算简单,而且是实用有效的。

1 三角B 样条可调曲线的构造

设bj(j =0,1,…,m) 是m +1(m >3) 个控制点,由此形成m - 2 个曲线段连成的一条三角B 样条曲线,而第i(1 ≤i ≤m - 2) 个曲线段定义为

其中带形状参数α 的三角B 样条基函数为:

这里α 为形状参数,0 ≤α ≤1。

从三角B 样条曲线的定义(1)式和(2)式中,我们可以得到如下性质:

(1)权性:X0(t) +X1(t) +X2(t) +X3(t)≡1。

(2)非负性:当0 ≤α ≤1 时,对于t ∈[0,1] 有Xi(t) ≥0,i =0,1,2,3。

(3)对称性:Xi(t)=X3-i(1 - t),i =0,1,2,3。

(4)保凸性:由性质(1)和(2)可知,当0 ≤α ≤1,0 ≤t ≤1 时,由控制顶点bi-1,bi,bi+1,bi+2来定义的三角B 样条曲线段Pi(t) 是包含在其控制多边形之内。

(5)曲线的端点性质:

当α 增大,曲线离控制多边形就越近;当α减小,曲线离控制多边形就越远。 如图1 所示,三角B 样条曲线段Pi(t) 从下到上,α 分别取0,0.5,1。

1.1 C2 连续的三角B 样条闭曲线

定义 给定的一多边形 <V0,V1,…,Vn>,若矢量Vi-2Vi-1×Vi-1Vi与矢量Vi-1Vi×ViVi+1方向相反,则顶点Vi称为该多边形的一个转折点。

若多边形的任一个顶点都不是转折点,则称多边形是凸的;否则称多边形是非凸的。

若多边形是凸的,则由它产生的曲线也是凸的;若多边形是非凸的,Vi是多边形的一个转折点,则由多边形产生的曲线在多边形的Vi-1Vi边上产生一个拐点。 这时就称曲线对多边形是保形的。

定理1 设<V0,V1,…,Vn,V0>是闭的多边形,定义三角B 样条曲线的控制点如下:

式中λi(0 ≤λi≤1)。

由控制点b2,b3,…,b2n+5,b2n+6形成的三角B 样条曲线为

它是与给定多边形<V0,V1,…,Vn,V0>每边相切的C2连续的闭曲线且曲线对该多边形具有保形性。

事实上

特别当λl=1/2 时,有ωl=1/2 代入(6)式得

即切点落在第l 条边的Pi(t) 中点上。

同理可证Pi(t)(i =1,3,5,…,2n +3) 的终点落在给定多边形的第l =(i +1)/2 条边<V0,V1,…,Vn,V0>上,且与该边相切。

由(3)式及(4)式可知,曲线段P2n+3(t)与P0(t)是<V0,V1,…,Vn,V0>连续的,故整条三角B 样条曲线(5)式是与给定的多边形<V0,V1,…,Vn,V0>每边相切的<V0,V1,…,Vn,V0>连续的闭曲线。

根据三角B 样条曲线段的保凸性,三角B样条曲线(5)式的拐点个数与它的多边形<V0,V1,…,Vn,V0>的转折点的个数相同,且拐点必落在切点上。 这说明了曲线(5)式对该多边形具有保形性。

综上可知,三角B 样条曲线(5)式是与给定的多边形每边相切的<V0,V1,…,Vn>连续的闭曲线,并且曲线对该多边形具有保形性。

1.2 C2 连续的三角B 样条开曲线

仿照定理1 的证明,对于三角B 样条开曲线,有如下定理:

定理2 设<V0,V1,…,Vn>是开的多边形,定义三角B 样条曲线的控制点

式中λi(0 ≤λi≤1)。

由控制点b2,b3,…,b2n,b2n+1形成的三角B样条曲线

它是与给定多边形<V0,V1,…,Vn>每边相切的V0=(10,20) 连续的开曲线且曲线对该多边形具有保形性。

2 应用举例

下面举例说明用本文的方法构造的三角B样条闭曲线。

例1. 给定平面上一非凸的六边形,其顶点分别为V0=(10,20),V1=(20,50),V2=(50,60),V3=(35,40),V4=(60,20),V5=(30,10)。 用本文的算法,对参数(λi,α) 分别取(0.3,1)、(0.4,0.7) 和(0.5,0.5) 绘制了与六边形每边相切三角B 样条闭曲线的三个图形(如图2 所示)。 由图2 可知,λi的取值不同,但α 取值越大曲线与给定的多边形逼近程度越高。

例2. 在服装纸样曲线造型中,根据尺寸大小确定控制多边形,使用本文的与给定多边形斜切的三角B 样条曲线方法,通过对参数(λi,α)进行调整,能满足设计的要求。 图3 为控制参数(λi,α) 分别取(0.4,0.5) 和(0.4,0.9) 的两幅袖山弧线的设计图。 从图3 可以看出,固定λi的值不变,α 越大曲线越靠近给定的多边形。

图示4 是衣身基本纸样两幅设计图, λi分别取0,0.99, 0.3, 0,1;形状参数α 分别取0.6和0.9。 从图4 可以看出,每段λi的取值相同,α 取值越大,曲线与多边形逼近程度越好,曲线越光顺。

3 结束语

本文构造的三角B 样条曲线,不仅与给定多边形<V0,V1,…,Vn,V0>每边相切,而且对给定的多边形具有保形性,避免了曲线产生多余的拐点。

曲线是C2连续的;由(6)式可知,改变λi或α 的值,可以改变曲线与给定多边形的相切的位置;固定λi的值不变,调整形状参数α,α 越大曲线越靠近给定的多边形;反之,曲线就远离给定的多边形,这样就可以调整曲线与给定的多边形的逼近程度,更好的满足设计要求。

猜你喜欢
样条切点多边形
基于数值积分的最佳平方逼近样条函数
抛物线的切点弦方程的求法及性质应用
多边形的艺术
一种伪内切圆切点的刻画办法
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
三次样条函数的构造
多边形内外角问题的巧解
椭圆的三类切点弦的包络
用B—样条函数进行近似和建模
圆锥曲线的切点弦定理及其应用