Traducción
Algunas aplicaciones traducen (o desplazan) objetos dibujados en el área de cliente. llamando a la función SetWorldTransform para establecer el espacio mundial adecuado en la transformación espacio de página. La función SetWorldTransform recibe un puntero a una estructura XFORM que contiene los valores adecuados. Los miembros eDx y eDy de XFORM especifican los componentes de traducción horizontal y vertical, respectivamente.
Cuando se produce la traducción , cada punto de un objeto se desplaza verticalmente, horizontalmente o ambos, por una cantidad especificada. En la ilustración siguiente se muestra un rectángulo de 20 unidades que se traducía a la derecha en 10 unidades cuando se copiaba del espacio de coordenadas del mundo al espacio de coordenadas de página.
En la ilustración anterior, la coordenada x de cada punto del rectángulo es de 10 unidades mayores que la coordenada x original.
La traducción horizontal se puede representar mediante el siguiente algoritmo.
x' = x + Dx
Donde x' es la nueva coordenada x, x es la coordenada x original y Dx es la distancia horizontal que se mueve.
La traducción vertical se puede representar mediante el siguiente algoritmo.
y' = y + Dy
Donde y' es la nueva coordenada y, y es la coordenada y original, y Dy es la distancia vertical que se mueve.
Las transformaciones de traducción horizontal y vertical se pueden combinar en una sola operación mediante una matriz de 3 a 3.
|1 0 0|
|x' y' 1| = |x y 1| * |0 1 0|
|Dx Dy 1|
(Las reglas de multiplicación de matriz estados que el número de filas de una matriz debe ser igual al número de columnas de la otra. Entero 1 de la matriz |x y 1| es un marcador de posición que se agregó para cumplir este requisito).
La matriz 3 a 3 que produjo la transformación de traducción ilustrada contiene los siguientes valores.
|1 0 0|
|0 1 0|
|10 0 1|