para - java3d java net
Girar alrededor de un punto especĂfico en Java3D (1)
DR respondió con la traducción del objeto al origen, realizando la rotación y luego trasladando el objeto a su posición. Lo cual funcionó.
Mi solución real era simplemente centrar el modelo en el origen en el archivo .obj que estaba cargando en Java3D, realizar mi rotación y luego traducir los objetos a su posición correcta.
Estoy importando 2 modelos en Java3D, reduciéndolos y luego rotando uno de ellos usando un RotationInterpolator
Sin embargo, esto rota el objeto alrededor del origen. Quiero rotar el objeto alrededor de su centro, no de la escena. En pocas palabras, quiero que gire en su lugar.
¿Cómo giro alrededor de un punto específico?
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);
Este es mi código para hacer mi rotación actual.