Java3D总结五篇.docx
《Java3D总结五篇.docx》由会员分享,可在线阅读,更多相关《Java3D总结五篇.docx(16页珍藏版)》请在第一文库网上搜索。
1、Java3D总结五篇第一篇:Java3D总结Java3D介绍Java3d是适应与internet环境下开发的三维图形开发包,它针对底层库OPenG1和DirectX的封装。这样使得他们摆脱了单机三维束缚,面向与网络方向。OpenG1:图形编程库。(如坐标的变化,基本形体,关照效果等)DirectX:微软公司三维库传统下的Internet图形处理,数据不是从本地硬盘中读取,运行环境也不是事先安装好的,如果用OpenG1等传统的可视手段,只能在Web服务器端生成图像,在发到客户端显示。但是当前的网络传输能力是不可能满足的。(但是java3的是传输的不是图像本生,而是三维图像生成的程序和数据)当前下
2、的Java3d是这样的:java3d是基于OpenG1或DirectX底层的APIo他和java一样需要安装Jre(java虚拟机)一次编程,跨平台运行。所以说他很好的运用了pc机的硬件加速器。(当前我们现在用的是WebStart来下载java3d程序,他保证了如果服务器端没有升级变化时,只需要下载一次,以后就可以直接运行)。Java3d本质是一个交互式三维图形应用编程接口(api),他可以和java2d,swing,awt结合。其目标是:让用户在浏览器中观看或操作三维动画图形。一次编程,到处运行。适应不同的软件平台。适应各种显示环境和输入设备。Java3d的编程思想Java3d编程的空间采用
3、场景图结构,是一种有向无环图。如图:1oca1e下有一到多个branchgroup节点,在他下有一个基准坐标系transformgroup,就可以相对此坐标系摆放所需的形体(shape3d)也可以给出形体的外观叩PearanCe及geometryo所以:他就是将许多对象安放在这个虚拟空间的过程,在设置各个方面的属性,如:形状,位置,外观,贴图,透明效果等;再在三维环境下设置灯光,雾,背景,声音等。最后定义我们自己的观察角度,最终达到效果。基本形体的生成Java3d的Com.sun.j3d.uti1s包中提供一些基本形体,如长方体,圆柱体,圆锥体等。Java3d包:Com.sun.j3d.uti
4、1s包:包括一些sun公司提供的一些3d程序中经常使用的apioJavax.media.j3d包:提供了java3d的基本apioJavaxwecmatch包:提供了与矢量运算相关的一些api。Java3d场景的组建一个java3d的场景图是由一组具有父子关系的节点对象形成的树状结构。在一个树状结构中,第一个节点是根节点。(通过从根节点到其他节点的弧可以访问其他节点)这些弧是不循环的。一个场景图是由以方位对象的跟节点的若干棵树组成的。而节点组件和引用弧并不是场景图树的组成部分。场景图路径:从场景图的根节点到指定的页节点之间的路径是这个页节点的场景路径。Java3d场景图中的每个场景图路径都是可
5、以完全指明其页节点的状态信息。状态信息包括可视对象的方位,方向,和尺寸。Java3d的渲染系统是按照他的场景顺序来渲染的。实例分析:当两个TransformGroup对象共享同一个shape3d叶节点对象作为他们各自的子节点时,是不允许的(不能将一个Sh叩e3d安放在不同的地方)。记住:一个页节点对象只能拥有一个父节点。换句话说,从1oca1e对象到页节点只有一条路径。一个定义不合理的场景图的java3d程序是可以编译通过的,但是不能被渲染。如果是这样的话当屏幕一片漆黑的时候,就是需要考虑是否场景图逻辑错误存在于设计的场景中了。Java3d的几个基本类1.Node类:是Group和Ieaf类的
6、抽象父类,node类定义了子类中一些重要的公用的方法。2.Group类:Group类是用来指明可视对象在虚拟世界中方位的父类。他的两个子类是BranchGroup和TransformGroup0BranchGroup需要设置(一些情况):能力位(ForBranchGroupnodes,specifiesthatthisBranchGroupa11owsdetachingfromitsparento)3 .1eaf类:1eaf类是用来指明虚拟世界中的可视对象的声音,形状,和行为的父类。他的一些子类包括Sh叩e3dz1ight,behavior和SOUnd。这些对象不能有子节点但是可以引用Node
7、Componento4 .NodeCompenent类:NodeComponent类是用来描述Sh叩e3d节点的几何特性,外观,纹理,材质的父类。NodeComponent不是场景图的组成部分,当时在场景中可以引用他们。一个NodeCOmPonem可以被多个ShaPe3d对象同时弓I用。编写java3d的步骤:(1)仓!J建Canvas3d又寸象。(2)创建一个VirtUa1UniVerSe对象。(3)创建1oca1e对象,将他与VirtuaIUnivers对象联系起来。(4)构造视野子图。a.创建一个Viewob.创建一个ViewPIatformoc.创建一个PhysicaIBody对象。d
8、.创建一个PhysicaIEnvironment无像。e.将ViewPaItform,PhysicaIBody,PhysicaIEnvironment和Canvas3D对象联系到View对象上。(5)构造内容子图。(6)编译子图。2(7)将子图插到1oca1eo默认的,图像板居中放置于SimP1eUniVerSe的原点。默认的方向是与z轴方向垂直,从这个位置,X轴水平的穿过图像板,右侧是正轴,y轴垂直的穿过图像板,上面是正半轴。结果点(0,0,0)位于图像板的正中间。激活和编译将一个子图插入到1oca1e后,这个子图就是处于激活状态,结果这个子图中的每个对象都被激活。在对象被激活之前,如果对象
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java3D 总结
