Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Rotacion en Java3D
Enviado por hgouveia el día 26 de febrero de 2008
que tal amigos, tengo un tiempito aprendiendo sobre java3d, y he logrado ya por lo menos poner algunos objetos, moverlos y rotarlo, pero tengo un gran problema con la rotacion y creo que tambien se debe que no soy muy diestro en las matematicas,
mi problema es que, yo quiero mover un objeto, digamos un cubo , que vaya rotando sobre su mismo eje, mientras se mueve , la idea es mas bien hacer algo como un \"asteroid\" que vayan rotando en si mismo, mientras se van moviendo hacia un lado, si alguien pudiera decirme como hago, un buen ejemplo me gustaria, por que yo roto el objeto, y el va moviendose para donde rota, quisiera mas bien que rotara sin importar para que lado se va mover, espero que me entiendan :$
ok, depues de tantan y tantas prueba, ya tenia diass en esto, por fin supe como hacerlo, hay que hacer dos TransformGroup , para los que esten mantandose como yo, le dejo parte del codigo
//Mueve el Objeto, y Rota el objeto cambiando su sistema de coordenadas
Transform3D t3d= new Transform3D();
Transform3D t3dRot= new Transform3D();
Transform3D t3dMov= new Transform3D();
//Movimiento
t3dMov.setTranslation(new Vector3d(0.0f,0.0f,1.0f));
t3d.mul(t3dMov);
transformModel.setTransform(t3d);
//Rotacion cambiando su sistema de coordenadas
t3dRot.rotX(x);
t3d.mul(t3dRot);
transformModel.setTransform(t3d);
//Rota el Objeto, sobre su mismo eje, sin modificar su sistema de coordenadas
Transform3D t3d2= new Transform3D();
Transform3D t3dRot2= new Transform3D();
//Rota el objeto
t3dRot2.rotZ(z);
t3d2.mul(t3dRot2);
rotateModel.setTransform(t3d2);
espero que les sirva, es un simple ejemplo de como funciona