参数曲面多边形区域上自由变形的多项式伸缩因子方法

2018-05-11 10:01陈素根刘兵兵
关键词:曲面四边形峰值

陈素根,刘兵兵

自由变形技术是几何造型、计算机图形学、计算机动画及科学数据可视化等领域获取形状复杂、形态多样的几何形体的重要手段之一,得到广泛关注与研究,在实践中广泛应用。然而,寻求新的、有效且直观的变形方法依然是计算机图形学等领域的研究热点之一。几何形体变形的本质是所在空间自身到自身的一个映射,通过映射改变形体的几何形状。1984年,Barr首先提出了整体与局部的变形方法[1],之后,Sederberg等提出了自由变形(FFD)方法[2],冯结青等提出了参数曲面控制的变形方法[3],但上述方法在预定或调节变形范围、控制变形方向、确保变形区域边界处的连续性等方面尚不够理想。近年来,基于伸缩因子的自由变形方法得到了深入研究[4-7],该方法在一定程度上提高了控制精度、操作简单而且适用于任何形式的曲线曲面,但构造的伸缩因子主要基于三角函数和指数函数等超越函数,构造基于多项式函数的伸缩因子方法也引起了关注[8-11],但这些方法都是定义在圆形区域或四边形区域上的。张莉等[12-13]研究了矩形区域和凸多边形区域上的参数曲面自由变形算法。然而,任意凸多边形区域上基于多项式伸缩因子方法的自由曲面变形研究还不多见,本文构造一种新的定义在凸多边形区域上的基于多项式的伸缩因子函数。该伸缩因子具有已有伸缩因子的优点,且可以在任意凸多边形区域上变形,使曲面变形效果更加丰富,为自由曲面变形提供了一种新方法。

1 伸缩因子的定义及其性质

1.1 基本伸缩函数的定义

设Pi(ui,vi)(i=1,2,…,n)是R2平面上不共线的n个点,以P1,P2,…,Pn为顶点的凸多边形D,且按逆时针方向排列构成回路,由几何知识易知,其内部区域的面积:

对于R2平面上任意点P(u,v),若记三角形PP1P2的面积为 S1,三角形 PP2P3的面积为S2,…,三角形PPn-1Pn的面积为Sn-1,三角形PPnP1的面积为 Sn,则

令 Xi=Si/S,i=1,2,…,n ,则 (X1,X2,…,Xn)称为P关于多边形D的面积坐标,显然

定义1 设P0(u0,v0)是R2平面上凸多边形D中P1,P2,…,Pn内一定点,P0关于凸多边形D的面积坐标为 (X10,X20,…,Xn0),记 t=X1·X2·…·Xn,t0=X10·X20·…·Xn0,作 R2上的函数:

则称 f(u,v)为R2平面内凸多边形区域D上的基本伸缩函数,其中,n∈N+为光滑指数,D为支撑区域,其边界为∂D。图1~图3分别给出了三边形、四边形和五边形区域上基本伸缩函数图形,图4给出了三边形区域上鸟巢消失的伸缩函数图形。

图1 三边形区域基本伸缩函

图2 四边形区域基本伸缩函数

图3 五边形区域基本伸缩函数

图4 三边形区域鸟巢消失时的基本伸缩函数

定义 2 令 E(u,v)=E(u,v,u0,v0,n,h)=1+h·f(u,v),则称E(u,v)为R2平面内凸多边形区域D上的带形状参数n,h的多项式伸缩因子,n∈N+为光滑指数,h为伸缩参数,D为支撑区域,其边界为∂D。

1.2 伸缩因子的性质

易知伸缩因子E(u,v)具有以下性质:

性质1E(u,v)|∂D=1;

性质2单峰值性:在P0(u0,v0)取得极值;

2 空间参数曲面的变形与控制

2.1 变形的数学模型

设 p(u,v)=(x(u,v),y(u,v),z(u,v))为定义在参数(u,v)平面中区域 Ω 上的C(r)类曲面 (r≥1),Eij(u,v)=E(u,v,u0,v0,n,hij),(i,j=1,2,3)为具有相同支撑区域和光滑指数的伸缩因子,光滑指数(n≤r+1),D⊂Ω ,变形中心O'=(x0,y0,z0),令

为支撑区域D上的伸缩矩阵,则变形后的曲面pd(u,v)与变形前的曲面p(u,v)可表示为

