有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

旋转如何在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) 个答案

  1. # 1 楼答案

    你必须打电话给TransformGroup。setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE)允许在运行时修改您的转换。然后,你必须给TransformGroup打电话。稍后使用setTransform()修改其转换。这取决于你用不同的变换传递它,使它旋转、移动。。。您可以使用以下示例: http://www.java3d.org/animationinteraction.html

    您可以使用计时器定期执行任务。此任务可以修改转换(通过计算前一个转换的新转换),而无需编写循环即可