Java3D无法正常工作

时间:2013-04-14 16:32:49

标签: java rotation geometry java-3d translate-animation

public void changeAx(double value) {
    translateAx.set(new Vector3f(0f, -0.325f, 0f));
    trans.setTransform(translateAx);
    rotation1.rotY(value);
    rotation.mul(rotation1);
    rot.setTransform(rotation);
    translateAx.set(new Vector3f(-0.2f, -0.325f, 0f);
    trans.setTransform(translateAx);
}

这是无效的方法。我想在X轴上旋转对象。我将对象X轴位置转换回原点。然后我执行旋转,然后将对象转换回它应该处于的位置。但是,对象旋转就像没有进行第一次转换一样。这意味着它不会像坐在原点上那样旋转,但就好像距离它一样-0.2f,因此整个物体以-0.2f半径移动,但我希望它保持相同的平移当它旋转。我想知道在乱码旋转的代码中我做错了什么。

对于记录,如果我取出第二个(重新翻译),对象将移动到X原点并正确旋转,但我想将其移回到之后的位置,这会弄乱旋转起来。

1 个答案:

答案 0 :(得分:0)

尝试更改第一行以将对象的X轴位置转换为原点:

    translateAx.set(new Vector3f(0.2f, -0.325f, 0f));
八月