面向协同设计的VRML模型装配特征信息重建方法

2010-07-07 06:51行开新童秉枢
图学学报 2010年4期
关键词:面片步长次数

行开新, 田 凌, 童秉枢

(清华大学精密仪器及机械学系,北京 100084)

随着网络技术的发展和全球化进程的不断推进,协同设计成为企业缩短设计周期,增强竞争力的有效手段。传统CAD零件模型体积庞大,现有网络条件下很难进行远程异地的传输,不同CAD系统的零件模型格式又互不兼容,因此传统模型格式其无法实现对异地协同设计和跨CAD平台设计的支持。VRML模型具有标准化、造型逼真、交互性强以及体积小等诸多优点;同时,大多数CAD软件均提供了VRML格式输出接口。因此,VRML模型提供了适合在 Internet上可视化显示和操纵不同CAD系统产生的零件模型的理想方式[1]。

用于协同设计的 VRML环境与普通的网络三维 VRML环境有所不同,前者除了需要详细的外形表述外,还需要相关的设计特征参数。目前在协同设计方面对 VRML的研究主要集中在实时交互处理[2]及三维模型的优化[3]。对于复杂的产品零部件模型 VRML都是采用三角面片造型方式,其设计特征参数无法从模型本身直接获得。对于这个问题,当前主要方法是在模型之外附加零件特征信息[4-5],但这无疑增加了协同设计尤其是异地协同设计的网络负担。因此对VRML模型的设计信息进行重建,使设计者能够进行完善的协同设计,是基于 VRML协同设计亟待解决的问题。

通过调查发现,零件装配特征中,90%为平面和回转体(如圆柱面,圆锥面,球面等)。回转体在机械模型设计特征中约占70%,其特征参数(如回转中心,回转半径等)在设计过程中有重要意义。本文对这些特征信息的重建进行了研究,提出变步长同步移动搜索算法,并对其计算效率及复杂度进行了分析验证。

1 算法中的若干定义

VRML模型是一个表面模型,它由一系列(平)面片包围形成,一个面片可包含多个顶点。为了确保所有顶点位于一个平面上,CAD系统输出 VRML模型时常将模型表面分解为一系列具有邻接关系的三角面片,一个 VRML模型可表示为

各点及矢量的关系如图1所示。

图1 VRML模型面片定义

2 算法描述

VRML模型将设计特征中的圆柱、圆锥回转体分别离散成了由若干三角面片构成的正棱柱和正棱台,而球体则被离散成为了多段正棱台组成的近似球体,各种回转体垂直轴线的截平面形状均为正多边形,如图2所示。计算回转中心时,初始条件选取设计模型的一个顶面定位点0P和3个侧面定位点同时获得四点所在面片的法向量n0, n1, n2, n3,3个侧面点属于不同的三角面片单元。算法主要思想是首先将不在同一平面的映射到与 n0垂直的平面内,由VRML模型的几何特征可知,投影后的点在以回转中心为圆心,以回转半径为外切圆半径的正多边形的弦上。通过算法将投影后的各点移至各自所在弦的中点,进而计算回转中心及回转半径。其具体步骤如下:

Step 1 投影各点

根据柱面,锥面和球面的不同特点,将侧面的3个点投影到P1所在的垂直于轴线n0的面Φ上,投影后的各点为P1, P2', P3',并求出投影后的单位法向量n1, n2', n3',如图2所示。

图2 将侧面点映射到同一平面Φ上

Step 2 计算边向量

计算P1, P2', P3'三个点所在的边的单位向量Tp1, Tp2, Tp3,如式(1)所示

Step 3 确定初始搜索步长

选择P1, P2', P3'组成的三角形中最长边长为初始搜索步长τ。

图3 投影后的截面

Step 4 移动点P2'

根据P1P2'与对应两条边的法向量n1, n2'的夹角,α β的关系在P2'所在的边上移动P2',如图3所示。由式(2)计算得到cosα,cosβ。

若前后两次计算cosα, cosβ大小关系发生变化,则首先将搜索步长变为原来的1/10,之后再移动P2'。重复本步骤直到步长τ 小于要求的精度值或cosα, cosβ相等。

Step 5 移动点P3'

使用类似Step 3和Step 4的方法,根据P2'P3'和n2', n3'的关系,移动P3'。

Step 6 同步移动P1, P2', P3'三点

根据P1P3'和对应两条边的法向量n1, n3'夹角,γ δ的关系在P1, P2', P3'所在的边上移动三点。首先计算两个角的余弦cosγ,cosδ

若cosγ>cosδ,则1P,P2',P3'分别向-Tp1, Tp2,-Tp3方向移动τ

若cosγ<cosδ,则1P,P2',P3'分别向Tp1, -Tp2,Tp3方向移动τ

若前后两次计算cosγ,cosδ大小关系发生变化,则首先将搜索步长变为原来的1/10,之后再移动三点。重复本步骤直到步长τ小于要求的精度值或cosγ,cosδ相等。

通过上述移动后,1P, P2', P3'各点均位于所在边的中点,以下根据几何关系计算相应的回转特征参数,如图4所示。

图4 计算回转中心等参数

Step 7 计算回转中心

设回转中心为cP,根据几何关系可知点cP和1P,2P′满足式(8)所示关系,由此求得回转中心。

Step 8 计算回转半径

根据式(9)中关系可得到截面多边形的某一顶点PA

由式(10)即可计算得到回转半径

3 算法复杂度分析

