Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Movimiento En Relación A Rotación

Iniciado por Sacrifai, 12 de Febrero de 2005, 12:59:32 PM

« anterior - próximo »

Sacrifai

 Pues eso, ya lo habia hecho en 2D, Se que hay que usar el seno y el coseno, pero no se aplicarlo correctamente al 3D ¿ como sería ?

Gracias

BeRSeRKeR

 No estoy muy seguro de haber entendido tu duda. ¿Te refieres a hacer que un objeto se desplace en la dirección dada por su rotación?.

Si es así, en teoría debes tener una matriz que representa la rotación del objeto. En ese caso, dicha matriz contiene los ejes de coordenadas locales del objeto. En Direct3D, la primera fila sería el vector "Right", la segunda file el vector "Up" y la tercera el vector "Look". Con eso ya tienes la información necesaria para desplazar el objeto en la dirección correcta. Si quieres desplazar el objeto en la dirección hacia la que mira, no tendrías más que hacer:

Position += Velocity * Look * deltaTime

En el caso de que se trate de una matriz de vista (representa la matriz de transformación de la cámara), es al revés, el vector "Right" es la primera columna, el "Up" es la segunda y el "Look" la tercera.

Como digo todo eso en Direct3D, en OpenGL debería ser al revés (intercambia filas por columnas, es decir, la traspuesta de la matriz Direct3D).

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Sacrifai

 Supongo que en irrlicht será similar  (ole) , gracias.

Sacrifai

  O_O  Internet es un pañuelo:

Post de Jedive en el foro de Irrlicht

A juzgar por que su firma es identica la que tiene en este foro, está claro que es él. Gracias Jedive  :D  .






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.