具有自适应压缩机制的STL网格模型切片方法

2017-04-08 21:14王亚萍寇晨光葛江华隋秀凛王磊
哈尔滨理工大学学报 2017年1期
关键词:小波变换

王亚萍 寇晨光 葛江华 隋秀凛 王磊

摘要:针对切片后二维平面数据量过多及错误数据存在,影响快速成型质量的问题,提出了一种等厚分层切片后基于小波系数变换的数据自适应压缩方法,将切片后的二维平面数据以小波变换作为依据进行优化,利用小波系数峰值,自适应地保留能反映目标特征和细节信息的点,实现对切片后二维数据的压缩和优化。实验结果表明:本方法在等厚分层完成对STL模型切片的基础上,以小波系数峰值的变化为依据实现对二维平面数据的自适应压缩,并最大限度的保留特征信息,从而解决因STL文件格式缺陷而影响快速成型精度的问题。

关键词:等厚切片;二维平面数据;小波变换;自适应压缩

中图分类号:TP391.7 文献标志码:A 文章编号:1007-2683(2017)01-0060-05

0 引言

目前快速成型技术RP(rapid prototyping)问世不到二十年,却已实现了相当大的市场占有率,發展非常迅速。在所有的RP工艺中,无论是CAD造型软件还是由逆向工程生成的零件CAD模型,都必须经过分层处理才能将数据输入到RP设备中,因此分层处理的精度直接影响着快速成型产品的质量。

立体光刻(stereo lithographic,STL)数据格式由3D systems公司发明,在逆向工程中普遍应用。因其格式简单、数据处理方便,所以很快被广泛应用,目前大多数计算机辅助设计系统都提供STL文件的接口。STL文件是RP系统中数据交换的标准类文件类型,用三角网格面近似地表现三维CAD模型,并记录模型中每个三角面片的几何信息。由于STL文件格式简单、易于交换处理,基于STL模型的切片处理已被大多数RP系统采用。

目前,许多学者对基于STL网格模型的分层切片方法做了大量相应的研究,但由于STL文件常见的错误,如裂缝、法向量分离和顶点错误等,使得分层切片的精度和效率降低,直接影响了快速成型的质量。2012年,蔡冬根等,针对STL模型没有拓扑关系的特点,对其进行排序并建立拓扑关系,使得切片精度有所提高,但对模型的失真情况考虑较少.2013年,刘欢等针对传统等厚切片精度低、效率差的问题,提出一种基于遗传算法的快速分层算法,通过搜索最优点进行分层,该方法比较适用于面片较多的模型。2014年,王春香等基于STL模型等厚分层的优点,提出了排序精简法,该算法在对数据进行精简的同时,能够直接提取出只与分层切平面相交的三角形面片,快速提取轮廓线,但是切片的精度不是很高。2014年,韩婧茹等针对同一零件具有不同特征的特点,对STL模型的局部进行优化,可对要求高的部位进行局部的加密,使机械零件的精度提高,但效率有待进一步改进。2015年,张树哲等针对FDM快速成型机系统对分层处理精度低的特点,通过对当前分层算法的优化,结合控制功能的要求,开发了适合在极坐标工作方式下的分层软件。

虽然很多学者对切片的方法做了很多的研究,但鲜有从STL网格模型切片后二维平面数据压缩精简人手进行研究,也很少考虑冗余数据对切片的精度和效率的影响。文章针对STL文件固有的一些缺陷,提出了一种基于小波变换的切片数据自适应压缩方法。该方法通过设定切片的厚度和方向,对STL模型进行等厚分层,求取切平面与同一平面内一系列边的交点,通过小波变换对交点进行优化压缩,最大限度的保留特征信息,并删除冗余点。

1 STL文件读取

STL文件是在计算机图形应用系统中,用于表示三角网格的一种文件格式。STL文件是基于有限元网格划分的原理,采用三角网格来拟合三维模型的外表面。STL文件可以描述所有型体复杂的三维模型,三角面片的数量取决于模型的精度,通过STL文件实现CAD系统与快速成型系统的数据交换。

STL文件中记录了模型中所有三角形面片的信息,即三角面片的法向量和三个顶点坐标,在该文件中,面片的信息是无序存储的。STL文件有两种格式:一种是ASCII明码格式,另一种是二进制格式。在工程应用中,多采用ASCII明码格式来读取数据,故采用ASSCII码格式的STL文件进行研究。

ASCII文件格式如下:

Solid[文件名]//三维实体的零件名

facet normal+0.0000000E+00+0.0000000E+00+1.0000000E-00H三角面片法向量的3个分量值

outer loop

vertex+1.4847321E+01-2.1347225E+00+3.0000000E+01//三角面片第一个顶点坐标

vertex+1.4392394E+01+4.2259883E+00+3.0000000E+01//三角面片第一个顶点坐标

vertex+1.3644479E+01+6.2312251E+00+3.0000000E+01//三角面片第一个顶点坐标

endloop

endfacet//完成一个三角面片定义

……//其他三角面片信息

endsolid//整个STL文件定义结束

通过对ASCII格式的STL文件进行分析可知,虽然三角面片的顶点和边存在重合的情况,但是每个面片的法向量只有一个,所以可以先搜索到法向量normal后,读取normal的3个数并存储,其为三角面片的法向量坐标;法向量读取完毕后,继续搜索关键字vertex,并保存vertex内的点的坐标值,其中一个vertex对应着一个点,每搜索一次后对vertex进行计数i,当i≥3时进入搜索新的法向量值层进行存储和读取,直至所有的三角面片读取完毕。