本算法完全基于向量空间,初始条件仅需要少量局部 VRML模型信息,采用变步长搜索比较方式自适应性强,降低了计算和迭代次数,易于实现,计算效率高。为了进一步分析该算法的计算性能,设计了以下实验。

在初始条件相同的条件下,实验选用已知回转中心为Z轴,主轴最细处直径为6mm的阶梯轴VRML模型,如图5所示。该模型由5525个面片组成,其回转部分由正 22棱柱近似圆柱回转体。计算所得的回转中心精度取决于算法所采用的最小搜索步长,最小步长也决定着系统的迭代次数和计算效率。

图5 阶梯传动轴

实验选择了 0.00001、0.00005、0.0001、0.0005、0.001、0.005、0.01、0.05、0.1等 9个值作为最小搜索步长分别进行测试,所选值分布在0.00001~0.1,约为轴直径的0.00017%~1.67%。针对每个最小搜索步长分别用四组点做测试。此处定义绝对误差的计算公式为式(11)

测得随着迭代步长的增加,迭代次数和迭代误差分布情况分别如图6和图7所示。

通过实验结果可以看出其分布具有以下规律:

(1)随着最小搜索步长的增大,算法的误差也随之增大。不同组的数据计算结果的误差不同,但是都分布在坐标系45°线的附近或者下侧。由此看出,计算误差整体上和最小搜索步长成正比关系。同样的结论也可以通过图4的几何关系推导出来:从图上可以看出,圆心点的误差和弦中点的误差成近似正比关系。

图6 迭代次数变化情况

图7 迭代误差分布情况

(2)随着最小搜索步长的减小,算法的搜索迭代次数不断增加,但是可以看出,搜索最小搜索步长变为原来的1/10,搜索迭代次数仅增加10~30次,迭代次数增加远远慢于搜索步长的减小。

(3)不同组的数据计算出来的误差和迭代次数差异比较大。计算误差虽然在坐标系 45°线附近分布较多,但是有少数分布在较下侧;最小搜索步长不变的条件下,算法的迭代次数也会出现差异。这是由于搜索算法本身的特点决定的,搜索算法是在一定的范围内进行搜索,因此,实际点离边界点的远近就导致了搜索迭代次数的差异;计算误差也一样,计算结果只是最后一次搜索的边界值,而实际点离该边界的远近直接影响着迭代误差的大小。

(4)综上,可以看出迭代步长是算法效率和精度的重要指标,随着迭代步长的增大,迭代次数呈下降趋势,迭代误差总体呈上升趋势。所以迭代步长的选取可以根据迭代次数和迭代误差的分布规律来综合考虑,使算法既具备很好的计算效率又具备很好的精度。

4 算法应用

本文所述方法为协同浏览尺寸信息查询、协同装配模型定位等协同设计过程提供了重要的特征参数信息,是 VRML环境下实现深层次协同设计操作的基础。目前,该算法已经应用于一些协同设计系统,如协同虚拟装配系统、协同浏览批注系统[6]等。图8为利用本文介绍的装配特征信息重建方法开发的协同虚拟装配系统进行某型号万向节总成的虚拟装配,装配过程中只需要分别依次选择零件和装配体回转特征上的4个点就可以实现以零件的装配。实际使用表明该方法计算效率和计算结果均满足协同设计的要求。

图8 利用本文算法进行虚拟装配

5 结 论

在基于Web设计应用越加深入的背景下,本文提出了变步长移动搜索算法,该算法能够利用少量局部 VRML模型信息通过搜索迭代方法实时高效地计算各种回转体特征的参数信息,对VRML零件回转体装配特征进行信息重建。此外,该算法计算初始条件少,自适应性强,亦适用于其它网格模型的数据信息提取。

[1]Ando H, Kubota A, Kiriyama T. Study on the collaborative design process over the Internet: a case study on VRML 2.0 specification design [J]. Design Studies, 1998, 19(3): 289-308.

[2]周自强, 沈连婠, 赵 玮, 等. 基于Web的虚拟设计中VRML实时模型的可交互处理方法[J]. 计算机辅助设计与图形学学报, 2005, 17(16): 1371-1377.

[3]Jeong-Hwan Ahn, Chang-Su Kim, Yo-Sung Ho. An efficient coding algorithm for color and normal data of three-dimensional mesh models [C]//IEEE International Conference on Image Processing,Barcelona, 2003: 789-792.

[4]刘检华, 姚 珺, 宁汝新. CAD 系统与虚拟装配系统间的信息集成技术研究[J]. 计算机集成制造系统,2005, 11(1): 44-47, 67.

[5]苏 艳, 廖文和, 郭 宇. 面向虚拟装配的 VRML模型优化重构[J]. 计算机工程与设计, 2007, 28(11):2509-2512, 2722.

[6]Tian Ling, Chen Jizhong, Wang Qiaoyu, et al.CoDesign space: a collaborative design support system in a network environment [J]. International Journal of Computer Integrated Manufacturing, 2007,20(2-3): 265-279.

猜你喜欢
面片步长次数
机场航站楼年雷击次数计算
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
2020年,我国汽车召回次数同比减少10.8%,召回数量同比增长3.9%
三维模型有向三角面片链码压缩方法
一类无界算子的二次数值域和谱
基于随机森林回归的智能手机用步长估计模型
初次来压期间不同顶板对工作面片帮影响研究
依据“次数”求概率
甜面片里的人生
基于动态步长的无人机三维实时航迹规划