Logo

¡Bienvenido a Stratos!

Acceder

Foros



Cómo mover avión cuyo angulo ha sido definido cn Quaternion?

Iniciado por diluo, 02 de Febrero de 2008, 08:13:26 PM

« anterior - próximo »

diluo

Estoy intentando mover un avion en un espacio 3D con openGL, gracias a los  Quaterniones he conseguido rotar el avión a lo largo de sus 3 propios ejes, o sea, pitch, roll y yaw. Esto lo hace muy bien, me hizo mucha ilusión verlo girar perfectamente, porque hace años estuve intentandolo con Darkbasic y no habia manera.

Sin embargo llevo varios dias intentando conseguir simplemente mover el avion hacia delante (en el angulo que se ve que apunta), y no hay manera, se mueve para donde le da la gana. Estoy desesperado, a ver si me podeis ayudar, os estaría muy agradecido.

Saludos y muchas gracias por anticipado.

tamat

suponiendo que tu avion tenga un cuaternion que defina su orientacion y un vector que defina su posicion, todo lo que necesitas es sacar el vector front multiplicando el vector (0,0,-1) por el cuaternion (busca en internet el codigo necesario para esto) y desplazar la nave acorde a ese vector.

Si ya pintas la nave bien quiere decir que conviertes el cuaternion a matriz para subirlo al api gráfico, en tal caso por qué no multiplicas el vector (0,0,-1) por la matriz?
Por un stratos menos tenso

diluo

Ha funcionado lo de multiplicar la matriz de rotación por 1,0,0. Ya habia probado algo parecido y no me salia bien, pero gracias a tu comentario me ha animado a seguir probando en esa dirección y al final ha salido :)

Muchas gracias Tamat.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.
Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.