旋转如何在Java3D中以特定角度连续旋转矩形
我使用以下代码沿x轴旋转一个矩形。但问题是,我想通过循环或从用户输入中获取值来连续改变旋转角度。由于我是Java3D新手,我不知道该怎么做。 任何形式的帮助对我都很好,提前谢谢
SimpleUniverse universe = new SimpleUniverse();
BranchGroup group = new BranchGroup();
ColorCube c = new ColorCube(0.3);
Transform3D t1 = new Transform3D();
t1.rotX(Math.PI/2.0d);
TransformGroup tg1 = new TransformGroup(t1);
tg1.addChild(c);
group.addChild(tg1);
group.compile();
universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph(group);
# 1 楼答案
你必须打电话给TransformGroup。setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE)允许在运行时修改您的转换。然后,你必须给TransformGroup打电话。稍后使用setTransform()修改其转换。这取决于你用不同的变换传递它,使它旋转、移动。。。您可以使用以下示例: http://www.java3d.org/animationinteraction.html
您可以使用计时器定期执行任务。此任务可以修改转换(通过计算前一个转换的新转换),而无需编写循环即可