Campo de visión + Relación de aspecto + Matriz de visualización desde matriz de proyección (Calibración HMD OST)

Actualmente estoy trabajando en una aplicación de realidad aumentada. El dispositivo objetivo es un HMD óptico transparente. Necesito calibrar su pantalla para lograr un registro correcto de los objetos virtuales. Yo usé esoimplementación de SPAAM para que Android lo haga y el resultado es lo suficientemente preciso para mi propósito.

Mi problema es que la aplicación de calibración da un resultado4x4proyección matriz Podría haberlo usado directamente con OpenGL por ejemplo. Pero, el marco de Realidad Aumentada que uso solo acepta parámetros de calibración óptica bajo el formatoCampo de visión algún parámetro +Relación de aspecto algún parámetro + 4x4Ver matriz.

Esto es lo que tengo:

Resultado de calibración correcto en formato incorrecto:

 6.191399, 0.114267, -0.142429, -0.142144
-0.100027, 11.791289, 0.05604,   0.055928
 0.217304,-0.486923, -0.990243, -0.988265
 0.728104, 0.005347, -0.197072,  0.003122

Puedes echar un vistazo al código que genera este resultadoaquí.

Lo que entiendo es que el Método de alineación activa de punto único produce una matriz de 3x4, luego el programa multiplica esta matriz por una matriz de proyección ortogonal para obtener el resultado anterior. Aquí están los parámetros utilizados para producir la matriz ortogonal:

near : 0.1, far : 100.0, right : 960, left : 0, top :  540, bottom:  0

Mal resultado de calibración bajo el formato correcto:

Param 1 : 12.465418
Param 2 : 1.535465

 0.995903,   -0.046072,   0.077501,  0.000000   
 0.050040,    0.994671,  -0.047959,  0.000000
-0.075318,    0.051640,   0.992901,  0.000000
 114.639359, -14.115030, -24.993097, 1.000000

No tengo ninguna información sobre cómo se obtienen estos resultados.

Leí estos parámetros de archivos binarios, y no sé si las matrices se almacenan en forma principal de fila o columna. Entonces las dos matrices pueden tener que transponerse.

Mi pregunta es :¿Es posible y, en caso afirmativo, cómo obtener estos tres parámetros delproyección primera matriz que tengo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta