如何在 Java 3D 中以特定角度连续旋转矩形

How to rotate a rectangle continously in a specific angle in Java 3D

我使用以下代码沿 x 轴旋转矩形。但问题是,我想通过循环或从用户输入中获取值来连续更改旋转角度。由于我是 java 3D 的新手,所以我不知道该怎么做。 任何形式的帮助对我来说都很棒,提前致谢!

  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);

您必须调用 TransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE) 才能在运行时修改您的转换。然后,您必须稍后调用 TransformGroup.setTransform() 来修改其转换。您可以使用不同的变换传递它以使其旋转、移动……您可以使用以下示例: http://www.java3d.org/animationinteraction.html

您可以使用定时器定时执行任务。此任务可以修改转换(通过从前一个转换计算出新的转换),您不需要为此编写循环。