论文部分内容阅读
逆向工程技术(ReverseEngineering,RE)最早应用于汽车,飞机等制造业,其行业产品的表面多为自由曲面,难以用精确的数学模型描述,研究和应用主要集中在几何形状。
论文目的是解决难以用数学模型描述的自由曲面,通过数据处理将采集来的数据经过一定的处理,提供三维软件通用的接口文件,重建出真实图形,提高实物重建的精度。重点阐述了数据处理中的去噪声点(异常点),IGES数据格式的转换,多视图拼合,数据插值和精简数据,图形显示技术。
首先是对整个程序框架的构建:采用VC++作为实现环境,连接OpenGL(即开放性图形库OpenGraphicsLibrary)。OpenGL是一种图形应用程序设计界面(API),独立于硬件系统,操作系统和窗口系统。VC用来组织进程,实现算法。主要定义两个类:CMatrix矩阵类和CBuffer缓存类,其它所有的工作都是基于这两个类生成的。矩阵的所有操作都集中在类里,只留部分函数接口和成员数据。因此这两个类是整个系统的基础,设计好这两个类至关重要。
然后进行预处理,这里讲的预处理主要指噪声点。由于在测量数据过程中,不可避免的会产生噪声点。准确高效的剔除,是数据处理中一个很重要的问题。系统采用对数据进行划分微小区域,相对于某确定点,找到其特定邻域。然后利用概率论和数理统计的正态分布进行查找对应的异常点。再用降值的办法使其落在概率为99.74%范围内(即3σ内),可以直接去掉这些数据点。
其次是对点云数据进行IGES数据格式的转换,使之成为三维软件可以识别的通用数据格式。转换过程中必须严格遵循IGES格式对应的含义,才能准确地将数据文件写成IGES格式。在输入CAD系统时,自动将测量数据分层设置,以不同的颜色显示,为几何模型重建提供了方便。
由于扫描的点云文件数量大,计算处理方面费时且占计算机资源。因此如何将这些数据减少或者优化是很重要的问题。论文提出了数据精简的算法,通过对数据点云曲率变化的幅度大小来确定删除数据的多少,即在曲率变化很小的区域要删去大量的数据点,而在曲率变化较大的区域则不进行删除。这样使得数据就会得到合理处理,生成的图形疏密也很直观。在后续的处理工作中会缩短时间,节省空间。
由于点云数据只给出了曲面的型值点,无法知道曲面上的其他值。插值算法可以近似地知道由这些点云所组成的曲面上每一个点的坐标值,为后续曲面的生成提供了依据,也可以为那些曲率变化大的棱角进行补充型值点。
对点云数据用OpenGL进行显示,遵循图形学,还有成像原理。进而对图形进行各种操作旋转,平移,以及比例缩放等。通过坐标变换,数据统一(线性的),使两个有重叠部分的图形组成一个完整的图形。与此同时,还可以将重叠的部分识别出来。