这里的视窗体裁剪采用范围盒等级裁剪算法[5]。3.3客户端应用程序设计系统中的客户端部分是与远程用户交互的接口和界面,它位于远程的用户端。三维地形浏览和操作模块作为JavaApplet直接嵌入JSP页面中,利用HTTP协议与服务器端进行通讯。根据用户请求向应用服务器发出数据请求,待服务器成功返回所需数据后,将数据解压后放入缓存,并对其进行建模。它的主要功能包括提供与远程用户交互的界面和接口、三维虚拟场景的构造和显示、场景操作和漫游、向服务器端递交请求等。3.3.1浏览与用户操作模块此模块主要包括一个三维浏览和操作窗口。用户可以通过鼠标来进行旋转操作,通过键盘来进行漫游。浏览模块中采用视点相关的LOD算法对其进行数据简化,以提高三维浏览和操作的速度。视点相关则是指根据当前视点的位置来改变空间目标的简化程度。同时由于人的视野和计算机窗口尺寸有限,视点相关可避免对全部数据在最高分辨率下的请求和可视化,即只请求适合于客户机内存操作的数据量。3.3.2数据缓存与建模模块为了适应用户的实时漫游,客户端采用了数据缓冲(cache)的机制来避免已有数据重复请求和传输。通过调整数据库服务器端影像分块的尺寸,很容易使系统响应速度加快。地形建模用
Java3d来实现,Java3DAPI是用来开发三维图形和开发基于Web页面的三维应用程序的编程接口。它的数据结构和OpenGL一样,采用的是场景图的数据结构。场景图中的节点都是Java3D类的实例,场景图的根节点是VirtualUniverse如图2所示[6]。用Dem和Dom建模的流程如下:创建Canvas3DDEM数据DOM数据创建SimpleUniverse根节点构建Geometry几何属性构建Appearance纹理属性图2Java3D地形建模流程图4实例分析图3是基于J2EE架构的利用
JSP、Servlet、Java3D和BC4J技术实现的网络三维可视化系统的客户端程序界面。在此系统中数据库服务器采用Oracle9i为数据库
管理系统,利用BLOB存储预处理后的数据块(Tile,包括DEM和DOM数据);应用服务器端采用Oracle公司的BC4J组件对库中数据进行模拟并连接后端数据库,通过JavaServlet来调度数据响应客户端;客户端是将JavaApplet嵌入到JavaServerPage,三维浏览和操作程序界面用Java和Java3D来实现。整个系统用Oracle公司的JDeveloper10g进行开发。实验表明,采用J2EE架构、BC4J、JSP、Servlet和java3d技术的纯Java解决
方案集成了多种类型数据,不仅支持海量数据的Internet集成,而且实现了基于Internet的地形三维可视化,具有良好的灵活性、可扩展性和安全性,增强了组件的重复可用性,为海量数据的
国家科技基础信息平台项目-测绘科学数据共享试点(2004DKA20230)
获取GraphicsContex3D
创建Shape3D形体节点
三维可视化显示提供了一种行之有效的方法。
图