Pregunta

Me pregunto si es posible (y si es entonces cómo) para volver a presentar una transformación arbitraria matriz M3 como una secuencia de transformaciones más simples (como traducir, escala, sesgar, rotar)

En otras palabras: la forma de calcular MTranslate, mScale, MRotate, matrices MSkew de la MComplex de modo que la siguiente ecuación sería cierto:

MComplex = MTranslate * mScale * MRotate * MSkew (o en otro orden)

¿Fue útil?

Solución

descomposición en valores singulares (véase también este blog y esto PDF ). Resulta una matriz arbitraria en una composición de 3 matrices: ortogonal + diagonal + ortogonal. Las matrices ortogonales son matrices de rotación; la matriz diagonal representa sesgando largo de los ejes primarios = escalado.

La traducción lanza una llave inglesa en el juego, pero lo que debe hacer es sacar la parte traducción de la matriz por lo que tiene una matriz 3x3, ejecute SVD en que para darle la rotación + sesgo, a continuación, añadir la traducción parte de nuevo. de esa manera usted tendrá una escala de rotación + + + rotación traducir composición de 4 matrices. Es probable que sea posible hacer esto en 3 matrices (rotación + raspado a lo largo de un conjunto de ejes + traducción), pero no estoy seguro de cómo ... tal vez una descomposición QR (Q = = ortogonal de rotación, pero no estoy seguro de si el R es skew de sólo o tiene una parte de rotación.)

Otros consejos

Sí, pero la solución no será única. También se debe poner en lugar de la traducción en el extremo (el orden del resto no importa)

Para cualquier A dado matriz cuadrada existe infinitamente muchos matrices B y C para que A = B*C. Elija cualquier B matriz invertible (lo que significa que B ^ -1 existe o det (B)! = 0) y ahora C = B^-1*A.

Así que para su solución primero se descomponen en MC MT y MS*MR*MSk*I, la elección de MT para ser alguna matriz invertible transposición. Entonces descomponer el resto en MS y MR*MSk*I de modo que la EM es la matriz de escala arbitraria. Y así sucesivamente ...

Ahora bien, si al final de la I diversión es una matriz de identidad (con 1 en la diagonal, 0 en otro lugar) ya está bueno. Si no es así, empezar de nuevo, pero elegir diferentes matrices ;-)

De hecho, utilizando el método anterior simbólicamente puede crear conjunto de ecuaciones que producirán que un fórmulas parametrizadas para todas estas matrices.

¿Qué tan útiles serían estas descomposiciones para usted, también -. Eso es otra historia

Si escribe esto en Mathematica o Maxima que va a calcular esto para usted en ningún momento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top