平面矢量图形三维生成算法应用

更新时间:2024-02-05 作者:用户投稿原创标记本站原创 点赞:3898 浏览:10715

摘 要 :在研究平面矢量图形数据的结构后,提出了一种三维生成算法.把它应用于某房地管理系统中,提高了系统的可视化操作性,为高效准确的房产和国土管理提供了可靠保障.

关 键 词 :扫描线法;三维生成;Z轴拉伸

中图分类号:TP312文献标识码:A文章编号:16727800(2012)009004602

0引 言

在较早期的设计和测量中,其成果一般都是采用平面矢量图形数据格式保存.而现代的应用中不再满足于二维图形,因而需要把前期的平面矢量图形改造成三维的图形.

1DWG格式二维图形数据结构分析

因为AutoCAD是二维矢量化绘画中最早使用,也是最好使用的绘图软件,因而其DWG格式的平面图形积累到现在已非常多.其本质就是存储在AutoCAD数据库中的数据,称为数据库对象(DBObject).它是一幅AutoCAD图形的基本组成部分,包括可见几何实体对象和不可见的非几何对象等,一组符号表和有名对象字典是AutoCAD数据库的关键组成部分.由于它们又包含了其它对象,因而称为容器对象(Container Object),容器对象的作用是组织和管理数据库对象.

AutoCAD数据库主要包括9个符号表和对象字典.9种符号表分别是:①块表(BlockTabLe);②尺寸样式表(DimStyleTable);③层表(LayerTable);④线型表(LiypeTable);⑤应用程序注册表(RegAppTable);⑥文字样式表(TextStyleTable);⑦用户坐标系表(UCSTable);⑧视口表(ViewportTable);⑨视窗表(ViewTable).

对象字典是存储一般对象的容器,可用来存储任何数据库对象和子类,主要包括组(GROUP)和多线(MLINE)两个数据库字典.用户可以创建一个新的对象,并存储于对象字典中.

2二维矢量图三维生成算法

对于DWG格式二维图形,首先采用扫描线对其进行预处理,使其成为单独的图元,并检测其区域联通性,判别其是否为独栋建筑.如果是,就赋予该建筑物的层数和层高,屋顶类型、屋外墙面特征等信息;如果不是,就判别其为平面,为其设置平面域显示颜色,如绿色的草地.当系统读取处理后的二维图形数据时,同时也读取其预处理后的属性,采用Z轴拉伸算法使其简单变成三维立体,然后根据屋顶形状进行叠加,根据屋外墙面特征进行贴图,最后根据光线消隐算法以及算法生成具有真实感的三维图形.

3三维生成算法在某房地管理系统中的实现

某市国土与房地产管理局的管理系统中,用户在日常的管理中需要各种图形提供直观的支持,因而需要对二维图形数据进行可视化.其二维图形数据一般是由国土局测绘队自己测量后用AutoCAD绘制的矢量图形数据,同时也来源于房地产商申报房地项目提交的设计规划图纸.经过分析和研究,采用上面论述的各种算法,基本实现了图形数据的三维可视化.其图文一体化操作界面如图1所示.

在该系统中对二维数据进行Z轴高度拉伸主要采用的是ArcGIS的3D Analyst高级扩展模块,利用它的ArcScene和 ArcGlobe两个专门的三维视图工具,能够有效地管理3D GIS数据、进行3D分析、编辑3D要素、创建3D图层以及把二维数据生成3D要素.

下面就是该系统实现从二维图形通过Z轴高度值进行三维拉伸形成3D图的部分代码:

4结语

随着计算机技术的高速发展,用户对图形的要求不再满足于二维.三维图形具有真实可视性,对二维图形的三维生成的研究具有重要的现实意义.本文在研究了平面矢量图形数据的结构后,提出了一种三维生成算法,并把它应用于某房地管理系统中,提高了系统的可视化操作性,为高效准确的房产和国土管理提供了可靠保障.