Programación en castellano
Inicio > Foros > Java (básico) > Rotacion en Java3D
-Foros de debate

Java (básico)
Lista de foros | Lista de mensajes de este foro

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 :$

 
Re: Rotacion en Java3D
Enviado por hgouveia el día 27 de febrero de 2008

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

BranchGroup modelObj=new BranchGroup();
TransformGroup trasnformModel=new TransformGroup();
TransformGroup rotateModel=new TrasnformGroup();

rotateModel.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
rotateModel.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
rotateModel.addChild(obj);

transformModel.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
transformModel.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
transformModel.addChild(rotateModel);

modelObj.addChild(transformModel);

//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

 
Re: Re: Rotacion en Java3D
Enviado por hgouveia el día 27 de febrero de 2008

sorry me falto esto

ColorCube obj=new ColorCube(0.4);

 



Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados