在多轴上旋转Meshviewer

时间:2016-01-31 21:29:11

标签: javafx

我尝试在具有多个轴

的meshviewer上执行旋转
Meshviewer.setRotateAxis (Rotate.X_Axis);
Meshviewer.setRotate(100);
Meshviewer.setRotateAxis(Rotate.Y_Axis);
Meshviewer.setRotate (100);

它应该在x和y方向上旋转,但它只能在y方向上旋转。 怎么了?

[写在智能手机上]

1 个答案:

答案 0 :(得分:1)

rotateAxis是一个与其他任何属性相同的属性。如果你做了

someObject.setValue(5);
someObject.setValue(3);

你会(我假设)期待

someObject.getValue();

评估为3,而不是35的某种组合。因此,在您发布的代码之后,MeshViewer的旋转轴是y轴,因此它围绕该轴旋转。

如果要对多个轴执行旋转组合,可以将变换添加到变换列表中:

Rotate rotateAboutX = new Rotate(100, Rotate.X_AXIS);
Rotate rotateAboutY = new Rotate(100, Rotate.Y_AXIS);
MeshViewer.getTransforms().addAll(rotateAboutX, rotateAboutY);