查看: 7671|回复: 0
打印 上一主题 下一主题

[红蓝3D] Java 3D基础(五)

[复制链接]

130

主题

1

听众

6206

积分

高级设计师

Rank: 6Rank: 6

纳金币
6206
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2011-12-25 08:42:10 |显示全部楼层 |倒序浏览
这里要介绍几个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,这是一个良好的习惯,将有助于移动对象并查看它们。
Java, 3D
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-1 09:01 , Processed in 0.087125 second(s), 33 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部