Escalamiento
El escalamiento permite cambiar el tamaño de un objeto expandiéndolo o contrayéndolo en sus dimensiones.
El escalamiento permite cambiar el tamaño de un objeto expandiéndolo o contrayéndolo en sus dimensiones.
El escalamiento implica el cambio de un polígono, donde cada punto P = (x, y) es transformado por la multiplicación de dos factores de escalamiento: sx y sy, a lo largo de los ejes x y y respectivamente, de esta forma, las coordenadas del nuevo punto P’ = (x’, y’) se obtienen como
\begin{equation} \begin{split} x' = xs_x \\ y' = ys_y \end{split} \end{equation}
Sea s = (sx, sy) el vector de factores de escalamiento y S(s) la matriz de escalamiento, en coordenadas homogéneas el escalamiento de un punto P en 2D se puede expresar como el producto matricial P’ = P × S, es decir:
\begin{equation} \begin{bmatrix} x' & y' & 1 \end{bmatrix} = \begin{bmatrix} x & y & 1 \end{bmatrix} \, \begin{bmatrix} s_x & 0 & 0 \\ 0 & s_y & 0 \\ 0 & 0 & 1 \end{bmatrix} \end{equation}
Las ecuaciones se adecúan para escalar a partir de un punto fijo (xc, yc).
\begin{equation} \begin{split} x' = x_c + s_x(x - x_c) \\ y' = y_c + s_y(y - y_c) \end{split} \end{equation}
Y se siguen los mismos pasos que para la rotación general pero en este caso se usa la matriz de escalamiento S, de modo que P’ = P × T(-C) × S × T(C):
\begin{equation} \begin{bmatrix} x' & y' & 1 \end{bmatrix} = \begin{bmatrix} x & y & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ -c_x & -c_y & 1 \end{bmatrix} \begin{bmatrix} s_x & 0 & 0 \\ 0 & s_y & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ c_x & c_y & 1 \end{bmatrix} \end{equation}
Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0