论文部分内容阅读
三维激光扫描技术为快速构建物体三维模型提供了全新的技术手段,被认为是测绘科学的一次技术革新。在使用三维激光扫描仪等设备采集目标物体的表面信息时,由于物体遮挡或者测量手段的限制,所获得的原始点云存在数据缺失的情况,从而导致孔洞的形成,进而影响重构的数字模型的质量。在使用三维激光扫描仪配套软件或者编程手段修复孔洞时,存在扩展性和迁移性差的问题,且精度也有待提高。本文在研究分析孔洞修复相关算法以及相关软件现状的基础上,设计开发了一个三维点云孔洞修复软件系统,主要工作和成果如下:(1)针对现有点云k邻域搜索算法、边界提取算法和孔洞修复算法各自所需数据结构不同,编程复杂的问题,设计了一个全局适用的数据结构进行数据组织。本文根据选择的算法组合,定义了点云数据的坐标和点两个基类,并使用这两个基类定义的k最近邻类作为基本单位,服务于孔洞修复不同阶段的数据处理,简化了编程难度,提高了多算法结合的效率,降低了内存开销。(2)针对基于特征平面边界提取算法的不足,本文通过优化最小二乘拟合平面的一般方程,简化了方程系数的求解,使得编程进行解算的过程容易实现,提高了算法效率。使用多种孔洞修复算法结合的方法进行孔洞修复,针对基于散乱点云模型的局部扩张算法,讨论并推导出相邻边的夹角在不同取值范围下的新增点公式,验证了算法的一般性;针对基于三角网格模型的空间多边形孔洞修复算法,通过对多边形的分类讨论,确定相邻两边最小夹角的取值范围,删除了原始算法多余的处理步骤,并通过几何解析重构简化了复杂的公式推导,优化了新增点的计算模型,改进了算法的处理过程,提高了算法效率。在上述孔洞修复之后,使用基于径向基函数隐式曲面对修复区域进行调整,增强了修复区域与周围区域的光滑过渡效果。(3)设计了一个单页web应用与控制台程序相结合的软件系统。该系统分为前端与后台两部分,前端采用了单页web应用的开发模式,使用WebGL进行模型绘制和三维渲染,实现了数据输入输出、模型显示、操作和用户交互的功能;后台基于面向对象编程思想使用了控制台程序,采用了MVVM作为软件架构指导开发,实现了数据输入输出和数据处理的功能。该论文有图82个,表4个,参考文献120篇