1、Java3D 及其与及其与 OpenGL、VRML、DIRECT3D 区别区别一、一、JAVA3D 的优势的优势作为一名 3D 图形学习者, 无论是游戏开发、 科学计算, 还是生物技术, 还是虚拟现实 (VirtualReality) 、仿真技术,Java 3D 都是很优秀的选择。理由如下:1)基于 Java 技术,秉承了 Java 的一切优点,具有优秀的、丰富的 UI(Swing、AWT)和 Web发布能力(通过 Java Plug-In)。2 ) 作 为 第 四 代 3D 图 形 API , Java 3D 简 单 易 用 , 不 需 要 多 深 厚 的 计 算 机(http:/ )图形学
2、功底和学习曲线,开发者便能开发出很专业的动画、仿真和交互。不3)功能强大,高层次开发。因为 Java 3D 在底层借助于 Open/GL、DirectX 的强有力支持;在高层,开发者不再需要负责对象渲染、碰撞检查的编程任务,所以很不错。最新版本为1.3.1 Beta。 (http:/ )4) 基于场景图结构(Scene Graph Structure) 。这种层次结构,无论是描述现实中的对象,还是计算机实现都栩栩如生。她(Java 3D)在这两者之间几乎达到了极致。Java 思想的简单也正体现在此。善于将复杂问题简单化,比较人性化。5)学习资源丰富。大部分都是 E 的。二、二、OPENGL、V
3、RML、DIRECT3D、JAVA3D 的比较的比较OpenGL由于 OPENGL 的跨平台特性,许多人利用 OPENGL 编写三维应用程序, 不过对于一个非计算专业的人员来说,利用 OPENGL 编写出复杂的三维应用程序是比较困难的,且不说 C(C+)语言的掌握需要花费大量时间精力,当我们需要处理复杂问题的时候,我们不得不自己完成大量非常繁琐的工作。当然,对于编程高手来说,OPENGL 是他们发挥才能的非常好的工具。VRMLVRML2.0(VRML97)自 1997 年 12 月正式成为国际标准之后,在网络上得到了广泛的应用,编写 VRML 程序非常方法(VRML 语言可以说比 BASIC、
4、JAVASCRIPT 等语言还要简单) ,同时可以编写三维动画片、三维游戏、 用于计算机辅助教学,因而其应用前景非常广阔尤其适合在中国推广应用。不过由于 VRML 语言功能目前还不是很强(虽然目前可以处理形体之间的碰撞检查功能, 但是碰撞检测要花费大量的处理时间有关 VRML 处理碰撞检测的技术大家可以看以下地址上的一篇文章(虚拟城市的开发技术探讨_计算机论文) :http:/ ,与 JAVA 语言等其它高级语言的连接较难掌握,因而失去了一些计算机高手的宠爱。但我们认为,我们可以让大学里的文理科学生利用 VRML 编写多媒体应用程序,让学生很快地对编写程序感兴趣,从而使国内的计算机水平得到提高
5、。DIRECT3DDIRECT3D 是 Microsoft 公司推出的三维图形编程 API, 它主要应用于三 维游戏的编程,目前相关的学习资料难于获得,由于它一般需要 VC 等编程工具进行编程,需要编程人员具有较高的 C+等高级语言的编程功底,因而难以普及。JAVA3DJAVA3D 是建立在 JAVA2(JAVA1.5)基础之上的,JAVA 语言的简单性 使 JAVA3D 的推广有了可能。OPENGL 和 JAVA3D 之间的比较可以看成汇编语言 与 C 语言之间的比较,一个是低级的,一个是高级的(也许这样比较不太恰当) 。JAVA3D 给我们编写三维应用程序提供了一个非常完善的 API,它可以帮助我们:生成简单或复杂的形体(也可以直接调用现有的三维形体)使形体具有颜色、透明效果、贴图。可以在三维环境中生成灯光、移动灯光。可以具有行为(Behavior)的处理判断能力 (键盘、鼠标、定时等)可以生成雾、背景、声音等。可以使形体变形、移动、生成三维动画。可以编写非常复杂的应用程序,用于各种领域如 VR。