基于DXF文件三维房屋重建算法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于DXF文件三维房屋重建算法

基于DXF文件三维房屋重建算法   摘要:虚拟现实技术最重要的步骤是再现逼真的现实环境。该文研完了如何借助AutoCAD,从DXF格式的房屋平面图文件中提取关键的几何拓扑信息,并从平面图中识别“门”“窗”等结构;借助VisualC++以及OpenGL重现真实的三维房屋,实现3D房屋的构建的方法,并在具体应用中取得较好的效果。   关键词:虚拟现实 DXF OpenGL 3D重现   中图分类号:TP3 文献标识码:A 文章编号:1007-3973(2011)003-079-03      1、引言      近年来,随着虚拟现实技术的兴起,基于虚拟现实的各种仿真重现系统层出不穷。虚拟现实是利用计算机生成一种逼真的视、听、触和动等感觉的虚拟环境,并使操作者“沉浸”到环境中,其目的是提供一种崭新的人机交互环境。从本质上说,虚拟现实系统就是一种先进的计算机用户接口,它通过给用户提供诸如视、听、触等各种直观而又自然的实时感???交换手段,最大限度地方便用户的操作,从而减少用户的负担,提高整个系统的工作效率。交互性、沉浸感和构想性是虚拟现实技术的三个最突出特征。   本文使用从DXF格式的房屋平面图文件中提取有效的几何拓扑信息的方法,并借助VisualC++以及OpenGL重现真实的三维房屋。这种OpenGL与DXF文件的接口方法具有重要的理论意义和实用价值。      2、技术基础概述      DXF格式是用于AutoCAD与其它软件间进行CAD数据交换的CAD数据文件格式,是AutoCAD程序使用的基于矢量的ASCII格式。   AutoCAD,AutoCAD提供了DXF文件格式。通过DXF文件格式,可以使用高级语言开发程序读取AutoCAD图形文件,也可以创建DXF文件供AutoCAD打开。   DXF文件一般情况下是文本文件,可以使用文本编辑器(如Windows记事本、写字板)来查看、编辑其内容。   OpenGL可以用来创建二维和三维物体、布置场景并以适当的角度观看场景、在场景中引入光线、纹理映射、实现特殊效果、绘制位图和图像、制作平滑动画、提供实现交互技术的机制。在计算机3D图形处理技术中,也有类似眼睛的观察函数,如果这个观察点在OpenGL场景中的位置发生变化,那在计算机屏幕上的图像(相当大脑的映象)就发生变化。      3、算法具体实现      3.1 DXF数据读取方法   整个DXF数据读取方法的流程图如下:   有用信息集中在DXF文件的实体段,因此数据提取工作在遍历至实体段时开始。在实体段中存放着在AutoCAD中绘制的所有实体的数据。对于每个实体,都有对应的标志:直线-LINE、多边形-LWPOLYLINE、圆-CIRCLE等等。在遍历实体段时,可以利用这些标志来分不同方法提取数据。在本软件中,所需数据主要是实体颜色、实体所有端点的坐标以及一些“特征数据”(如圆的半径)。将分属于相同实体的数据提取出来并存储至特定的对象中,就完成了数据提取的工作。         3.2 信息的处理加工方法   3.2.1 墙体中线的提取   墙体中线是本程序中的核心数据。以墙体中线作为核心数据构建三维房屋的原因主要有三个   第一,以中线作为墙体的标志可减少一半的直线数量(每面墙反映在平面图上是两条线);   第二,省去了墙线“两两成对”对应关系的存储,便于对数据进行管理;   第三,这种方法便于与其他平面图获取方法接口。   房屋平面图中墙体的连接方式及厚度有很多种,给中线的提取带来了不小的困难。为了使软件有更强的适应性,作者提出以下方案:先对墙体中线进行“粗提取”,再对提取结果进行一定的修正。这样可以很好的适应大部分墙体形式。      经过粗提取之后得到的中线网络基本上是正确的,再剔除掉多余的中线,将临近端点连接起来就可获得较为贴近中线提取的理想状态(即图2所示)的结果了。   3.2.2 门窗的辨别与生成   本文中,门窗的关系可概括地描述为:“门和窗户是作为墙体的一种属性存在的,一个墙体可以有多个门窗。”关于墙体的界定则是:“两个中线交点之间无论有多少门窗,都作为一个墙体。”如下图水平墙体应为一个完整的墙体,而并非水平中线所表示的三段墙体:      由此可见墙体需要做一定的合并。这项工作是随着门窗的生成一同完成的。这种思想可以大大减少了需要长期存储的数据量,扩展了墙体的概念,使得程序运行中对于门窗的变动更加灵活的进行。   窗户多由3到4根距离相近的平行线来表示,使得其辨别相对比较易行。利用这个标志就可以判断窗户的位置、长度、种类等等。   门的辨别则相对较复杂,在本程序中,门的概念应予以扩展。即把空空的墙洞也当作是一种门,即使这个

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档