基于java3d的虚拟现实建模方法

基于java3d的虚拟现实建模方法

ID:24058508

大小:50.00 KB

页数:4页

时间:2018-11-12

基于java3d的虚拟现实建模方法_第1页
基于java3d的虚拟现实建模方法_第2页
基于java3d的虚拟现实建模方法_第3页
基于java3d的虚拟现实建模方法_第4页
资源描述:

《基于java3d的虚拟现实建模方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Java3D的虚拟现实建模方法1引言由于因特X和应用的迅速发展,如何在因特X环境下实现虚拟现实系统已引起广泛的研究兴趣。虚拟现实(VirtualReality,VR)是计算机模拟的三维环境,用户可以走进这个环境(用鼠标控制浏览方向)并操纵场景中的对象。其图形渲染是“实时”的,这是它与动画制作的最大区别。这种“实时性”导致了在虚拟场景中的人机“可交互性”。虚拟现实技术开辟了人类交流新的领域。L,DI-RECT3D等语言。由于OpenGL的跨平台特性,许多人利用OpenGL编写三维应用程序。不过对于一个非计算专业的人员来说,利用OpenGL编写出复杂的三维

2、应用程序是比较困难的。VRML语言在X络上得到了广泛的应用。编写VRML程序非常简单,同时可以编写三维动画片、三维游戏、计算机辅助教学,因而其应用前景非常广阔,尤其适合在我国推广应用。不过由于VRML语言功能目前还不是很强(如没有形体之间的冲突检查功能),与Java等高级语言的连接较难掌握,因而失去了一些计算机高手的宠爱。DIRECT3D是Microsoft公司推出的三维图形编程API,它主要应用于三维游戏的编程,目前相关的学习资料难以获得。由于它一般需要VC等编程工具进行编程,需要编程人员具有较高的C++等高级语言的编程功底,因而难以普及。新出现的虚拟现

3、实建模语言Java3D综合了以上建模语言的优点,它是Javal.2的一个标准扩展,是Java语言中一个用于开发三维图形的API。它从高层次为开发者提供对三维实体的创建、操纵和着色,使开发工作变得较为简单。同时,Java3D的低级API是依赖于现有的三维图形系统的,DIRECT3D,OpenGL,QUICKDRAL2.0格式、OBJ格式的三维图形文件),通过处理,间接调用DenuListenerI[但这种方法主要用于特定显示界面的设计及一些状态的变化处理方面。如果要编写更复杂的交互式三维应用程序,则需要用到Java3D的Behavior对象。Be?havio

4、r有Billboard,Lod,Interpolators等子类。编写复杂的交互式三维对象时,经常会感到计算机速度不够,可以有多种方法解决速度慢的问题。Java3D编程可通过灵活应用L0D对象来提髙计算机的运行速度。其它三维图形技术也用到了L0D技术;VRML语言就用到了L0D技术;VRML语言就有L0D节点。Java3D的L0D对象通过设定,可以使计算机根据三维场景图的需要,在程序运行时有效处理复杂形体:当复杂物体离观察点很远时,就用一个简单的形体替代;当复杂形体离观察点不远不近时,就用一个近似的形体替代;当复杂物体离观察点很近时,就显示复杂形体自身,这

5、样可以有效提髙计算机的运行速度。Billboard是Behavior的子类,利用Billboard可生成一个局部坐标系,此坐标系的+Z轴方向一直指向观察者的眼镜。这表示在三维空间移动位置及方向时,Billboard所在的局部坐标系中的形体将一直面向着我们,也即自动绕着局部坐标系的Y轴旋转。Interpolators可用于建立三维空间中形体绕着样条曲线运动的轨迹,这样,只要输人形体及多个关键点的数据,就可以控制形体绕着这几个关键点做空间的曲线运动,同时可以控制形体的比例变化及旋转。Interpola-tors在程序中的具体应用是生成一个TCBKeyFrame

6、对象。TCBKeyFrame对象的应用方法是:(1)据曲线的运动轨迹,定义相应的控制点的位置。(2)据控制点的数目,生成一个TCBKeyFrame类型的数组,设置好里面的各个参数。处理交互式问题时,利用监听器Listener和利用Be?havior方面的Utility,常常不能满足编程需要,这时可以利用定义新的Behavior对象的方法编写交互式Java3D程序。编写自定义的Behavior对象的三个步骤为:①定义一个继承Behavior的新对象,同时给出新对象的构造方法。②定义一个初始化所用的initialize!)方法。③定义一个处理交互作用的proc

7、essStimulus()方法。冲突检测与响应在物体的物理建模中是十分重要的内容,。因为虚拟物体在运动过程中,可能发生相互碰撞、接触或其它形式的相互作用。如果出现这种情况,物体则不能按照原来的运动状态继续运动,否则虚拟环境中就会出现虚拟物体之间相互穿透、彼此重叠等不真实的现象。检测虚拟环境中虚拟物体是否发生了相互碰撞的过程称为冲突检测。检测到碰撞后,要对之作出正确的响应,修改虚拟物体的运动状态,确定物体的变形和损坏等,这就是冲突响应。冲突检测是虚拟现实、计算机动画、机器人学等领域的核心问题之一。Ja-va3D具有形体间冲突检查功能。为了编写具有这样功能的交

8、互式应用程序,需要定义一个检查形体之间碰撞情况的行为对象,这时可用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。