基于WebGL的建筑点云模型的渲染系统设计与实现
发布时间:2020-08-28 05:10
【摘要】:随着三维激光扫描仪的逐渐成熟,建筑点云在建筑的逆向工程中走向了实际应用的场景,特别是历史建筑。点云数据完整地记录精确的建筑结构信息,而彩色点云数据包含了建筑的细节和纹理。但现有的专业点云软件主要是基于客户端,不仅硬件要求高和价格昂贵,而且缺乏由点到面的建筑展示。点云是建筑表面采样点的集合,所以简单的点集展示无法渲染出建筑表面。因此,实现大规模点云的Web端使用和由点到面的建筑展示具有重要的应用价值和研究价值。本文主要从点云模型的场景管理和点云到面的渲染算法的研究出发,分析大规模建筑点云的Web端使用和建筑模型展示的实现。主要研究工作包括:分析建筑点云的特征和场景管理方式,研究国内外的点云渲染算法和网格模型构建算法;为了解决大规模点云的内存负载和渲染效率问题,提出基于八叉树的层次细节算法(Level of details,LOD),其中在保证展示效果下,采用投影面积和距离结合的LOD策略,可以减少加载被遮挡的节点的数目;运用WebGL渲染管线和空间变换的相关知识,改进了EWA Splatting框架,实现了基于面片的渲染算法;为了展示部分建筑的面模型,设计了建筑网格模型的构建算法,其流程包括法线计算、提取几何特征、构建网格模型和优化网格模型。在此基础上,设计和实现基于WebGL的建筑点云模型渲染系统,用来实现大规模建筑点云的Web端使用和展示建筑模型。本系统适配了多个平台,并在多个测试数据集上与同类型软件进行内存负载和渲染帧率的对比和分析。实验结果表明渲染系统基于点云数据为建筑工程提供便捷的工具和立体化展示。
【学位授予单位】:华南理工大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TU204
【图文】:
建筑点云模型特征筑点云是通过三维激光仪器扫描建筑实体,采集建筑表面生成的,详细记录实际状况。为了建筑的测绘需求和点云到面的渲染,本文使用的建筑点云不同点云数据,具有以下特征:. 精度高和数据量大。为了建筑的测绘需求和展示,经过规划基站、点云扫描云拼接和匹配等过程对建筑进行高分辨率、全方位的扫描。在完整地保存建结构信息的同时,加大点云处理的难度。例如,大量点云数据无法直接在 端加载展示,需要解决网络传输、内存负载和渲染效率等问题。. 空间密度高。如图 2-1 所示,不同于常见的单层三维表面点云,本文经过列采集过程生成复杂的多层建筑点云模型,用于辅助建筑师完成对建筑的测作。
华南理工大学硕士学位论文2.2.2空间变换如图 2-3 所示,模型的顶点需要经过一系列的空间变换,使得顶点坐标变换到屏幕。WebGL 顶点缓存区的顶点坐标是模型空间(Model Space)下的表示。经过仿射变换将模型移动到世界空间(World Space),构成用于展示的整个场景。而摄像头位于世界空间,以摄像头为坐标原点构建展示场景的另一个角度,生成视空间下的表示。标准化设备坐标(Normalized Device Coordinate, NDC)是一个标准化空间,每个顶点的 x,y,z 坐标限定在[-1, 1]以内。其以 z 轴作为投影方向,z=-1 为近平面而 z=1 为远平面。
每个节点进行检查,判断其是否满足叶子节点的预期要求。如果不满足则递归分割,到达到要求或超过四叉树的深度限制。在点云模型的场景管理上,四叉树结构被广泛用。例如,Bostjan 在点云渲染算法中基于激光雷达行式扫描的特点改进了四叉树结,优化渲染效率。而且在存储方式上,仅记录起始点在文件中偏移位置和该叶子节点定点数,节省存储空间,但这种算法仅限于有序的点云数据[32]。四叉树是在二维平面进行分割,所以更适合地形数据,并不适合于三维空间密集型的建筑点云。如图 2-4 所示,不同于四叉树,固定地对两个维度上的数据进行平均分割,KD 树次挑选某一个维度进行分割生成两个节点,在存储方式上类似于二叉树[2]。利用 KD管理点云模型的过程:先计算点云在 XYZ 轴上每个维度的投影数据的方差。在最大差的维度上对点云进行均等二分,生成两个子节点。然后,重复之前的步骤分割点云据,直到单个节点的数据低于某个阈值或者树深度超过限定值。KD 树虽然对点云进均等分割优化存储,但是对于空间结构紧密的建筑点云模型而言,过于复杂。而且由不断改变分割维度,需要更多的空间用于结构信息的存储。
本文编号:2807149
【学位授予单位】:华南理工大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TU204
【图文】:
建筑点云模型特征筑点云是通过三维激光仪器扫描建筑实体,采集建筑表面生成的,详细记录实际状况。为了建筑的测绘需求和点云到面的渲染,本文使用的建筑点云不同点云数据,具有以下特征:. 精度高和数据量大。为了建筑的测绘需求和展示,经过规划基站、点云扫描云拼接和匹配等过程对建筑进行高分辨率、全方位的扫描。在完整地保存建结构信息的同时,加大点云处理的难度。例如,大量点云数据无法直接在 端加载展示,需要解决网络传输、内存负载和渲染效率等问题。. 空间密度高。如图 2-1 所示,不同于常见的单层三维表面点云,本文经过列采集过程生成复杂的多层建筑点云模型,用于辅助建筑师完成对建筑的测作。
华南理工大学硕士学位论文2.2.2空间变换如图 2-3 所示,模型的顶点需要经过一系列的空间变换,使得顶点坐标变换到屏幕。WebGL 顶点缓存区的顶点坐标是模型空间(Model Space)下的表示。经过仿射变换将模型移动到世界空间(World Space),构成用于展示的整个场景。而摄像头位于世界空间,以摄像头为坐标原点构建展示场景的另一个角度,生成视空间下的表示。标准化设备坐标(Normalized Device Coordinate, NDC)是一个标准化空间,每个顶点的 x,y,z 坐标限定在[-1, 1]以内。其以 z 轴作为投影方向,z=-1 为近平面而 z=1 为远平面。
每个节点进行检查,判断其是否满足叶子节点的预期要求。如果不满足则递归分割,到达到要求或超过四叉树的深度限制。在点云模型的场景管理上,四叉树结构被广泛用。例如,Bostjan 在点云渲染算法中基于激光雷达行式扫描的特点改进了四叉树结,优化渲染效率。而且在存储方式上,仅记录起始点在文件中偏移位置和该叶子节点定点数,节省存储空间,但这种算法仅限于有序的点云数据[32]。四叉树是在二维平面进行分割,所以更适合地形数据,并不适合于三维空间密集型的建筑点云。如图 2-4 所示,不同于四叉树,固定地对两个维度上的数据进行平均分割,KD 树次挑选某一个维度进行分割生成两个节点,在存储方式上类似于二叉树[2]。利用 KD管理点云模型的过程:先计算点云在 XYZ 轴上每个维度的投影数据的方差。在最大差的维度上对点云进行均等二分,生成两个子节点。然后,重复之前的步骤分割点云据,直到单个节点的数据低于某个阈值或者树深度超过限定值。KD 树虽然对点云进均等分割优化存储,但是对于空间结构紧密的建筑点云模型而言,过于复杂。而且由不断改变分割维度,需要更多的空间用于结构信息的存储。
【参考文献】
相关期刊论文 前3条
1 赵江洪;王继伟;王晏民;郭明;;一种新的散乱点云数据多级空间索引[J];地球信息科学学报;2015年12期
2 龚俊;柯胜男;朱庆;钟若飞;;一种八叉树和三维R树集成的激光点云数据管理方法[J];测绘学报;2012年04期
3 支晓栋;林宗坚;苏国中;钟良;;基于改进四叉树的LiDAR点云数据组织研究[J];计算机工程与应用;2010年09期
相关博士学位论文 前1条
1 梁玉斌;面向建筑测绘的地面激光扫描模式识别方法研究[D];武汉大学;2013年
本文编号:2807149
本文链接:https://www.wllwen.com/guanlilunwen/chengjian/2807149.html