Ya ha observado el mal efecto si utiliza $-s$ y $s$ en los términos no diagonales de su matriz de "cizallamiento" (haciendo una matriz antisimétrica) -- la matriz no sólo mira como una matriz de rotación, en realidad es una rotación y un escalado combinados.
Cambiar la forma de la matriz a una matriz simétrica no ayuda porque $$ \begin{bmatrix} 1 & s \\ s & 1 \end{bmatrix} = \begin{bmatrix} \cos\left(-\frac\pi4\right) & -\sin\left(-\frac\pi4\right) \\ \sin\left(-\frac\pi4\right) & \cos\left(-\frac\pi4\right) \end{bmatrix} \begin{bmatrix} 1 - s & 0 \\ 0 & 1 + s \end{bmatrix} \begin{bmatrix} \cos\left(\frac\pi4\right) & -\sin\left(\frac\pi4\right) \\ \sin\left(\frac\pi4\right) & \cos\left(\frac\pi4\right) \end{bmatrix}. $$ Es decir, el efecto de la matriz simétrica es el que obtenemos al girar $\frac\pi4$ radianes en sentido contrario a las agujas del reloj, dilatando en un factor $1-s$ en la dirección de la $x$ eje y $1+s$ en la dirección de la $y$ eje, y girando hacia atrás por $\frac\pi4$ radianes en el sentido de las agujas del reloj. Equivalentemente, es una dilatación por $1-s$ en la dirección del vector $[1,-1]^T$ y una dilatación por $1+s$ en la dirección del vector $[1,1]^T.$
Como forma más concreta de verlo, basta con observar lo que la transformación hace al cuadrado unitario: lo deforma en un rombo para cualquier valor de $s.$ Se trata simplemente de estirarla, comprimirla o incluso reflejarla a lo largo de sus dos diagonales; no hay ningún cizallamiento.
Por otro lado, si se observa el efecto en el cuadrado unitario de una transformación por la matriz $$ \begin{bmatrix} 1 & s \\ 0 & 1 \end{bmatrix}, $$ es claramente una transformación de cizalla: los vértices $(0,0)$ y $(1,0)$ no se ven afectados, mientras que los vértices $(0,1)$ y $(1,1)$ se mueven ambos $s$ unidades a la derecha.
Ahora vamos a ver cómo podemos descomponer un $2\times2$ en matrices para la rotación, la escala y el cizallamiento. Comenzamos con $$ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}. $$ (Como sólo hay cuatro entradas, me parece bastante sencillo seguirlas por su nombre en lugar de por subíndices, y las fórmulas estarán menos "ocupadas" de esta manera). Obsérvese lo que ocurre si aplicamos una rotación de $\theta$ radianes a esta matriz: $$ \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} \begin{bmatrix} a & b \\ c & d \end{bmatrix} = \begin{bmatrix} a \cos\theta - c \sin\theta & b \cos\theta - d \sin\theta \\ c \cos\theta + a \sin\theta & d \cos\theta + b \sin\theta \end{bmatrix}. $$ Dejemos que $\theta = -\operatorname{atan2}(c, a)$ donde $\operatorname{atan2}$ es la función de arco tangente de dos parámetros (véase esta respuesta para una definición). A continuación, $\sin\theta = -\frac{c}{\sqrt{a^2+c^2}}$ y $\cos\theta = \frac{a}{\sqrt{a^2+c^2}}$ , así que $c \cos\theta + a \sin\theta = 0.$ Definir una matriz de rotación $Q$ (no $R$ ; reservemos el nombre $R$ para más tarde) por $$ Q = \begin{bmatrix}\cos\theta & -\sin\theta \\ \sin\theta & \cos\theta\end{bmatrix}. $$ Entonces $$ Q A = \begin{bmatrix} a \cos\theta - c \sin\theta & b \cos\theta - d \sin\theta \\ 0 & d \cos\theta + b \sin\theta \end{bmatrix}. $$ Supongamos que $a \cos\theta - c \sin\theta \neq 0$ y $d \cos\theta + b \sin\theta \neq 0.$ (La alternativa es que la matriz $QA$ es una proyección y, por tanto, también lo es la matriz original $A$ .) Definir una matriz de escala $N$ (guardando el nombre $M$ para más tarde) por $$ N = \begin{bmatrix} \frac{1}{a \cos\theta - c \sin\theta} & 0 \\ 0 & \frac{1}{d \cos\theta + b \sin\theta} \end{bmatrix}. $$ Entonces $$ NQA = \begin{bmatrix} 1 & \frac{b\cos\theta - d\sin\theta}{a\cos\theta - c\sin\theta}\\ 0 & 1 \end{bmatrix}. $$ Esto es una cizalla. Así que dejemos $NQA = S$ y multiplicar ambos lados de la ecuación por $Q^{-1}N^{-1}$ Entonces $$ A = Q^{-1} N^{-1} S = RMS $$ donde \begin{align} R &= Q^{-1} = \begin{bmatrix} \cos\theta & \sin\theta \\ -\sin\theta & \cos\theta \end{bmatrix} = \begin{bmatrix} \frac{a}{\sqrt{a^2 + c^2}} & \frac{-c}{\sqrt{a^2 + c^2}} \\ \frac{c}{\sqrt{a^2 + c^2}} & \frac{a}{\sqrt{a^2 + c^2}} \end{bmatrix} , \\ M &= N^{-1} = \begin{bmatrix} a \cos\theta - c \sin\theta & 0 \\ 0 & d \cos\theta + b \sin\theta \end{bmatrix} = \begin{bmatrix} \sqrt{a^2 + c^2} & 0 \\ 0 & \frac{ad-bc}{\sqrt{a^2 + c^2}} \end{bmatrix} , \\ S &= \begin{bmatrix} 1 & \frac{b\cos\theta - d\sin\theta}{a\cos\theta - c\sin\theta}\\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 1 & \frac{ab + cd}{a^2 + c^2} \\ 0 & 1 \end{bmatrix} . \Fin
Esto es bueno para todas las matrices $A$ excepto en el caso de que $a = c = 0,$ que es una proyección y, por lo tanto, presumiblemente no es lo que se utilizaría para "corregir" las posiciones de los puntos. Sin embargo, para completar, si $a = c = 0$ y $b^2 + d^2 \neq 0$ podemos escribir $$ A = \begin{bmatrix} 0 & b \\ 0 & d \end{bmatrix} = \begin{bmatrix} \frac{d}{\sqrt{b^2 + d^2}} & \frac{b}{\sqrt{b^2 + d^2}} \\ \frac{-b}{\sqrt{b^2 + d^2}} & \frac{d}{\sqrt{b^2 + d^2}} \end{bmatrix} \begin{bmatrix} 0 & 0 \\ 0 & \sqrt{b^2 + d^2} \end{bmatrix} \begin{bmatrix} 1 & s \\ 0 & 1 \end{bmatrix} $$ donde $s$ es lo que quieras, es decir, $A=RMS$ donde $R$ es una rotación, $M$ es una matriz de escala (donde $m_x = 0$ ) y $S$ es una cizalla.
Y en el caso final, $a = b = c = d,$ Obviamente, se puede establecer $M$ a la matriz cero (es decir, $m_x = m_y = 0$ ) y utilizar la cizalla y la rotación que desee.
Así que, efectivamente, siempre es posible descomponer $A$ en un producto de la forma $RMS,$ incluso en los casos que probablemente no le interesen.
Esto sugiere que es posible utilizar otra secuencia como $RSM,$ y, efectivamente, esa secuencia concreta es posible. En el $RMS$ el siguiente paso después de poner a cero la esquina inferior izquierda (a través de la rotación) fue escalar para que las diagonales sean $1$ (lo que da inmediatamente una matriz de cizallamiento); para $RSM,$ utilicemos una cizalla para producir una matriz diagonal. Es decir, construyendo $Q$ como antes tenemos $$ Q A = \begin{bmatrix} a \cos\theta - c \sin\theta & b \cos\theta - d \sin\theta \\ 0 & d \cos\theta + b \sin\theta \end{bmatrix}. $$ Una cizalla paralela a la $x$ no afectará a la primera columna de esta matriz, pero el efecto sobre la segunda columna puede verse en $$ \begin{bmatrix} 1 & t \\ 0 & 1 \end{bmatrix} \begin{bmatrix} b \cos\theta - d \sin\theta \\ d \cos\theta + b \sin\theta \end{bmatrix} = \begin{bmatrix} t(d\cos\theta + b\sin\theta) + b\cos\theta - d\sin\theta \\ d \cos\theta + b \sin\theta \end{bmatrix}. $$ Necesitamos $t(d\cos\theta + b\sin\theta) + b\cos\theta - d\sin\theta = 0,$ que obtenemos fijando $t = \frac{d\sin\theta - b\cos\theta}{d\cos\theta + b\sin\theta}.$
pero la derivación podría ser un poco más difícil de encontrar (no lo he intentado) y deberíamos esperar que las fórmulas resultantes sean bastante diferentes. Entonces $$ TQA = \begin{bmatrix} a \cos\theta - c \sin\theta & 0 \\ 0 & d \cos\theta + b \sin\theta \end{bmatrix} $$ donde $T$ es la matriz de cizallamiento $$ T = \begin{bmatrix} 1 & \frac{d\sin\theta - b\cos\theta}{d\cos\theta + b\sin\theta}\\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 1 & -\frac{ab + cd}{ad - bc} \\ 0 & 1 \end{bmatrix} $$ Vemos que $M = TQA$ es una matriz de escala, por lo que tenemos $A = RSM$ donde \begin{align} R &= Q^{-1} = \begin{bmatrix} \cos\theta & \sin\theta \\ -\sin\theta & \cos\theta \end{bmatrix} = \begin{bmatrix} \frac{a}{\sqrt{a^2 + c^2}} & \frac{-c}{\sqrt{a^2 + c^2}} \\ \frac{c}{\sqrt{a^2 + c^2}} & \frac{a}{\sqrt{a^2 + c^2}} \end{bmatrix} , \\ S &= T^{-1} = \begin{bmatrix} 1 & \frac{ab + cd}{ad - bc} \\ 0 & 1 \end{bmatrix} , \\ M &= \begin{bmatrix} a \cos\theta - c \sin\theta & 0 \\ 0 & d \cos\theta + b \sin\theta \end{bmatrix} = \begin{bmatrix} \sqrt{a^2 + c^2} & 0 \\ 0 & \frac{ad - bc}{\sqrt{a^2 + c^2}} \end{bmatrix} . \Fin Es decir, el $RSM$ La descomposición es igual que la $RMS$ descomposición, excepto el factor de cizallamiento.