admin 管理员组

文章数量: 1086019


2024年3月11日发(作者:targetframework)

维普资讯

2008年1月 

西安邮电学院学报 Jan.2008 

Vlo1.13 N0

1 

第13卷第1期 

JOURNALOFXI’ANUNIVERSITYOFPOSTANDTELECOMMUNICATIONS 

基于Java3D和VRML的 

校园管线系统中导航功能的实现 

周元哲 

(西安邮电学院计算机系,陕西西安710121) 

摘要:校园管线系统是校园中的重要基础设施,是建立在地理信息系统平台上的应用系统。本文首先对Java3D和 

VRML技术做了简要的介绍,然后就对基于Java3D和VRML的校园管线系统中导航功能实现进行了详细的介绍 

和分析。 

关键词:VRML; ̄N管线系统;地理信息系统平台;节点;Java3D 

中图分类号:TP319 文献标识码:A 文章编号:1007—3264(2008)01—0112—03 

的定义和组织起来的3D多媒体对象集合;从语义 

1校园管线系统 

校园管线系统是校园中的重要基础设施,用于 

角度看,VRML文件描述的是基于时间的交互式 

3D空间称为虚拟境界,简称境界,其包含的图形对 

象和听觉对象可通过多种机制动态修改。境界中的 

对象及其属性用节点描述,VRML提供了基本构造 

节点的功能,对不规则的形体可采用万能造型节点。 

VRML中的基本造型节点包括Box,Sphere,cone 

输送能量、传输信息、给水排水等多种领域,是保证 

校园中教学、科研、生产和生活顺利进行的基本保 

障。它是建立在地理信息系统平台(Geographic In— 

formation System,缩写为GIS)上的应用系统,不仅 

等。万能节点指的是IndexedFaceSet节点,它代表 

具有地理信息系统的基本功能,同时还应具有针对 

管线的综合管理和分析决策功能。总而言之,管线 

信息系统是以管线的空间信息和属性信息为核心, 

利用计算机地理信息系统技术、计算机图形学技术、 

数据库管理技术和信息可视化技术等多学科对管线 

的相关信息进行采集、管理、查询、分析、转换、显示、 

个由一组顶点构建的一系列平面多边形形成的 

3D形体。节点按照一定规则构成场景图。场景图 

中的一类节点从视觉和听觉角度表现对象,按照层 

次体系组织起来,反映境界的空间结构。另一类节 

点参与事件产生路由机制,形成路由图,确定境界随 

时间的推移如何动态变化。简单的说,VRML的全 

部功能可以分为两大部分:创建三维实体以及对对 

复合与分解,依据用户的需求对所得信息进行分析, 

可为有关部门和领导进行决策的科学依据的管理系 

统。 

象的编程和实现交互性。两部份密不可分,任何一 

个创建的实体都可以发送和接受消息,通过 

ROUTE语句,又可将消息发送给其它物体,并通过 

Script节点与外部程序实现真正的交互。 

Java3D API是用于实现三维图形显示和基于 

2 VRML和Java3D简介 

VRML是web3D大力倡导的三维网页的国际 

标准。像HTML一样,VRML是可以用浏览器解 

释的描述性语言。它将3D图形和多媒体集成在一 

起的文件格式。从语法角度看,VRML文件是显示 

收稿日期:2007—04—04 

web的3D应用程序的Java编程接口,它具有了从 

网络设备编程到三维集合图形编程的各方面的功 

能。Java3D API采用场景图结构,易于实时处理及 

特殊三维效果的显示。一般来说,构建一个三维应 

作者简介:周元哲(1974一),男,陕西西安人,西安邮电学院计算机系讲师。 

维普资讯

第1期 周元哲:基于Java3D和VRML的校园管线系统中导航功能的实现 ・113. 

用环境,就是定义所需的形体,将形体的外观和几何 

信息在空间有机的组合。 

浏览页面是由嵌入了JavaScript函数的HTML 

语言完成。JavaScript得到用户输入管线的起点和 

3基于VRML和Java3D的管线系统 

终点信息,将其传送给VRML文件,从而实现动画 

式的导航服务。 

导航功能的设计与实现 

3.1 J2EE作为系统体系结构的介绍 

由于J2EE具有高度可扩展性和健壮性。所 

以,我们采用J2EE框架体系结构实现校园管线系 

统,其中利用Java3D与VRML技术实现系统中导 

航功能。Javascript完成html页面部分的构造,接 

受来自于用户的输入信息,并负责将其传递给 

VRML文件,导航图的功能由VRML内嵌的JavaS— 

cipt函数来实现。如图1所示。 

1IE浏览器F l

采特 

Java seript I 

Il 

t起终点信息  

.1VRML文件 

图l系统体系结构图 

用户接口层是用户在与系统的交互界面层。用 