根据ASCII文件的格式,利用MATLAB进行编程实现对STL文件的读取,本文以某汽轮机厂的叶片作为研究对象,通过对模型进行读取计算,得出该模型共有1991500个三角形顶点构成,读取的模型如图1所示。

2 STL网格模型的切片

2.1 小波及小波变换理论

本文提出的基于小波变换的切片交点数据自适应压缩方法,主要是由于小波变换能够通过伸缩和平移小波函数,以不同的分辨率自适应地逼近信号,低分辨率的小波变换可以描述信号更多的细节信息,而高分辨率下的小波变换能反映出结构的轮廓。

(1)

则φ(t)称为基本小波函数或小波母函数,其中,t为时间,ω为角频率,式(1)称为小波函数的可溶性条件。对φ(t)进行平移和伸缩可得到小波基函数集

(2)式中:a称为尺度伸缩因子,b称为时间平移因子。

函数f∈L2(R)的连续小波變换(CWT)

(3)

从(3)式子中可以看出,小波变换为“恒Q滤波”,具有自适应性。小波系数能够反映相邻点的细节信息,若数据变化不大,即各个数据点相似,由公式(3)计算的小波系数也相似,当数据有变化时,对应的小波系数峰值也会发生变化,这说明小波系数峰值能很好的反映交点数据的变化,所以小波系数的峰值能自适应地探测数据的特征点。

2.2 交点的计算

三维模型分层所得的截面轮廓,是一系列分层平面与STL模型的三角面片求交所得交点的集合。通过对三角面片信息的读取,可以知道三角形的三个顶点坐标,在分层的过程中,通过对层高进行设定可以知道某一层的高度,当与某个三角形相交时可以利用式(13)求出交点。如图2所示,相邻三角面片的四个顶点A、B、C、D的信息,必定会有交点l、m、n,分层平面的高度为h,利用方程(4)求出l、m、n的坐标值。设m点坐标为(xm,ym,zm),则其相应的直线方程为:

(4)

解方程(4)可得交点m的坐标:

(5)三角面片的交点的示意图如图2所示。

2.3 等厚分层切片的方法

具有自适应压缩机制的等厚分层方法的步骤如下:

1)确定每次分层的厚度,及切平面的位置;

2)将切平面与三角形面片相切,求出交点的坐标值;

3)小波变换对交点进行分解压缩;

4)通过小波变换后的数据获得截面的轮廓线;

5)判断是否所有的面片都被切完,切完后进行处理得到实体轮廓环,没切完继续进行调用;

6)切片结束。

本切片方法假设所有的切割平面与三角形网格平行的边不重合,假如重合则舍弃所切的某个平面。本方法不需要对三角形面片进行分组,也不需要建立三角形面片问的拓扑关系,同时具备自适应压缩优化的能力,这不仅能获得高的分层精度,且效率也大大的提升。

3 应用实例

3.1 交点数据的自适应压缩

本实例的数据为通过等厚分层切片后的叶片STL网格模型中某截面与切平面的交点数据。为实现切片数据的自适应压缩处理,首先需要对交点数据进行分解,为更清晰的观察交点坐标值的特征,本实例采用“db5”小波对信号进行六层分解;对分解的第六层到第一层的高、低频系数进行重构,利用低频小波系数发掘更多的细节信息,通过高频小波技术识别实体特征,从而实现对切片后交点数据的自适应性压缩。

3.2 本文切片方法与原始切片方法的对比

通过图片很容易发现,原始的切片截面不如经过自适应压缩后的切片截面光滑,由于多余数据点和错误数据点的存在,使得传统方法切片后的切片截面的精度降低,直接影响着快速成型的精度。

通过对比采用本文方法进行切片和传统方法使用同样层厚进行切片后的模型不难发现采用本文方法进行切片的模型精度更高,如图10、图11所示。

4 结论

分层处理一直是快速成型技术研究的热点,本文借助于等厚分层切片技术,提出了一种基于小波技术的切片数据压缩方法,该方法实现简单高效,同时又能最大限度的保留细节和特征信息,通过对交点信号进行六次分解和高、低频系数重构后使切片平面二维数据得到压缩,并剔除了冗余的数据点,使得截面的轮廓更加精确光顺;本文的切片方法通过与传统切片方法的截线图和模型的切片对比发现本文提出的切片方法在保留特征上有优势,压缩效果更理想,并且不需要设置阈值或者其他参数,就可以自适应的保留细节和特征点实现截面数据的自动化压缩,在提高切片模型的精度的同时减少了冗余数据量。

(编辑:关毅)

猜你喜欢
小波变换
最优小波包变换在齿轮箱振动信号去噪中的应用研究
负压波法管道泄漏监测定位系统实践与探索
基于峰度和小波变换的超短波信号调制识别
基于双树四元数小波变换的图像降噪增强
MATLAB在《数字图像处理》课程中的辅助教学
基于互信息和小波变换的图像配准的研究
基于小波变换的数字水印技术
基于Matlab的遥感图像IHS小波融合算法的并行化设计
数字影像技术中无损压缩模式应用
心电信号压缩方法研究