纳金网

标题: Java 3D基础(五) [打印本页]

作者: robert    时间: 2011-12-25 08:42
标题: Java 3D基础(五)
这里要介绍几个Java 3D中重要的类。

Transform3D类
使用Java 3D 编程时,会经常用到 Transform3D 类中的对象。Transform3D 对象代表一个变换矩阵,允许程序员在场景中移动、旋转几何对象或调整它的大小,也可以用来改变查看场景的方式。Transform3D 类中的对象通常由TransformGroup类来调用,为了简单起见,这里我们只讨论 Transform3D 中的一些助手函数。
现在就来看 Transform3D 类中的几个助手函数:
setTranslation(Vector3f  trans):
用来平移(移动)对象,通过改变trans 参数中的 x、y 和 z 值来实现。
setScale(double scale):
设置本次变换的几何尺寸变化比例,使用该函数来调整对象的大小。
rotX       (double angle):
将场景中的组件设置成绕 X 轴逆时针旋转,调用 rotX()会覆盖矩阵中的非旋转组件。 rotY()和 rotZ()也一样有用。角度值是以弧度指定,必要时,请先使用 Math.toRadians(degrees)将角度值转换成弧度。


OrbitBehavior 类
OrbitBehavior 类可以让你使用鼠标方便地移动场景组件,当用户移动鼠标时,它会平移、旋转以及缩放场景。下面这段代码将 OrbitBehavior 添加到 ViewingPlatform 中:

ViewingPlatform viewingPlatform = universe.getViewingPlatform();
orbit = new OrbitBehavior(canvas);
BoundingSphere bounds =
new BoundingSphere(new Point3d(0.0,0.0,0.0),100.0);
orbit.setSchedulingBounds(bounds);
viewingPlatform.setViewPlatformBehavior(orbit);

注意其中 OrbitBehavior 是使用SimpleUniverse对象来操纵场景图的视图部分。另外还要注意的是,大多数 Java 3D SDK 样本中都外加了 OrbitBehavior,这是一个良好的习惯,将有助于移动对象并查看它们。
作者: 艳阳天    时间: 2011-12-25 13:40
我晕死了,
作者: 3D小子    时间: 2011-12-25 13:59
其实java 并不难,掌握规则就好了
作者: C.R.CAN    时间: 2012-2-6 23:36
我也来支持下

作者: 彬彬    时间: 2012-2-9 09:09

作者: 其实我是神    时间: 2012-3-24 09:17

作者: C.R.CAN    时间: 2012-4-29 23:27
不错 非常经典  实用

作者: 晃晃    时间: 2012-5-13 23:19
很经典,很实用,学习了!

作者: markq    时间: 2012-5-18 23:06
  创意无处不在,创意就在纳金网



爱生活 ,爱3D,爱纳金网  



www.narkii.com
作者: tc    时间: 2012-6-15 23:26
不错不错,收藏了

作者: 晃晃    时间: 2012-7-7 23:22
既来之,则看之!

作者: tc    时间: 2012-7-22 23:25
跑着去顶朋友滴铁

作者: 奇    时间: 2012-10-30 23:20
路过、路过、快到鸟,列位请继续...ing

作者: .    时间: 2012-12-3 11:45
这是一个好帖子,大家快来围观!!
作者: 奇    时间: 2013-3-10 23:34
再看一看,再顶楼主





欢迎光临 纳金网 (http://c-www.narkii.com/club/) Powered by Discuz! X2.5