- 最后登录
- 2013-6-5
- 注册时间
- 2011-12-3
- 阅读权限
- 90
- 积分
- 6206
- 纳金币
- 6206
- 精华
- 0
|
这里要介绍几个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,这是一个良好的习惯,将有助于移动对象并查看它们。 |
|