Necesito obtener un vector ascendente para una cámara (para obtener el aspecto correcto) desde un ángulo de balanceo, inclinación y guiñada (en grados). He estado probando cosas diferentes durante un par de horas y no he tenido suerte :(. Cualquier ayuda aquí sería apreciada!¿Cómo obtener el vector de la cámara desde el balanceo, cabeceo y guiñada?
Respuesta
Roll, Pitch y Yaw definen una rotación en 3 ejes. Desde estos ángulos puedes construir un 3x3 matriz de transformación que expresa esta rotación (see here how)
Después de que tenga esta matriz, tome su vector ascendente regular, digamos (0,1,0) si 'arriba' es el eje Y y multiplíquelo con la matriz. se obtiene es el vector transformado hasta
Editar -.
la aplicación de la transformación a (0,1,0) es lo mismo que tomar la fila del medio los 3 filas de la MAK matriz. e arriba de una base ortogonal del sistema girado. Eso sí, una API gráfica en 3D usa matrices 4x4. Así que para hacer una matriz de 4x4 saliendo de la matriz de rotación de 3x3 es necesario agregar un '1' en M [3] [3] (la esquina) y ceros en el resto de este modo:
r r r 0
r r r 0
r r r 0
0 0 0 1
Shoosh, ¿y si no aplico la transformación al (0,1,0)? ¿Puedo sacar una de las filas/columnas de la matriz de rotación como mi arriba? Gracias – Polaris878
Sí, en lugar de hacer la transformación de matriz de vectores, puede simplificar la ecuación al omitir las sumas cero/términos. Además, los vectores pueden ser column-major o row-major. Asegúrese de extraer el eje correctamente. –
Esto no puede responda directamente su pregunta, aunque puede ayudar. Tengo un proyecto de código abierto para XNA que crea un terminal de depuración que se superpone a tu juego mientras se ejecuta. Puede usar esto para buscar valores, invocar métodos o lo que sea. Entonces, si tienes una matriz de transformación y quieres extraer varias partes mientras el juego se está ejecutando, puedes hacerlo. El proyecto se puede encontrar aquí: http://www.protohacks.net/xna_debug_terminal
No tengo mucha experiencia en el tipo de matemática que está utilizando, pero espero que la publicación de Shoosh ayude en eso. Tal vez la terminal de depuración puede ayudarlo al probar su idea o en cualquier otro problema futuro que encuentre.
ja, no puedo esperar a jugar con esto más tarde. Parece una herramienta que he querido por un tiempo ... He tenido que escribir una consola en mis proyectos y sacar datos allí ... muy, muy torpe. –
- 1. extraer guiñada, cabeceo y balanceo de un rotationMatrix
- 2. Cómo obtener Yaw, Pitch and Roll desde un vector 3D
- 3. iphone - rango de movimiento del núcleo de guiñada, cabeceo y balanceo
- 4. Paso de la cámara/Guiñada al vector de dirección
- 5. Cómo convertir los ángulos de Euler al vector direccional?
- 6. ¿Cómo se convierten las coordenadas del mundo a las coordenadas de la cámara?
- 7. Obtener matriz desde std: vector
- 8. ¿Puede el iPhone4 grabar desde la cámara frontal y la cámara trasera al mismo tiempo?
- 9. SignalR y balanceo de carga
- 10. ¿Cómo calcular el ángulo de un vector desde la vertical?
- 11. Problemas al cargar y guardar imágenes desde la cámara y el carrete de la cámara. ¿Qué estoy haciendo mal?
- 12. algoritmos de balanceo de carga y programación
- 13. Android: ¿Obtener el nombre de archivo de la cámara?
- 14. Cómo obtener información de la cámara web
- 15. Cambiar el tamaño de una imagen en el balanceo
- 16. android - use la cámara desde el servicio en segundo plano
- 17. ¿Cómo obtener el número de serie de la cámara de EXIF?
- 18. ¿Cómo capturo video desde una cámara web?
- 19. diferencias entre la cámara y UIImagePickerController AVCaptureSession en el iPhone
- 20. recreando el objeto de la cámara después del error 100 (el servidor de la cámara murió)
- 21. cámara de acceso desde uiwebview?
- 22. Limite el paso de la cámara
- 23. Iterating C++ vector desde el final hasta el comienzo
- 24. ¿Cómo obtener la transmisión de video en tiempo real desde la cámara del iPhone y enviarla al servidor?
- 25. Android API para detectar nuevos medios desde la cámara y el micrófono incorporados
- 26. ¿Cómo obtener el contexto desde cualquier lugar?
- 27. Visualizar UIImage desde la cámara en UIWebView
- 28. ¿Cómo obtener el índice del elemento desde el predicado pasado a algún algoritmo STL?
- 29. ¿Cómo obtener el cociente y el resto de la división
- 30. ¿Cómo obtener el control de javascript desde el objeto JQuery?
Dado que lo etiquetó con todas las bibliotecas gráficas más importantes, supongo que es seguro asumir que quiere decir cómo hacerlo en general. –
Yep Blaenk que es correcto ... Solo necesitaba ayuda con las matemáticas: D – Polaris878