论文部分内容阅读
【摘要】虚拟现实技术(VR)是一项基于计算机技术,将计算机等设备构建出一个三维虚拟世界,实现人与虚拟世界的交互,将人与虚拟世界有结合、融为一体的技术。本文简单介绍了利用Java 3D开发的虚拟现实技术,并展示了实现该技术场景创建、动画设计和交互设计技术的部分关键代码。该设计在开发三维视觉,实现用户网络交互方面具有重大功能,并且在远程电力监测系统中有广泛应用,在类似的监控系统开发中也有该技术的参与。本文基于笔者多年研究实践,旨在为相关领域及技术人员提供理论指导。
【关键词】电力监控系统 Java 3D 虚拟网络
监控领域中常常会运用到计算机技术,因为它是唯一可以实时工作状态监控、自动记录发生的事件以及准确执行用户指令的一种现代化技术,这些优点使其在监控领域中占有重要地位。电力设施是人类生活中必不可少的设施,利用文字和图表方式展示监控数据,是传统计算机监控界面的主要方式,但其无法使用户体验真实的现场感受。具有强烈的现实性、直观性等是虚拟现实技术(VRML)主要特点,Java 3D技术不仅对虚拟现实技术进行技术支持,在实现与JAVA的程序设计结合完成数据通信等功能方面也有重要作用。基于此,要想实现呈现和控制现场环境的全景,使人机交互效果达到最佳,可以采用VRML、JAVA 3D和分布式远程电力监控系统结合的方法,研制一种具有全新的监控环境的电力监测系统。
一、电力监控系统虚拟环境的构建
图1展示的是电力监控系统的总体结构,虚拟监测环境具有良好的人机交互界面。以下结合该系统在远程监控中心的应用,对Java 3D技术开发虚拟监测环境做出简单介绍。
(一)Java 3D虚拟场景
Java 3D的场景结构图是一个不对称的树,如图2所示的就是其场景结构图。树根是Virtual Universe,每个Virtual Universe只存在一个虚拟场景中,虽然每个Virtual Universe上可以有多个Locale Object节点,但只有一个处于显示状态。在Locale节点下可以存在有多个Branch Group节点, Branch Group中可以放置几何体(Geometry)、几何体外观(Appearance)等节点,Transform Group节点可以用来设置几何体在虚拟场景中的位置。控制复杂几何体的运动可以用Transform Group节点来嵌套。通过对View Platform的设置来显示在三维场景中所设置的以上信息。在虚拟场景中,不仅可以对上述的基本信息进行设置,还可以通过设置灯(lights)、背景图片、声音(sounds)等信息为场景增添视觉美感。
图1 电力监测系统结构图
(二)电力监控虚拟场景的创建
电力监控系统的虚拟场景由多种电力设备模型组成,其中,简单的几何模型可直接调用Java3D图形库,复杂的设备模型则采用可视化建模工具实现,缩短开发周期。
Java语言优点颇多,Java 3D技术是对其进行的有效继承,对多种格式的三维模型文件支持实时加载,通过提供高效的三维构建方法和面向对象来构建三维系统的一种设计方式。电力现场的设备形状不规则各异,复杂多样,应用Java3D直接构建很不方便。因此,为导出*.DS格式的三维模型文件,可以在3DS Max软件中创建电力设备的三维模型。令文件通过Java 3D加载器Loader3DS,加载存储到虚拟场景中。Scene对象是作为一种载人图形的容器,采用Transform Group对象来装载导人图形的三维模型,极大的方便了对虚拟设备的运动控制。三维模型文件加载过程如下:
Loader 3DS downing = new Loader3DS();
//将三维模型加载到场景中
Scene scene = downing.load(“Ul.3DS”);
System.out.Println(”seene=” + scene);
If (scene ! = null) {
BranchGroup objRoot = new BranchGroup ();
BranchGroup bg =scene.getSceneGroup();
TransformGroup objTrans = new TransformGroup();
objTrans.setCapability TransformGroup.ALLOW_TRANSFORM_WRITE);
objTransc.addChild(bg);
objRoot.addChild(objTrans);}
图2 Java 3D 场景结构图
二、实现虚拟环境交互技术的条件
通过在用户终端实现电力站报警指示、电力站运行状态提示、电力站各设备系统参数查询和电力站设备运行状态控制等功能,确保电力系统的远程监控的实现。
由Java事件结合Java3D提供的javax.meidaj3dBehavior类的子类的处理来保障这些交互事件的实现。运用Java3D提供的鼠标交互的工具类comsunj3dutilbehaviorsMouse Behavior 可以确保其在浏览虚拟电力场景中的实现。对虚拟设备的旋转、缩放、平移动作可以通过对鼠标左、中、右键的操作来实现。通过在类中添加监听器,以监听事件源,扩展Behavior类来完成对较复杂的交互事件的处理。
三、总结
本文对应用VRMAL、Java3D技术创建虚拟三维场景下的远程电力监控系统做出了基本的详尽描述,并展示了实现三维虚拟电力监控场景和交互行为的部分代码。从上文可看出,电力监控交互式过程的虚拟经由JAVA通信模块和数据操作来保障实现,该设计的应用价值很大,目前正被广泛的开发利用,其他行业可酌情参考。
参考文献:
[1]文静华,李祥.基于Java3D的工业机器人建模与远程控制[J].计算机系统运用,2004(10):70一73•
[2]娄明,宋靖雁,张毅.基于Java3D技术的虚拟车辆仿真系统[J].计算机工程与应用,2004,7:198一200.
[3]孙毅军,余蕾斌,邱长伍等.基于Java3D技术的仿人型机器人三维仿真[J].上海交通大学学报,2007,41(8):1288一1290.
【关键词】电力监控系统 Java 3D 虚拟网络
监控领域中常常会运用到计算机技术,因为它是唯一可以实时工作状态监控、自动记录发生的事件以及准确执行用户指令的一种现代化技术,这些优点使其在监控领域中占有重要地位。电力设施是人类生活中必不可少的设施,利用文字和图表方式展示监控数据,是传统计算机监控界面的主要方式,但其无法使用户体验真实的现场感受。具有强烈的现实性、直观性等是虚拟现实技术(VRML)主要特点,Java 3D技术不仅对虚拟现实技术进行技术支持,在实现与JAVA的程序设计结合完成数据通信等功能方面也有重要作用。基于此,要想实现呈现和控制现场环境的全景,使人机交互效果达到最佳,可以采用VRML、JAVA 3D和分布式远程电力监控系统结合的方法,研制一种具有全新的监控环境的电力监测系统。
一、电力监控系统虚拟环境的构建
图1展示的是电力监控系统的总体结构,虚拟监测环境具有良好的人机交互界面。以下结合该系统在远程监控中心的应用,对Java 3D技术开发虚拟监测环境做出简单介绍。
(一)Java 3D虚拟场景
Java 3D的场景结构图是一个不对称的树,如图2所示的就是其场景结构图。树根是Virtual Universe,每个Virtual Universe只存在一个虚拟场景中,虽然每个Virtual Universe上可以有多个Locale Object节点,但只有一个处于显示状态。在Locale节点下可以存在有多个Branch Group节点, Branch Group中可以放置几何体(Geometry)、几何体外观(Appearance)等节点,Transform Group节点可以用来设置几何体在虚拟场景中的位置。控制复杂几何体的运动可以用Transform Group节点来嵌套。通过对View Platform的设置来显示在三维场景中所设置的以上信息。在虚拟场景中,不仅可以对上述的基本信息进行设置,还可以通过设置灯(lights)、背景图片、声音(sounds)等信息为场景增添视觉美感。
图1 电力监测系统结构图
(二)电力监控虚拟场景的创建
电力监控系统的虚拟场景由多种电力设备模型组成,其中,简单的几何模型可直接调用Java3D图形库,复杂的设备模型则采用可视化建模工具实现,缩短开发周期。
Java语言优点颇多,Java 3D技术是对其进行的有效继承,对多种格式的三维模型文件支持实时加载,通过提供高效的三维构建方法和面向对象来构建三维系统的一种设计方式。电力现场的设备形状不规则各异,复杂多样,应用Java3D直接构建很不方便。因此,为导出*.DS格式的三维模型文件,可以在3DS Max软件中创建电力设备的三维模型。令文件通过Java 3D加载器Loader3DS,加载存储到虚拟场景中。Scene对象是作为一种载人图形的容器,采用Transform Group对象来装载导人图形的三维模型,极大的方便了对虚拟设备的运动控制。三维模型文件加载过程如下:
Loader 3DS downing = new Loader3DS();
//将三维模型加载到场景中
Scene scene = downing.load(“Ul.3DS”);
System.out.Println(”seene=” + scene);
If (scene ! = null) {
BranchGroup objRoot = new BranchGroup ();
BranchGroup bg =scene.getSceneGroup();
TransformGroup objTrans = new TransformGroup();
objTrans.setCapability TransformGroup.ALLOW_TRANSFORM_WRITE);
objTransc.addChild(bg);
objRoot.addChild(objTrans);}
图2 Java 3D 场景结构图
二、实现虚拟环境交互技术的条件
通过在用户终端实现电力站报警指示、电力站运行状态提示、电力站各设备系统参数查询和电力站设备运行状态控制等功能,确保电力系统的远程监控的实现。
由Java事件结合Java3D提供的javax.meidaj3dBehavior类的子类的处理来保障这些交互事件的实现。运用Java3D提供的鼠标交互的工具类comsunj3dutilbehaviorsMouse Behavior 可以确保其在浏览虚拟电力场景中的实现。对虚拟设备的旋转、缩放、平移动作可以通过对鼠标左、中、右键的操作来实现。通过在类中添加监听器,以监听事件源,扩展Behavior类来完成对较复杂的交互事件的处理。
三、总结
本文对应用VRMAL、Java3D技术创建虚拟三维场景下的远程电力监控系统做出了基本的详尽描述,并展示了实现三维虚拟电力监控场景和交互行为的部分代码。从上文可看出,电力监控交互式过程的虚拟经由JAVA通信模块和数据操作来保障实现,该设计的应用价值很大,目前正被广泛的开发利用,其他行业可酌情参考。
参考文献:
[1]文静华,李祥.基于Java3D的工业机器人建模与远程控制[J].计算机系统运用,2004(10):70一73•
[2]娄明,宋靖雁,张毅.基于Java3D技术的虚拟车辆仿真系统[J].计算机工程与应用,2004,7:198一200.
[3]孙毅军,余蕾斌,邱长伍等.基于Java3D技术的仿人型机器人三维仿真[J].上海交通大学学报,2007,41(8):1288一1290.