Traslación

9

Click here to load reader

Transcript of Traslación

Page 1: Traslación

Traslación (geometría)De Wikipedia, la enciclopedia libreSaltar a navegación, búsquedaPara otros usos de este término, véase Traslación (desambiguación).

Una traslación desplaza cada punto de una figura o espacio la misma cantidad en una determinada dirección.

Una reflexión respecto un eje seguida de otra reflexión respecto a otro eje paralelo al primero es equivalente a una traslación.

En geometría, una traslación es una isometría en el espacio euclídeo caracterizada por un vector , tal que, a cada punto P de un objeto o figura se le hace corresponder otro punto P' , tal que:

[editar] Definición de traslaciones

Las traslaciones pueden entenderse como movimientos directos sin cambios de orientación, es decir, mantienen la forma y el tamaño de las figuras u objetos trasladados, a las cuales

Page 2: Traslación

deslizan según el vector. Dado el carácter de isometría para cualesquiera puntos P y Q se cumple la siguiente identidad entre distancias:

Más aún se cumple que:

Notas:

1. La figura trasladada es idéntica a la figura inicial.2. La figura trasladada conserva la misma orientación que la figura original.

[editar] Representación matricial

Puesto que una traslación es un caso particular de transformación afín pero no una transformación lineal, generalmente se usan coordenadas homogéneas para representar la traslación mediante una matriz y poder así expresarla como una transformación lineal sobre un espacio de dimensión superior.

Así un vector tridimensional w = (wx, wy, wz) puede ser reescrito usando cuatro coordenadas homogéneas comow = (wx, wy, wz, 1). En esas condiciónes una traslación puede ser repretentada por una matriz como:

Ya que como puede verse, la multiplicación de esta matriz por la representación en coordenadas homogéneas de un vector da lugar al resultado esperado:

La inversa de una matriz de traslación puede obtenerse cambiando el signo de la dirección del vector desplazamiento

Page 3: Traslación

Similarmente, el producto de dos matrices de traslación viene dado por:

Debido a que la suma de vectores es conmutativa, la multiplicaciónde matrices de traslación es también conmutativa, a diferencia de lo que sucede con matrices arbitrarias, que no necesariamente representan traslaciones.

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Representación matricial de transformacionesVisual Studio 2005Otras versiones

Una matriz m×n es un conjunto de números organizados en m filas y n columnas. En la siguiente ilustración se muestran varias matrices.

Es posible sumar dos matrices del mismo tamaño mediante la adición de elementos individuales. En la siguiente ilustración se muestran dos ejemplos de adición de matrices.

Page 4: Traslación

Una matriz m×n puede multiplicarse por una matriz n×p y el resultado es una matriz m×p. El número de columnas de la primera matriz debe coincidir con el número de filas de la segunda matriz. Por ejemplo, una matriz 4x2 puede multiplicarse por una matriz 2×3 para generar una matriz 4×3.

Los puntos en el plano y las filas y columnas de una matriz pueden considerarse como vectores. Por ejemplo, (2, 5) es un vector con dos componentes, y (3, 7, 1) es un vector con tres componentes. El producto de puntos de dos vectores se define de esta forma:

(a, b) • (c, d) = ac + bd

(a, b, c) • (d, e, f) = ad + be + cf

Por ejemplo, el producto de puntos de los vectores (2, 3) y (5, 4) es (2)(5) + (3)(4) = 22. El producto de puntos de los vectores (2, 5, 1) y (4, 3, 1) es (2)(4) + (5)(3) + (1)(1) = 24. Observe que el producto de puntos de dos vectores es un número, no otro vector. Observe también que sólo se puede calcular el producto de puntos de dos vectores si éstos tienen el mismo número de componentes.

Consideremos que A(i, j) es una entrada de la matriz A, en la fila i, columna j. Por ejemplo, A(3, 2) es la entrada de la matriz A situada en la tercera fila y la segunda columna. Supongamos que A, B y C son matrices, y que AB = C. Las entradas de C se calculan de esta forma:

C(i, j) = (fila i de A) • (columna j de B)

En la siguiente ilustración se muestran varios ejemplos de multiplicación de matrices.

Page 5: Traslación

Si se considera un punto en un plano como una matriz 1x2, se puede transformar dicho punto multiplicándolo por una matriz 2x2. En la siguiente ilustración se muestran varias transformaciones que se han aplicado al punto (2, 1).

