Compartir a través de


Ampliación

La mayoría de las aplicaciones cad y dibujo proporcionan características que escalan la salida creada por el usuario. Las aplicaciones que incluyen funcionalidades de escalado (o zoom) llaman a la función SetWorldTransform para establecer el espacio mundial adecuado en la transformación de espacio de página. Esta función recibe un puntero a una estructura XFORM que contiene los valores adecuados. Los miembros eM11 y eM22 de XFORM especifican los componentes de escalado horizontal y vertical, respectivamente.

Cuando se produce el escalado , las líneas verticales y horizontales (o vectores), que constituyen un objeto, se estiran o comprimen con respecto al eje x o y. En la ilustración siguiente se muestra un rectángulo de 20 por 20 unidades escalado verticalmente a dos veces su altura original cuando se copia del espacio de coordenadas del mundo al espacio de coordenadas de página.

ilustración en la que se muestra un rectángulo pequeño en el espacio del mundo y uno más alto en el espacio de páginas

En la ilustración anterior, las líneas verticales que definen el lado del rectángulo original miden 20 unidades, mientras que las líneas verticales que definen los lados del rectángulo escalado miden 40 unidades.

El escalado vertical se puede representar mediante el siguiente algoritmo.

y' = y * Dy 

Donde y' es la nueva longitud, y es la longitud original y Dy es el factor de escala vertical.

El siguiente algoritmo puede representar el escalado horizontal.

x' = x * Dx 

Donde x' es la nueva longitud, x es la longitud original y Dx es el factor de escala horizontal.

Las transformaciones de escalado vertical y horizontal se pueden combinar en una sola operación mediante una matriz de 2 a 2.

|x' y'|  =  |Dx   0|  *  |x y| 
            |0   Dy| 

La matriz de 2 a 2 que produjo la transformación de escalado contiene los valores siguientes.

|1    0| 
|0    2|