户界面层由实现屏幕显示和报表类等一些与用户直 

接交互的类组成。用户界面类可以发送消息给 

web服务器层,WEB服务器层用来处理用户的请 

求,Web服务器包含Javascript和VRML文件, 

VRML文件可以通过在HTML文件中添加Ac— 

tiveX的方法来加载。浏览者选定的起点和终点信 

息转化为相应的参数值,传递给VRML文件。 

VRML文件通过节点Script的一个域来接受这些 

参数值,并将接收到的参数作为路径的索引,传递给 

相应的Java的类文件。Java类文件作为业务逻辑 

层把相应的请求进行处理,根据该路径的索引对数 

据库进行检索,并用检索到的数据形成新的路径,传 

递给VRML场景,VRML场景根据得到的新路径 

来更新节点的域值,从而用户可以通过浏览器观察 

到相应的动画演示。 

3.2导航功能的分析与实现 

从上面的介绍中,我们大致了解了J2EE框架 

如何实现管线系统的运行原理。下面,我们详细的 

介绍如何利用VRML技术实现管线导航功能。 

第一步:VRML对于传来的路径信息的处理流 

程。 

<embed narfle Scene 

width=‘‘800’’ 

hei ght=“600’’ 

src=“

..

/3dnwu.wrl”> 

VRML文件中的Script节点中要定义相应的 

变量接受起点值和终点值 

DEFS1SCript{ 

ifeldSFInt32 i 

ifeleSFInt32 j 

} 

function send(){ 

<!一取得当前场景的引擎,利用它读取场景 

中的节点,Scene是控件的id值一一> 

M—e=Scend.Engine; 

<!一S1是VRML文件的中Script节点的名 

称一一> 

e.Nodes(“S1”).Fiele(“i”)=m 

//传送起点值(m)和终点值(n) 

e,Nodes(“S1”).Fields(“j”):n 

} 

VRML文件接受了来自于JavaScript的传值 

后,将i和j的值传送给Java类文件作为检索参数 

在数据库中取得相应值返回路径数据。 

第二步:Java对于传来的路径信息的处理流程。 

在Java中要对VRML场景进行操作就必须要 

先引入VRML97的包,才能调用相应的函数。核心 

代码如下所示: 

(1)首先需要导入VRML97中的文件包 

import vrm1. ;//'N要导入的接口总包 

import vrm1.field. ;/儒要导入的字段接口 

的所有包 

import vrm1.node. ;//'N要导入的节点借口 

的所有包 

(2)传递路径信息的分类 

public class esndpath extends cSript{ 

//在数据库连接时所需的变量 

Copnnection con; 

ResultSet rs; 

Statement stmt; 

ResultSetMetaData metadata; 

维普资讯

・ 

114・ 西安邮电学院学报 2008年1月 

lnt max; 

/值vrml中需使用的变量 

SFInt32 rn,n; 

//用来存放VRML传送来的路径索引i,j 

ConstSFTime start;//启动时间触发器的标志 

MFVec3f setpath;//接受位置触发器事件 

SFTime starttime;//接受时间触发器的事件 

Float path[]=new flaot[3*6]; 

//-47放从数据库读到的路径值 

(3)Initialize函数 

setpath--(MFVec3f)getEventOut(“setpath”); 

//读取VRML中的事件 

starttime=(SFTime)getEventOut(“start”); 

m=(SFInt32)getField(“.,,);//读取路径索引 

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriv. 

er”);//连接数据库 

Connection con=DriverManager.GetConnection 

(“jdbc:odbc:pathl”); 

Stmt con.createStatement(); 

This.executeQuery();//自定义的查询函数 

(4)事件处理函数 

public void porcessEvent(Event e){ 

if(e.getName().equals(“touched”)){ 

oCnstSFTime start=(ConstSFTime)e.getValue 

(); 

Starttime.setValue(start); 

setpath.setValue(3*6,path); 

//用setvalue函数将路径值送往VRML文件, 

path为查到的路径坐标 

}}} 

VRML文件接收到路径后要传送给Positionln. 

terpolator节点允许对三维空间的一个坐标点进行 

动画关键帧的插值操作。通常坐标插值器从时间传 

感器接收set.fraction事件,经处理后,将输出值发 

送给Viewpoint节点的position域。 

ROUTE S1.start TO TI.set

startTime 

#启动时间插值器 

ROUTE S1.setpath TO POSINT.set

keyVa1. 

ue #接收JAVA传来的路径值 

ROUTE TI.fractionchanged TO PloSINT.set 

..

fraction #接收动画完成的比率 

ROUTE POSINT.value

changed TO VI.set

— 

position #将相应坐标传给视点 

通过ROUTE语句,将消息发送给管道物体,从 

而实现与外部程序真正的交互。图2为利用Ja. 

va3D和VRML实现的校园管线导航图。 

