关于Java3D

 浅谈 Java 3D、 OPENGL、VRML、DIRECT3D

一、JAVA3D的优势:

作为一名3D图形学习者,无论是游戏开发、科学计算,还是生物技术,还是虚拟现实(Virtual Reality)、仿真技术,Java 3D都是很优秀的选择。理由如下:

  1)基于Java技术,秉承了Java的一切优点,具有优秀的、丰富的UI(Swing、AWT)和Web发布能力(通过Java Plug-In)。

  2)作为第四代3D图形API,Java 3D简单易用,不需要多深厚的计算机(http://java.sun.com/products/java-media/3D/collateral/wp_mktg/wp_mktg.html )图形学功底和学习曲线,开发者便能开发出很专业的动画、仿真和交互。不过我这个学期刚刚学了图形学的课,哈哈。

因为他借鉴了VRML的思想,所以学起来很轻松(熟悉VRML的开发者,如对Java还熟悉的,则会发现Java 3D的思想和VRML很相近)。现在正学习虚拟现实课那,在图书馆借了本《VRML程序员使用例库》(VRML PROGRAMMER‘S LIBRARY )一书作者:[美]Kris  Jamsa  Phil Schmauder  Nelson Yee著

 董铭  周玉译  电子工业出版社  与本书配套的还有一张光盘,不知道图书馆里有没有那,我借这本书的时候学校正赶放五一假,等五一过后我去图书馆里看看,能借到光盘最好了,呵呵 !!

  3)功能强大,高层次开发。因为Java 3D在底层借助于Open/GL、DirectX的强有力支持;在高层,开发者不再需要负责对象渲染、碰撞检查的编程任务,所以很不错。最新版本为1.3.1 Beta。(http://java.sun.com/products/java-media/3D/ )

  4) 基于场景图结构(Scene Graph Structure)。这种层次结构,无论是描述现实中的对象,还是计算机实现都栩栩如生。她(Java 3D)在这两者之间几乎达到了极致。Java思想的简单也正体现在此。善于将复杂问题简单化,比较人性化。

  5)学习资源丰富。大部分都是E的。  

  由于本人刚开始接触Java 3D。这方面的中文资料还是比较少的,所以只能看英文了,幸好英文资料有很多。中文也有一些。

二、OPENGL、VRML、DIRECT3D、JAVA3D的比较

    由于OPENGL的跨平台特性,许多人利用OPENGL编写三维应用程序,

不过对于一个非计算专业的人员来说,利用OPENGL编写出复杂的三维应

用程序是比较困难的,且不说C(C++)语言的掌握需要花费大量时间精

力,当我们需要处理复杂问题的时候,我们不得不自己完成大量非常繁

琐的工作。当然,对于编程高手来说,OPENGL是他们发挥才能的

非常好的工具。

    VRML2.0(VRML97)自1997年12月正式成为国际标准之后,在网络上得

到了广泛的应用,编写VRML程序非常方法(VRML语言可以说比BASIC、JAVASCRIPT等语言还要简单),同时可以编写三维动画片、三维游戏、 用于计算机辅助教学,因而其应用前景非常广阔尤其适合在中国推广应用。不过由于VRML语言功能目前还不是很强(虽然目前可以处理形体之间的碰撞检查功能,但是碰撞检测要花费大量的处理时间有关VRML处理碰撞检测的技术大家可以看以下地址上的一篇文章(虚拟城市的开发技术探讨_计算机论文):http://www.n318.com/zonghe/lunwen/jisuanji/jisuanji/200605/280079.html),与JAVA语言等其它高级语言的连接较难掌握,因而失去了一些计算机高手的宠爱。但我们认为,我们可以让大学里的文理科学生利用VRML编写多媒体应用程序,让学生很快地对编写程序感兴趣,从而使国内的计算机水平得到提高。

     DIRECT3D是Microsoft公司推出的三维图形编程API,它主要应用于三 维游戏的编程,目前相关的学习资料难于获得,由于它一般需要VC等编程工具进行编程,需要编程人员具有较高的C++等高级语言的编程功底,因而难以普及。

    JAVA3D是建立在JAVA2(JAVA1.5)基础之上的,JAVA语言的简单性 使JAVA3D的推广有了可能。OPENGL和JAVA3D之间的比较可以看成汇编语言 与C语言之间的比较,一个是低级的,一个是高级的(也许这样比较不太恰当)。JAVA3D给我们编写三维应用程序提供了一个非常完善的API,它可以帮助我们:

生成简单或复杂的形体(也可以直接调用现有的三维形体)

使形体具有颜色、透明效果、贴图。

可以在三维环境中生成灯光、移动灯光。

可以具有行为(Behavior)的处理判断能力 (键盘、鼠标、定时等)

可以生成雾、背景、声音等。

可以使形体变形、移动、生成三维动画。

可以编写非常复杂的应用程序,用于各种领域如VR。

###################### 参考书推荐 ############################### #######################

1、书名: VRML2.0交互式三维图形编程  由汕头大学出版社出版  张杰编著

特殊购书方式:

1。)作者售书 、网上订购(email address: jzhang@mailserv.stu.edu.cn)

