Actualmente estoy usando una matriz de rotación 3x3 para trabajar con puntos 3D.¿Cómo convertir una matriz de rotación 3x3 en una matriz 4x4?
¿Cómo se diferencia esta matriz de una Matriz 4x4?
¿Y cómo convierto una matriz 3x3 en una 4x4?
Actualmente estoy usando una matriz de rotación 3x3 para trabajar con puntos 3D.¿Cómo convertir una matriz de rotación 3x3 en una matriz 4x4?
¿Cómo se diferencia esta matriz de una Matriz 4x4?
¿Y cómo convierto una matriz 3x3 en una 4x4?
Una matriz de 4x4 se puede utilizar para hacer la rotación y la traducción en una sola matriz.
Los valores tx
, ty
en el lado derecho de su matriz se agregarán a la x, y, z del vértice que está transformando.
Así que para convertir una matriz de 3x3 a 4x4, simplemente copia de los valores para el 3x3 superior izquierda del bloque, así:
[ a11 a12 a13 ]
[ a21 a22 a23 ]
[ a31 a32 a33 ]
Eso 3x3 se convierte en este 4x4
[ a11 a12 a13 0 ]
[ a21 a22 a23 0 ]
[ a31 a32 a33 0 ]
[ 0 0 0 1 ]
Aviso en el 4x4, el bloque superior izquierdo se copió directamente, y se ingresaron los 0 para las otras entradas adicionales nuevas (lo que indica que no quiero que se agregue ninguna traducción).
Una matriz 4x4 admitirá transformaciones afines, incluidas la rotación y la traducción.
Ver la respuesta a esta pregunta: Solution to skew bitmaps in flash
Para los cálculos sangriento, ver: http://www.euclideanspace.com/maths/geometry/affine/matrix4x4/index.htm
una matriz de 4x4 permite vectores affine transformations de 3 dimensiones.
¿Alguna idea de cómo puedo convertir una matriz calculada de 3x3 en un 4x4? –
Simplemente copie el bloque superior izquierdo de 3x3 directamente en los mismos puntos del 4x4. En su nuevo 4x4, refiriéndose al diagrama anterior, asegúrese de poner un '1' para' tw' y 0's para el resto de la fila inferior, y 0 para cada uno de tx, ty, tz. – bobobobo