论文部分内容阅读
随着汽车产业的快速发展,汽车公司在保证汽车设计功能、质量的前提下都在力图缩短汽车的设计周期,而三维激光扫描技术的出现大大地提高了汽车的设计效率,从而在一定程度上缩短了汽车的设计周期。三维激光扫描技术通过扫描被测物体,得到带有物体表面数据点信息的点云数据,设计者通过处理点云数据就可以在没有设计图纸的情况下得到被测物体的三维模型,并在此基础上进行优化设计。但是在处理点云数据的过程中,如果被测物体比较复杂,包含多个零部件,比如车身外表面、搭边焊接形式零部件、弯边焊接形式零部件,设计者需要手动地将点云数据进行分块,这使得点云数据的分块处理效率低且速度慢。针对实际设计过程中的这一问题,本文针对三类车身典型复杂曲面点云数据:车身外表面形式的点云数据、搭边焊接形式的点云数据、弯边焊接形式的点云数据,通过研究三类曲面特征以及分割技术,探讨了基于特征的车身典型复杂曲面点云数据的分割方法。本文通过总结国内外关于点云数据分割的算法以及相关软件,发现目前并没有针对车身典型复杂曲面的点云数据的分割算法以及处理系统。在前人研究成果的基础上,本文首先分析了两种STL文件格式点云数据的书写格式,读入点云数据,然后对点云数据进行预处理,分析了现有针对散乱点云数据的索引办法,构建STL格式点云数据的索引方法。在点云数据索引建立的基础上,考虑相邻顶点分布疏密程度对法矢计算的影响,改进现有算法,将数据点的相邻顶点的法矢量加权平均计算每个数据点的法矢量,通过将数据点的K邻域内的点拟合成局部二次曲面,计算数据点的曲率。分析了三类车身典型复杂曲面的边界特征:跳跃边界、尖锐边界和平滑边界,设定了法矢以及曲率阈值,提取了外边界点、法矢突变点和曲率突变点。最后,通过研究两种主要的点云数据的分割方法:基于边缘的数据分割方法和基于区域的数据分割方法,选取种子点,基于边界特征进行区域扩张,最终实现了三类车身典型复杂曲面点云数据的分割。本文采用MSVC++和OpenGL (Open Graphics Library)来实现相关算法的研究,开发出了MESH CUTTER系统。该系统可以进行点云数据的读取和输出,模型显示模块可以实现基本的人机交互指令如缩放、平移、旋转等,数据处理模块可以建立点云数据索引、计算法矢量以及曲率、提取特征点和分割点云数据。最终通过实例验证了算法及系统的可行性。