更一般的情形,设第s(s=1,2,…,k)次变形以O's为中心,其伸缩因子为Es,伸缩矩阵为Ts,则变形后的曲面pd(u,v)与变形前的曲面p(u,v)满足如下递推关系:

2.2 变形的几何意义

令T=(dij)3×3,e1,e2,e3为线性无关的单位向量,记 p(u,v)-O'=p1e1+p2e2+p3e3,则(1)式可表示为

由此可知(1)式所定义的变形几何意义:在支撑区域内,在原曲面上的每一点p(u,v)处,对向量 p(u,v)-O'在仿射坐标系[O',e1,e2,e3]下的坐标(p1,p2,p3)T作仿射变换,变换矩阵就是伸缩矩阵T。

2.3 变形的交互控制

在变形过程中,通过调控变形中心、支撑区域、光滑指数和伸缩参数,可以灵活地控制变形曲面的形状:

(1)改变O',可控制曲面的相对变形中心;

(2)改变D,可控制曲面的支撑区域形状;

(3)改变P0,可控制曲面的峰值点位置;

(4)改变光滑指数n,可控制变形曲面在边界处的光滑性;

(5)改变伸缩参数hij(i,j=1,2,3),可以控制曲面的伸缩方向和调整各方向的伸缩幅度,如取h11=h≠0,hij=0(i,j=1,2,3)且 i,j不同时为1,可以控制曲面沿X轴的凹凸变形;改变h11的符号,可以控制曲面沿X轴的正向或负向变形,改变 ||h11的大小,可以控制曲面沿X轴变形的幅度;改变h12,h13的大小,可以控制曲面沿X轴的剪切效果变形,类似可以得到控制曲面沿Y轴、Z轴的剪切效果变形。

3 应用实例

以抛物面 p(u,v)=(u,v,16-u2-v2)为例,分别演示本文方法的实际变形效果及变形控制参数改变时对曲面形状的调控作用。简单起见,本文实验选取相同的定义区域Ω=[-4,4]×[-4,4],相同的变形中心O'=(0,0,-16)。图5给出了变形的原始抛物面,图6~图14给出了变形效果。图6~图7为三边形区域的变形效果图,图6中三边形区域顶点为 P1(-2,-2),P2(2,-2),P3(0,2),单峰值点P0(0,0),光滑指数n=3,伸缩参数h33=1,其余伸缩参数hij=0;图7改变图6中峰值点位置P0(0,-2/3),其余参数不变,显示了峰值点对变形的控制效果。图8~图10为四边形区域的变形效果图,四边形区域的顶点为 P1(-2,0),P2(0,-2),P3(2,0),P4(0,2),单峰值点 P0(0.5,0.5),光滑指数n=3。图8中伸缩参数h33=1,其余伸缩参数hij=0;图9中伸缩参数h33=1,h13=0.05,其余伸缩参数hij=0;图10中伸缩参数h33=1,h31=10,其余伸缩参数hij=0,这三张图显示了伸缩参数对变形的控制效果。图11给出了五边形区域的变形效果图,五边形区域顶点为P1(-2,1),P2(-1,-2),P3(1,-2),P4(2,1),P5(0,3),单峰值点 P0(0,0),光滑指数n=1,伸缩参数h33=-0.5,其余伸缩参数hij=0,该图显示了伸缩参数为负时的沿Z轴下凸变形效果。图12为互不相交的两多边形区域的复合变形效果图,三边形区域顶点为 P1(-3,-3),P2(-1,-3),P3(-2,-1),单峰值点P0(-2,-2),光滑指数n=2,伸缩参数h33=h13=1,其余伸缩参数hij=0,四边形区域顶点为 P1(1,1),P2(3,1),P3(3,3),P4(1,3),单峰值点P0(2,2),光滑指数n=2,伸缩参数h33=1,其余伸缩参数hij=0。

图5 原始抛物面

图6 三边形区域变形效果

图7 峰值点位置对三边形区域变形的控制

图8 四边形区域变形效果

图9 伸缩参数对四边形区域变形的控制(X轴方向)

图10 伸缩参数对四边形区域变形的控制(Z轴方向)

图11 五边形区域沿Z轴下凸变形效果

图12互不相交区域的复合变形