Todas las transformaciones que se muestran en la ilustración anterior son transformaciones lineales. Otros tipos de transformaciones, como la traslación, no son lineales y no pueden expresarse en forma de multiplicación por una matriz 2x2. Supongamos que se desea rotar 90 grados, trasladar 3 unidades en la dirección del eje x y trasladar 4 unidades en la dirección del eje y al punto (2, 1). Todo esto puede realizarse mediante una multiplicación de matrices seguida de una adición de matrices.

Page 6: Traslación

Se denomina transformación afín a una transformación lineal (multiplicación por una matriz 2x2) seguida de una traslación (adición de una matriz 1x2). Una alternativa al almacenamiento de una transformación afín en un par de matrices (una para la parte lineal y otra para la traslación) es el almacenamiento de toda la transformación en una matriz 3x3. Para que esto funcione, hay que almacenar un punto del plano en una matriz 1x3 con una tercera coordenada ficticia. La técnica más habitual es hacer que todas las terceras coordenadas sean igual a 1. Por ejemplo, el punto (2, 1) viene representado por la matriz [2 1 1]. En la siguiente ilustración se muestra una transformación afín (rotación de 90 grados, y traslación de 3 unidades en la dirección del eje x y de 4 unidades en la dirección del eje y) que se expresa como la multiplicación por una única matriz 3x3.

En el ejemplo anterior, el punto (2, 1) se asigna al punto (2, 6). Tenga en cuenta que la tercera columna de la matriz 3x3 contiene los números 0, 0, 1. Esto siempre será así para el caso de la matriz 3x3 de una transformación afín. Los números importantes son los seis números de las columnas 1 y 2. La parte superior izquierda 2x2 de la matriz representa la parte lineal de la transformación y las dos primeras entradas de la tercera fila representan la traslación.

En GDI+ es posible almacenar una transformación afín en un objeto Matrix. Como la tercera columna de una matriz que representa una transformación afín siempre es (0, 0, 1), cuando se construye un objeto Matrix sólo se especifican los seis números de las dos primeras columnas. La instrucción Matrix myMatrix = new Matrix(0, 1, -1, 0, 3, 4) crea la matriz mostrada en la figura anterior.

Transformaciones compuestas

Una transformación compuesta es una secuencia de transformaciones, una tras otra. Observe las matrices y las transformaciones de la siguiente lista:

Matriz A Rotación de 90 grados

Matriz B Ajuste de escala en un factor de 2 en la dirección del eje x

Matriz C Traslación de 3 unidades en la dirección del eje y

Si se comienza con el punto (2, 1), representado por la matriz [2 1 1], y se multiplica por A, después por B y después por C, el punto (2, 1) experimentará las tres transformaciones en el orden indicado.

Page 7: Traslación

[2 1 1]ABC = [-2 5 1]

En lugar de almacenar las tres partes de la transformación compuesta en tres matrices diferentes, se pueden multiplicar A, B y C a la vez para obtener una única matriz 3x3 que almacene toda la transformación compuesta. Imagine que ABC = D. En este caso, un punto multiplicado por D da el mismo resultado que un punto multiplicado por A, después por B y después por C.

[2 1 1]D = [-2 5 1]

En la siguiente ilustración se muestran las matrices A, B, C y D.

El hecho de que la matriz de una transformación compuesta pueda crearse multiplicando matrices de transformación individuales significa que cualquier secuencia de transformaciones afines puede almacenarse en un único objeto Matrix.

PrecauciónEl orden de una transformación compuesta es importante. En general, un orden de

rotación, ajuste de escala y traslación no es lo mismo que un orden de ajuste de escala,

rotación y traslación. Análogamente, el orden de multiplicación de matrices es

importante. En general, ABC no es lo mismo que BAC.

La clase Matrix proporciona varios métodos para crear una transformación compuesta: Multiply, Rotate, RotateAt, Scale, Shear y Translate. En el siguiente ejemplo se crea la matriz de una transformación compuesta que, primero, rota 30 grados, después ajusta la escala en un factor de 2 en la dirección del eje y, y después se traslada 5 unidades en la dirección del eje x:

VBC#C++F#JScript

Page 8: Traslación

CopiarMatrix myMatrix = new Matrix();myMatrix.Rotate(30);myMatrix.Scale(1, 2, MatrixOrder.Append);myMatrix.Translate(5, 0, MatrixOrder.Append);

En la siguiente ilustración se muestra la matriz.

Vea también

Otros recursos

Sistemas de coordenadas y transformacionesTransformaciones