■——■一 

图2管线系统的导航功能界面 

4结束语 

校园管线系统是校园建设的一个重要的组成部 

分,我们将空间管线系统与VRML结合,实现其可 

视化,从而有利于管线数据的分析处理和管线规划 

方案的选择、评价,对于解决校园管线的实际问题很 

有帮助,在数字校园的研究工作中有一定的理论意 

义和实用前景。 

参考文献 

[1]王力等.VRML在仿真可视化系统中的应用[J].计算 

机仿真,2001(3):50—52. 

[2]张在德,谢剑斌等.VRML的三维逼真地形生成方法 

[J].计算机应用研究,1999,16(11):102—103. 

[3]周书民,汤彬,孙亚民.用VRML实现校园虚拟游览 

[J].系统仿真学报,2001,13(儿增刊):473—475. 

[4]杜湘瑜,黄柯棣,段红.一种基于VRML—java的分布 

式虚拟环境模型及其实现[J].计算机工程与应用, 

2000(1):133—134. 

[5]周元哲,周明全,耿国华.一个基于J2EE体系结构的电 

子病历子系统[J].西北大学学报(自然科学版), 

2003,33(6):559—602. 

[6]周元哲,王映辉。基于SuperMap的数字高校系统的设 

计与实现[J].西北大学学报(自然科学版),2004,34 

(5):531—534. 

[7]雷丽晖,耿国华,周明全.基于J2EE的网络地理信息 

系统的设计与实现[J].计算机应用研究,2003(7): 

155—159. 

(下转第l18页) 

维普资讯

・ 

118・ 西安邮 电 学 院学报 2008年1月 

而且可以把它作为一种异步更新的数据源加载到我 DataList控件让向页面输出XML的过程变的更加 

简单。 

参考文献 

们的个性化网页中。通过这种方式,我们可以完全 

按照自己的需求定制感兴趣的个性化网页。同时, 

这些定制的部分能自动更新,给我们提供了极大的 

方便。有兴趣的读者可以去Windows Live(http:// 

www.1ive.com)和Google个性化页面中体会。 

Thiru Thangarathinam著.肖奕,曹俊译.ASP.NET 

2.0 XML高级编程(第3版)[M].北京:清华大学出 

版社。2006. 

5结束语 

在本文中,我们介绍了Web 2.0下RSS的相关 

孟宪会,张慧妍著.SP.NET A2.0应用开发技术[M]. 

北京:人民邮电出版社,2006. 

Stewart Fraser,Steven著.毛尧飞,崔伟译.C#XML 

入门经典[M].北京:清华大学出版社,2003. 

王华杰等编著.精通C#数据库开发[M].北京:清华 

大学出版社,2004. 

TI 

[5] 

http://www.xm1.COI

知识,通过编程的手段创建了一个在线新闻聚合器 

实例模型,最后还介绍了如何使用互联网中的RSS 

服务。其实,创建RSS新闻聚合器的方法有很多, 

我们采用了Asp.Net 2.0中的RSS Tookit控件和 

[6] 

陈冠军著.征服ASP.NET2.0Ajax一一web开发技术 

详解[M].北京:人民邮电出版社,2007. 

Design and implementation of RSS Reader based on ASP.NET 2.0 

YUAN Qing—tao 

(Department of Computer Scince,Xie’an University of Post and Telecommunications,Xi’n a710121,China) 

Abstract:This paper introduces the knowledge and application of the RSS in Web2.0,and how to design and 

implement a RSS Reader under the ASP.NET2.0 development environment.In the past few years.as the de— 

mand for data sharing among heterogeneous platforms growing,use of XML was also explosively growing.Data 

exchange based XML standards has been widely applied to various fields.Realizing this kind of tendency,Mi— 

crosoft has provided the vigorous support in the entire.Net Framework to XML.For the ASP.NET developers, 

showing the changes and handling XML data ecome bmore easily.This paper will lad eUS to study XML,ASP. 

ET aNnd other related technology by designing and implementing a RSS Reader. 

Key words:Asp.Net 2.0;RSS;Web 2.0;Xml 

(上接第114页) 

implementation of navigation function 

The 

of campus pipeline based on J ava3D and VRML 

in the system 

ZHOU Yuan—zhe 

fDepartment of Computer Scince,Xi’aen University of Post and Telecommunications,Xi’an 710121,China) 

Abstact:Campus pirpeline system is all important foundational facility,and an application system that estab・ 

lished On geographical information system platform.This paper introduces Java 3D and VRML technology 

bfieflv,then intr0duces and analyzes the implementation of navigation function in the system of compus pipeline 

based on VRML and Java3D in detail. 

Key words:Virtual Reality Modeling Language;the system of campus pipeline;geographic information system; 

node;Java three——dimension 


本文标签: 管线 系统 校园