Stratos: Punto de Encuentro de Desarrolladores

¡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.