基于Java3D虚拟场景的关键技术
- 格式:pdf
- 大小:273.33 KB
- 文档页数:3
Java 3D API官方教程[翻译一]开始学习Java3D API1第一章、入门本章目标:学习了本章之后,你能:•能用一些基本术语解释什么是Java3D•能描述出Java3D程序的基本结构。
•能识别出Java3D API中的许多类。
•能编写出简单的Java3D动画程序。
Java 3D API是一个用于编写显示和交互操作三维图形对象的程序的接口。
Java 3D也是在Java2 Java开发包(JDK)上的标准扩展。
这个API提供了用于创建和操纵3D图形的高端构成方法以及渲染该图形的一些数据结构。
Java3D 提供了创建图片、可视化、动画以及3D交互图形应用程序的函数。
1.1 什么是Java 3D API?Javae 3D API是作为复杂三维图形和声音渲染系统的接口的一系列层次的JAVA类的统称。
程序员可以用Java3D开发创建和操纵3D图形对象的高端应用。
这个图形对象处于一个被渲染了的虚拟世界(Virtual Universe)中。
这个API就是用设计来用于灵活方便地创建精确的各种大小的虚拟环境,可以大到大空物体,小到比原子还小。
除了这些功能之外,API的使用也很直接,API能自动处理渲染的细节,由于利用了Java线程机制的优势,所以Java3D的渲染器的工作是并行进行的。
并且渲染器也能自动地优化并提高渲染性能。
一个Java3D程序创建了Java3D对象的实际,并将其置之于场景图数据结构中。
在这个场景图中,所有3D对象用完全指定了虚拟世界内容和其如何被渲染的树形结构存储,Java3D程序能写成能独立运行的应用程序,或者写成能嵌入在浏览器中运行的Applets,或者二者兼备。
1.2 Java 3D API每一个Java3D程序至少部分地集成了来自Java类层次中的对象,这些对象的集合称做虚拟世界(virtual universe),这就是将要被渲染的对象。
此API在javax.media.j3d包中定义了超过100多个类,这些类我们平常称做Java3D 核心类。
基于开源Web 3D引擎的三维系统的开发摘要:应用Web3D引擎开发的计算机仿真系统或虚拟现实系统均需在Web浏览器上运行,需要其能快速下载和运行,并且尽量不需下载特定插件。
采用基于JA V A技术的开源Web3D引擎开发的三维系统可以满足上述要求,开发的展示系统可以实现三维图形的旋转、缩放等交互功能。
此外,在系统开发过程中对引擎中不完善的部分进行了必要的修正。
关键词:计算机应用;Web3D引擎;三维系统;交互;JA V A 技术本文提出了基于开源代码的Web3D引擎,开发交互式产品展示系统的方法,并以陶瓷产品为例,开发了一款基于开源Web3D引擎idx3D,具有交互功能的三维陶瓷产品展示系统,该系统的运行无需下载特定的插件。
1开发步骤根据Web3D引擎idx3D中经修改后的各类的属性和方法,总结了以下的开发步骤:(1)为所开发的系统建模。
系统需要先建立模型,才能对相应对象进行交互式处理。
由于idx3D引擎中没有建模的功能,需要借助其他建模工具实现建模。
(2)构造场景。
系统中,摄像机、光源以及物体等各类对象都要置于场景中予以管理和操作,因此首先要构造场景。
(3)加入材质和灯光。
在场景中需要加入相应的材质和灯光。
(4)将模型文件导入程序中。
导入的物体模型添加到场景中。
(5)重构场景,以及场景规格化。
由于场景中添加了材质、灯光以及物体模型等内容,需要将这些对象重构成新的场景,并对场景进行规格化操作。
(6)初始化渲染状态。
对重构后的场景进行渲染,此时是静止状态,并没有交互式的操作。
(7)设置旋转和缩放矩阵,实现旋转和缩放。
对步骤(6)的场景进行旋转和缩放的交互式操作的实现。
(8)进行渲染得到具有三维效果的交互式系统。
将步骤(7)所完成的能缩放和旋转的场景进行渲染最终实现交互式三维展示系统。
2应用案例开发2.1开发系统的简介应用基于JA V A技术的Web3D开源引擎idx3D,开发了一款陶瓷产品——茶壶的三维展示系统。
基于Web3D的虚拟仿真技术及应用研究摘要:目前WEB3D虚拟现实软件和技术已达几十种之多。
例如,-VRML、X3D、Viewpoint、Cult3D、Java3D、VirTools、Shockwave3D 等对这些技术进行了分析介绍,对基于Web3D的各种热点仿真应用进行了总结,并对Web3D的发展和应用前景做了展望。
关键词:虚拟仿真虚拟现实Web3D1 Web3D技术1.1 VRMLVRML是VRML联盟发布的虚拟现实建模语言,是一个开放的、可扩展的、工业标准的景象描述语言。
它的出现主要是为了解决在网页中实现三维动画的效果以及基于三维对象的用户交互问题。
VRML1.0支持相对简单的动画,而VRML2.0通过允许Java和JavaScrip程序员编写在VRML对象上施加动作的脚本,以支持复杂的3D动画、模拟和行为。
VRML技术的原理是在用户端提供一些基本的三维图形库,并在网页运行时实时着色和渲染,这样就使得在网络上传输的数据量大大减少。
事实上,VRML文件只是一个文本文件。
当你在网页上点击VRML文件时,如果你的计算机上安装了相应的VRML浏览器,它便会首先将VRML文件(文本文件)下载到本地机上,然后在本地机上解释运行,因此这时的运行速度只是取决于本地计算机的性能,而与网络的速度无关。
1.2 X3DWeb3D协会为下一代VRML制定的X3D标准则使VRML又得到新的发展。
X3D标准由XML、X3D文件格式和一个3D引擎组成。
X3D文件格式沿袭了VRML97的节点、域、域值的结构,兼容VRML97标准和MPEG-4格式。
3D引擎基于Java Applet,无论是文字、图片还是声音都可以方便的与3D内容结合,无需安装专用的插件就可以在浏览器中观看。
除此之外,X3D新规范中突出了VRML与XML的集成。
X3D采用可扩展标记语言编码,定义了一个小型运行内核、一组API和多个扩展集,具有小型化、组件化和可扩展等特性。
三维场景及鱼类实物三维标本展示系统研究建模软件,主要提供一整套的Haptek角色表现方案。
1.3.3Java3D技术Java3D是由SUN公司在1998年年底正式推出,Java语言在三维图形领域的扩展,是一组应用编程接口(API)。
利用Java3D提供的API,可以编写出基于网页的三维动画、各种计算机辅助教学软件和三维游戏等等。
编程人员只需要调用API进行编程,而客户端只需要使用标准的Java虚拟机就可以浏览,具有不需要安装插件的优点(Sowizral等,2002)。
在Java的API中,提供了建造和操作三维集合物体的高层构造函数,利用这些构造函数还可以建造复杂程度各异的虚拟场景,包括微观粒子和宇宙天体。
JAVA3D的低级API依赖于三维图形系统,如Direct3D、OpenGL、QuickDraw3D和XGL等(Sowizral等,1999)。
JAVA3D没有基本形体,不过我们可以利用JAVA3D所带的UTILITY生成一些基本形体如立方体、球、圆锥等,也可以直接调用一些软件如ALIAS、LIGHTWARE、3DSMAX生成的形体,作为一个高级的三维图形编程API,JAVA3D具有VRML所没有的形体碰撞检查功能。
1.3.4ShockWave3D它是由Intel和Macromedia宣布开发Intel的Internet3.D图形软件与ShockWave3D播放器结合的产品。
Intel的Internet3.D图形极具特色:可动态调节3D内容的分辨率,并采用了曲面光滑技术和照片级逼真材质,可制作出各种特色效果(Almer等,2002)。
3DSMax和Maya这些流行制作3D图形都能导出*.w3d文件,但必须分别安装新的插件W3DFOR3DSMAX和Maya、Shockwave3DExpoSer。
从画面生成质量上看,Shockwave3D还无法和Viewpoint、Cult3D抗衡,因此对于需要高质量画面生成的产品展示领域,它不具备该优势。
探究虚拟场景技术的实现[摘要]:虚拟现实技术是一种跨学科的新技术,应用领域广泛。
本文主要介绍了虚拟系统的初步设计与实现,给出了设计的基本规划和通过vrml建立虚拟场景的过程。
通过vrml产生的场景,用户可以很方便的浏览各种三维模型场景,使其不再停留在图片上。
最后通过以vrml为基础的虚拟场景达到虚拟场景的自动漫游和手动漫游。
[关键词]:虚拟现实技术 vrml 虚拟场景漫游中图分类号:i022 文献标识码:i 文章编号:1009-914x(2012)26- 0537 -02 1vrml1.1vrml简介熟悉www的人都知道,受html的限制,网页只能是平面的结构,就算 java语言能够为网页增色不少,但也仅仅停留在平面设计阶段,而且实现环境与浏览者的动态交互是非常繁琐的。
于是vrml应运而生。
尤其是vrml 2.0标准,被称为第二代web语言,它改变了www上单调、交互性差的弱点,将人的行为作为浏览的主题,所有的表现都随操作者行为的改变而改变。
vrml创造的是一个可进入、可参与的世界。
你可以你可以在计算机网络上看到一幅幅生动、逼真的三维立体世界,你可以在里面自由的遨游;你可以将网络上流行的mud游戏转换为立体图形世界;你可以将你公司的主页改编成三维主页,让浏览者领略到你公司的实貌,而不仅仅是简单的文本、表格... vrml是一种国际标准,其规范由国际标准化组织(iso)定义,mime类型为 x-world/x-vrml,它的表现与操作系统平台无关。
vrmll.0只能创建静态的3d景物,你可以在它们之间移动,来测览三维世界。
vrmll.0是基于sgi公司的openinventor的文件格式,也是它的一个子集,是一种流行的3d 图形的格式,并可链接到一般的www页。
vrmll.0的立体链接,即构成了vrml的世界。
可以看出,用vrmll.0很容易做出三维物体,这也正是vrmll.0的基本目的所在。