我有一个java3d场景,包含一个3D CAD绘图和以0,0,0为中心的各种附加形状。我使用OrbitBehaviour让用户四处移动。
我希望有一个按钮可以围绕一个轴旋转一个固定的量(例如10度,但显然是弧度)。我已经有一个" home"使用lookAt返回初始查看点的按钮。
与我已经完成的其他工作相比,听起来很简单,但无论我尝试什么方法,我都无法让它工作。
我是否正确地认为我应该向OrbitBehaviour询问其getViewPlatformTransform()并转移到0,0,0 - >旋转它 - >某种程度上回到原来的位置?
答案 0 :(得分:2)
最简单的方法是将所有对象放在TransformGroup中并对其应用旋转矩阵。
TransformGroup tg = new TransformGroup();
Transform3D transform = new Transform3D();
/// add objects to transform group
tg.setTransform(transform);
如果要在运行时更改transfrom,还必须向该转换组添加适当的提示。