Ruota attorno a un punto specifico in Java3D


Answers

Question

Sto importando 2 modelli in Java3D, ridimensionandoli e quindi ruotandone uno con RotationInterpolator

Tuttavia, questo fa ruotare l'oggetto attorno all'origine. Voglio ruotare l'oggetto attorno al centro ITS, non quello della scena. In parole povere, voglio che ruoti sul posto.

Come ruoto attorno a un punto specifico?

    TransformGroup rotateTheBlades = new TransformGroup();
    rotateTheBlades.setCapability(
                  TransformGroup.ALLOW_TRANSFORM_WRITE);

    Alpha rotationAlpha = new Alpha(-1,5000);

    RotationInterpolator rotator =
        new RotationInterpolator(
          rotationAlpha,rotateTheBlades);

    Transform3D abc = new Transform3D();
    abc.rotZ(Math.PI/2);

    rotator.setTransformAxis(abc);

    rotator.setSchedulingBounds(new BoundingSphere());

    rotateTheBlades.addChild(rotator);
    rotateTheBlades.addChild(theBlades);

Questo è il mio codice per fare la mia rotazione attuale.




Links