图13 ~图14为三个多边形区域的叠加变形效果图。图13中变形支区间分别为三边形、四边形和五边形区域,单峰值点P0(0,0),光滑指数n=2,三边形顶点为 P1(-0.5,-0.5),P2(0.5,-0.5),P3(0,1),伸缩参数h33=0.2,其余伸缩参数hij=0;四边形顶 点 为 P1(-1.5,-1.5),P2(1.5,-1.5),P3(1.5,1.5),P4(-1.5,1.5),伸缩参数 h33=0.5,其余伸缩参数hij=0;五 边 形 顶 点 为 P1(-4,0),P2(-3,-4),P3(3,-4),P4(4,0),P3(0,4),伸缩参数 h33=1,其余伸缩参数hij=0;图14是对图13变形效果的进一步控制,分别改变了三边形和四边形区域上的部分伸缩因子。

图13 不同区域的叠加变形效果

图14 伸缩参数对不同区域的叠加变形的控制

4 结束语

本文提出的任意凸多边形区域上基于多项式的伸缩因子具有已有伸缩因子的特性:能精确控制变形范围,变形模型简单、易于操作;控制参数具有明显的几何意义;对于任何参数曲面均适用,具有普遍性。与现有方法比较,本文方法具有以下优点:

(1)可实现任意凸多边形区域上的自由变形,变形区域不再仅为圆域或四边形区域;

(2)伸缩因子的构造是基于多项式的,避免了三角函数或指数函数等超越函数,计算更简单;

(3)伸缩参数可实现沿坐标轴的剪切及对叠加变形的进一步控制,变形效果更丰富。

为了使得变形效果更加多样化、变形方法更加实用化,下一步将研究基于多项式伸缩因子的曲面周期变形以及结合几何变换的平移和旋转功能实现曲线曲面自由变形。

参考文献:

[1]BARR A H.Global and local deformation of solid primitives[J].Computer Graphics,1984,18(3):21-30.

[2]SEDERBERG T W,PARRY R.Free-form deformations of solid geometric models[J].Computer Graphics,1986,20(4):151-160.

[3]FENG J Q,MA L Z,PENG Q S.A New free-form deformation through the control of parametric surfaces[J].omputer&Graphics,1996,20(4):531-539.

[4]WANG X P,YE Z L,HU X M.Shape modification and deformation of parametric surfaces[J].Computer Aided Drafting Design and Manufacture,2002,12(1):1-7.

[5]WANG X P,LIU S L,ZHANG L Y.Construction surface features through deformation[J].International Journal of Image and Graphics,2010,10(1):41-56.

[6]宋来忠,彭刚,杨文颖,等.用于参数曲线自由变形的新的伸缩因子[J].工程图学学报,2009,30(3):87-93.

[7]宋来忠,彭刚,杨文颖.具有区间峰值的曲面伸缩因子及其实验[J].计算机工程与应用,2009,45(7):187-190.

[8]宋来忠,彭刚,沈艳军.参数曲面多边形区域上变形的伸缩因子及其实验[J].计算机工程与应用,2011,47(12):192-195.

[9]陆友太,周来水,王志国,等.基于多项式伸缩因子的参数曲面自由变形[J].中国机械工程,2012,23(5):609-613.

[10]陆友太,周来水,王志国,等.基于脊曲线控制的参数曲面周期变形[J].中国机械工程,2012,23(15):1860-1864.

[11]李军成.基于伸缩因子的代数曲线曲面变形方法[J].计算机工程与科学,2016,38(6):1225-1230.

[12]张莉,余慧芳,檀结庆.凸多边形域上的参数曲面自由变形[J].计算机辅助设计与图形学学报,2015,27(5):892-899.

[13]张莉,葛先玉,檀结庆.矩形域上的参数曲面自由变形算法[J].计算机研究与发展,2016,53(5):1118-1127.

猜你喜欢
曲面四边形峰值
“四单”联动打造适龄儿童队前教育峰值体验
结合模拟退火和多分配策略的密度峰值聚类算法
320排CT低剂量容积体部灌注成像强化峰值时间对孤立性周围肺病变诊断价值
怎样数出图形的个数
参数方程曲面积分的计算
参数方程曲面积分的计算
第二型曲面积分的中值定理
四边形逆袭记
关于第二类曲面积分的几个阐述
数学潜能知识月月赛