2。)可以先获书,后汇款(不满意可退书),

   只需将通信地址及邮编告知作者,即可在最短的时间内得到书。

3。)书价为25元/本,免收邮购费用

4。)书为16开本,正文161页。 

2.Java 3D编程实践——网络上的三维动画。都志辉主编  清华大学出版社

  http://www.china-pub.com/computers/common/info.asp?id=8265

不过这本书好像是不出版了,比较难买,如果有需要看的朋友我这里有电子书(pdg格式的)有要的可以和我联系,联系方式见本文的最后面。  

3.JAVA 3D 交互式三维图形编程 张杰 编著 人民邮电出版社

      这本书好象也不好买,我找了N多网站都没找到这本书。

4.Java 3D Programming  Author: Daniel Selman(推荐)

ftp://kaoyan.bingle.org.cn

################################################################ P.S.: 一些java3d比较精彩的网上资源

【1】java3d邮件组上比较活跃的人物alessandro borges,巴西技术牛人,用java3d实现了凹凸贴图,环境贴图等精彩实例,去网站上看看吧http://paginas.terra.com.br/educacao/alessandroborges/

【2】泰国一个教授写的java3d的书,有粒子系统,rpg游戏模式三维漫游,多用户等,相当不错,提供源码下载 http://fivedots.coe.psu.ac.th/~ad

【3】很多实例http://www.hta-bi.bfh.ch/~swc/DemoJ3D/

【4】http://www.rolemaker.dk/articles/evaljava/

【5】java3d tutorial有实例源码 http://goanna.cs.rmit.edu.au/~nigels/Java3D/slides99

【6】java3d写的一个网球游戏的例子,可多人联机玩,提供源码下载和文档说明http://www.redbrick.dcu.ie/~acathla/index.html

【7】一个类似java3d的api,http://alumni.cse.ucsc.edu/~ey6es/ 在google上搜tiny3d应该能搜的到

【8】韩国人做得衣物方针,可选择让模特穿着不同的服装在T形台上展示,太大,还是直接连到个人主页上看吧http://vr.kaist.ac.kr/~redmong/research.htm

【9】一个场景的模拟,有海面,海豚,大鸟,国人做得,现在好像到国外去了http://www.worldshow3d.com/releases/releases.html 贴图

【10】Java3D目前是开源项目,这里是Java3D的官方开源地址:java3d- Java 3D Parent Project:https://java3d.dev.java.net/

最新版的java3d1.4致力于可编程阴影programmable shaders,它的第一个stable builds已经发布了

【11】建议从事java3d的开发者订阅java3d邮件组,https://java3d.dev.java.net/servlets/ProjectMailingListList,主要订阅interest@java3d.dev.java.net这个就可以了,具体订阅方法见前面网址。另外这个http://archives.java.sun.com/java3d-interest.html是旧的邮件组,个人感觉这套邮件组功能不错,不过新的java3d开发团队已经声明转入新的邮件组。

【12】http://java.sun.com/products/java-media/3D/collateral/ 大量的资料,都挺不错的。

 资料来源: http://shi604.blog.163.com/blog/static/1729925920073173317553/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值