🧮 Computational Mathematics

Inicio · Parte 03 — Geometría, trigonometría y geometría analítica

073 — Transformaciones: traslación y escala

basico-intermedio clase 13 de 20 4 horas demostración translation_scale

Las coordenadas homogéneas convierten la traslación —que no es lineal— en una multiplicación de matrices.

Fórmulas

punto homogéneo: (x, y, 1)
traslación: [[1,0,tx],[0,1,ty],[0,0,1]]
escala: [[sx,0,0],[0,sy,0],[0,0,1]]

Desarrollo

La traslación tiene un problema estructural: no es una transformación lineal. Una transformación lineal debe mandar el origen al origen, y trasladar precisamente lo mueve. Eso impide componerla con rotaciones y escalas usando un único producto de matrices, que es lo que la hace incómoda.

Las coordenadas homogéneas resuelven el problema con un truco elegante: se añade una coordenada extra fija a 1, de modo que un punto del plano se representa como (x, y, 1) en ℝ³. En ese espacio ampliado, la traslación es lineal, y se escribe como una matriz 3×3 cuya última columna contiene el desplazamiento.

La ganancia es enorme en la práctica. Toda la cadena de transformaciones de un vértice —modelo, mundo, vista, proyección— se compone en una única matriz que se calcula una vez y se aplica a millones de vértices con un solo producto. Es la razón por la que las GPU están optimizadas para multiplicar matrices 4×4.

El orden de composición importa y es la fuente de errores más común: T·S escala y luego traslada; S·T traslada y luego escala, con lo que el desplazamiento también se escala. El laboratorio comprueba que ambos productos dan resultados distintos, que es la forma más directa de recordarlo.

Ejemplo trabajado

Trasladar y escalar el punto (2,3), en los dos órdenes.

punto homogéneo: (2, 3, 1)

T (traslación +5, −2)     S (escala ×2, ×0.5)
[1 0  5]                  [2   0 0]
[0 1 −2]                  [0 0.5 0]
[0 0  1]                  [0   0 1]

T·(2,3,1) = (7, 1, 1)
S·(2,3,1) = (4, 1.5, 1)

T·S aplicado a (2,3,1) = (9, −0.5, 1)     escala y luego traslada
S·T aplicado a (2,3,1) = (14, −0.5, 1)    traslada y luego escala

¿iguales?  No.  El orden importa.

Qué calcula el laboratorio

Traslación y escala en coordenadas homogéneas.

python classes/part-03-geometria-trigonometria-y-geometria-analitica/073-transformaciones-traslacion-y-escala/lab.py
compmath run 073

Salidas del laboratorio (6)

Muestra de la ejecución real

{
  "punto_homogeneo": [
    2.0,
    3.0,
    1.0
  ],
  "trasladado": [
    7.0,
    1.0,
    1.0
  ],
  "escalado": [
    4.0,
    1.5,
    1.0
  ],
  "escala_luego_traslada": [
    9.0,
    -0.5,
    1.0
  ],
  "traslada_luego_escala": [
    14.0,
    0.5,
    1.0
  ],
  "el_orden_importa": true
}

Errores comunes

Dónde se usa

Pipeline gráfico, robótica (matrices de transformación homogénea entre articulaciones), visión artificial y cualquier composición de transformaciones afines.

Idea rectora de la parte

El producto punto mide alineación; la norma mide magnitud.

Error a evitar

Mezclar grados y radianes en la misma expresión.

Conexión con IA

Las transformaciones geométricas son el caso visual de las transformaciones lineales que una red aplica a sus activaciones; la similitud coseno es trigonometría en alta dimensión.

Bibliografía de la clase

Archivos de la clase