展各种文化科技娱乐活动。
而此时虚拟场景就是他们的三维环境。
虚拟社区很可能是Web3D图形在互联网上的一种主要应用形式。
现在已有几家公司推出了自己虚拟社区及全套的解决方案如Blaxxun Adobe Atmosphere. Geometrek Cybertown OuterWorlds berkom ActiveWorldsiCitypointworlds等。
它们除了提供虚拟场景制作以外还提供服务器管理通讯管理用户管理等功能。
Blaxxun公司Virtual Worlds Platform 5.1服务器已经有许多网站用它建立虚拟社区。
§1.3 JAVA3D在Web中的成功 Java在互联网上几乎随处可见而它在3D图形上正在显示出更大的威力。
使用Java 的重要理由之一是它的平台无关性。
它的平台无关性来自于Java只需部分编译负责编译Java程序的叫做Java Virtual Machine JVM不同的平台有它自己JVM处理与平台相关的功能。
因此只要支持JVM就能运行JAVA小程序。
两种最有名的浏览器Netscape 和 IE 3都支持JVMJava 1.0.2。
因此用Java制作的3D图形几乎都可以在互联网的浏览器上显示。
令人遗憾的是:微软在它的未来极具发展前景的Window XP中不再预装JVM由此引起的麻烦是巨大的:要运行基于JAVA的应用就必须安装JVM这显然比安装一个插件更麻烦。
由于全世界有90的人上网使用微软不要钱的浏览器IE而Web3D的渲染引擎插件又必须安装在IE上。
面对Web3D技术未来的发展潜力软件巨人微软作何打算我们不得而知。
Shout Interactive and Blaxxun两个公司使用纯Java技术开发了实时渲染引擎大小只有50K这个小小的JAVA小程序不仅在网上自动下载而且可以在客户端实时渲染3D场景逐帧显示动态的3D图像。
Shout Interactive and Blaxxun为用户扩充自己的3D图形功能预留了极大的空间。
两个公司并没有抛弃VRMLShout Interactive公司可以接受VRML文件并把它变成自己的文件格式Blaxxun公司的软件可以直接运行VRML。
当然Shout3D的小巧灵活并不是没有代价的它简化了VRML的功能VRML的一些功能不能用小小50K的Java来实现。
可以说这两个公司最先在它们的产品中实现了核心的X3D技术。
使用这种quot无插件技术quotplug-in的Shout公司为Macys and Excite web portal网站制作了栩栩如生如生的3D虚拟时装模特展示观看者用菜单可以选择展示的服装模特的肤色发型步型甚至于灯光都可以用菜单即刻更换。
观看者可以用鼠标变换视角远近从各个角度观看动态展示。
而所有的展示文件只有1M-2M不需下载插件。
图像的质量较好人物动画的动作流畅自然。
第二章 Java3D技术的简介 Java3D用其自己定义的场景图和观察模式等技术构造了3D的上层结构实现了在Java平台使用三维技术。
本章将介绍Java3D特有的两个重要概念场景图Scene Graph、观察模式View Model。
在接口使用上的介绍分为两部分说明如何使用Java3D接口说明如何将Java3D技术与Java原有的Web技术JSP、Serverlet相结合在网页上实现三维显示。
§2.1 Java3D概述 2.1.1 Java3D简介 Java3D API是Sun定义的用于实现3D显示的接口。
3D技术是底层的显示技术Java3D提供了基于Java的上层接口。
Java3D把OpenGL和DirectX这些底层技术包装在Java接口中。
这种全新的设计使3D技术变得不再繁琐并且可以加入到J2SE、J2EE的整套架构这些特性保证了Java3D技术强大的扩展性。
JAVA3D建立在JAVA2JAVA1.2基础之上JAVA语言的简单性使JAVA3D的推广有了可能。
它实现了以下三维显示能够用到的功能 1. 生成简单或复杂的形体也可以调用现有的三维形体 2. 使形体具有颜色、透明效果、贴图 3. 在三维环境中生成灯光、移动灯光 4. 具有行为的处理判断能力键盘、鼠标、定时等 5. 生成雾、背景、声音 6. 使形体变形、移动、生成三维动画 7. 编写非常复杂的应用程序用于各种领域如VR虚拟现实 2.1.2 Java3D与其他三维技术的比较 JAVA3D可应用在三维动画、三维游戏、机械CAD等多个领域。
但作为三维显示实现技术它并不是唯一选择而且是一个新面孔。
在Java3D之前已经存在很多三维技术这些三维技术在实现的技术、使用的语言以及适用的情况上各有不同我主要介绍与Java3D又密切关系的三种技术OpenGL、DIRECT3D、VRML OpenGL OpenGL是业界最为流行也是支持最广泛的一个底层3D技术几乎所有的显卡厂商都在底层实现了对OpenGL的支持和优化。
OpenGL同时也定义了一系列接口用于编程实现三维应用程序但是这些接口使用CC语言实现并且很复杂。
掌握针对OpenGL的编程技术需要花费大量时间精力。
DIRECT3D DIRECT3D是Microsoft公司推出的三维图形编程API它主要应用于三维游戏的编程。
众多优秀的三维游戏都是由这个接口实现。
与OpenGL一样Direct3D的实现主要使用C语言。
VRML2.0VRML97 自1997年12月正式成为国际标准之后在网络上得到了广泛的应用这是一种比BASIC、JAVASCRIPT等还要简单的语言。
脚本化的语句可以编写三维动画片、三维游戏、计算机三维辅助教学。
它最大的优势在于可以嵌在网页中显示但这种简单的语言功能较弱如目前没有形体之间的碰撞检查功能与JAVA语言等其它高级语言的连接较难掌握因而逐渐被淹没在竞争激烈的网络三维技术中。
表1是Java3D与其它三维技术的比较图可以从中直观的看出他们相互间的区别 技术 实现层次 开发技术难度 扩展性 最适合应用领域 Java3D 中层JVM Java较易 J2SE标准扩展好 网上三维显示实现… OpenGL 底层显卡 CC难 各大厂商支持较好 三维设计软件… Direct3D 底层操作系统 C较难 Windows平台差 三维游戏… VRML 上层网页 标记语言容易 安装插件支持一般 网上虚拟现实… 表13D技术对招表 §2.2 .
上一篇:
毕业设计论文
下一篇:
让我掉下眼泪的