摘 要:提出利用Internet、GIS和三维计算机图形学等技术构建基于B/S的房地产项目三维可视化管理系统的思想,重点介绍系统设计和系统实现的关键技术。该系统采用Visual Studio来实现各功能模块,以直观的形式动态显示工程进展状态。
关键词:可视化; B/S; Direct3D; 房地产建设; 管理信息系统
引言
房地产是国民经济发展中一个基本的生产要素,为国民经济的发展提供重要的物质条件。我国房地产业的发展迅猛,势必需要现代化的房地产建设管理与之相适应。房地产项目管理不同于一般的管理工作,它具有时空特性,即它所管理的房地产是不仅具有地理空间意义的空间实体,而且这些空间实体是随着建设的推进而动态变化的。因此,房地产项目管理信息系统不同于一般的管理信息系统,在更多的意义上它是一种空间信息系统,在建立过程中必须应用具有管理空间数据的地理信息系统(GIS)的有关理论和方法。
可视化(Visualization)是指在计算机动态、交互的图形技术与地图学方法相结合的基础上,为适应视觉感受与思维而进行的空间数据处理、分析及表示的过程。它使用复杂的计算技术,把各种数据、符号及其它信息转变成一种可视的图像,是处理数字信息的一种形象化的方法,最终目的是使思考过程和解决问题过程简单化和形象化。当前国内房地产项目管理系统多用管理信息系统,而可视化应用较少,难以完成房地产数据应用的提升。管理人员对各楼盘项目建设各种时空信息的获取主要依靠查阅各种数据和报表,存在着查阅困难和查询结果不直观等问题,这在一定程度上影响了管理人员对项目的及时监控和管理,甚至影响高层的分析和决策。
B/S(Browser/Server)模式即浏览器/服务器模式,是当前进行 Web 应用开发的主流。在B/S模式中,Web应用开发系统可分为表示层、业务逻辑层和数据访问层。表示层负责显示处理逻辑,业务逻辑层负责事务处理逻辑,数据访问层负责数据处理逻辑。B/S 模式极大的简化了客户机的工作,客户机上只需安装配置好浏览器即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
本文提出综合利用Internet、GIS和三维计算机图形学等技术构建基于B/S的房地产项目三维可视化管理系统,其系统结构如图1所示。服务器负责空间数据的提取、存储、处理和发布等任务,客户端负责场景自动生成、渲染和交互浏览等功能,从而有效地平衡服务器和客户机之间的处理负荷,实现了计算分布的目标。客户端以Web浏览器插件的形式提供三维可视化,使得用户可以通过Web浏览器访问系统,方便用户的使用。系统以直观的形式动态显示工程进展状态,方便各级管理人员查询和浏览,以提升管理水平和效率。
图1系统结构图
1.系统设计
1.1 系统目标
建立房地产项目信息采集及信息发布系统,实现网络环境下应用。
提供一个能“宏观、直观、及时”反映各项目工程建设进度的可视化环境。
1.2 系统功能设计
根据系统需求分析,系统主要是有项目信息管理、楼盘三维展示和系统管理这三个子系统。
项目信息管理子系统主要是提供对项目基础信息(主要是楼盘设计规划、户型、进度计划和工程管理人员等信息)、工程建设进度信息、工程成本信息和工程质量信息等信息的编辑、查询、汇总与统计、导入导出等功能。
楼盘三维展示子系统提供房地产项目场景数据组织与管理、客户端场景生成、三维渲染和交互浏览等功能。
系统管理子系统主要包括用户管理、角色管理、数据维护、系统日志等。
2.系统实现的关键技术
2.1 基于ATL的ActiveX插件技术
为实现基于Web的房地产项目的远程三维展示,我们开发了一个能同时实现远程数据传输、场景生成、三维渲染和交互浏览等多任务的客户端Web浏览器插件。
ActiveX是Microsoft提出的一组COM(Component Object Model,组件对象模型)。ActiveX控件可作为Internet控件嵌入到WEB页面中。利用脚本描述语言可以在控件之间以及客户与服务器之间通过设置属性、调用方法和激活事件进行通信。ATL(Active Template Library)是一套C++模板库,它旨在简化创建有效、灵活、轻量的控件的过程。在ATL产生以前,开发COM组件的方法主要有两种:使用COM SDK直接开发和通过MFC提供的COM支持实现。前者开发人员不得不把许多精力投入到与应用需求本身无关的技术细节中,开发难度和工作量都很大;后者虽然在使用COM SDK基础上提高了自动化程度,缩短了开发时间,但是开发出来控件体积大,且必须依赖于MFC运行库。采用ATL技术来开发“瘦”ActiveX控件,不仅可以在COM SDK基础上提高了开发效率,而且开发出来控件体积小,非常利于网络上传输和使用。
利用Visual Studio使用ATL技术开发ActiveX控件的主要工作是先创建ATL项目,然后在项目中添加控件,并在控件上添加属性和事件,最后将控件放到 Web 页上。客户端用Internet Explorer浏览此页面时,可以下载并解包该文件,从而极大方便了用户的使用。
2.2 基于Direct3D的三维渲染技术
Direct3D是一种低层图形渲染API,用它可以进行三维场景渲染绘制。基于Direct3D的三维渲染的流程如图2所示。
图2 Direct3D渲染流程图
2.3 第一人称视角变换技术
为了向用户提供交互浏览功能,系统采用第一人称视角变换技术。在Direct3D中第一人称视角变换主要是观察变换矩阵(View Transformation Matrix)的变换,其实质就是不断变动眼睛的位置(Eye Point)和眼睛所看到的点的位置(Look-at Point)的坐标。第一人称视角变换需要解决视点的上下移动、前后移动、仰视与俯视、绕位置点旋转、绕镜头旋转和绕场景XYZ轴旋转等问题。下面以绕场景XYZ轴旋转为例,给出其在Direct3D中实现的核心代码。
//绕XYZ轴旋转
void CCamera::RotateCamera(float AngleX, float AngleY, float AngleZ)
{
//绕X轴旋转代码,绕Y、Z轴旋转的同理
if (AngleX)
{
m_vViewAt.z = (float)(m_vPosition.z + sin(AngleX)*m_vViewVector.y + cos(AngleX)*m_vViewVector.z);
m_vViewAt.y = (float)(m_vPosition.y + cos(AngleX)*m_vViewVector.y – sin(AngleX)*m_vViewVector.z);
}
}
3.系统实施
本系统以IIS作为Web服务器,以Direct3D作为三维渲染平台,数据库服务器采用
SQL Server,用Visual Studio作为开发用具。图3是本系统的一个界面。
图3 系统界面
4.结论
本系统已经投入使用一年多,实践证明用三维可视化技术来对房地产项目进行动态、有效管理,极大地方便各级管理人员查询和浏览各种项目建设信息,能提高房地产建设管理水平和效率。房地产项目管理信息化建设是一项庞大的系统工程,房地产项目基础数据的采集与获取、对各种项目建设状态数据进行有效管理和维护处理和三维计算机图形学是必要基础,海量数据空间容量与数据处理速度的矛盾是瓶颈,为用户提供易于操作、功能强大、交互性好的人机接口是关键。基于B/S模式的房地产项目三维可视化管理信息系统的开发应用仍在探索之中,有待进一步完善和开发研究。
参考文献:
.河南:河南大学.2009