🧮 Computational Mathematics

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

074 — Rotaciones 2D

basico-intermedio clase 14 de 20 4 horas demostración rotation_2d

Una matriz de rotación es ortogonal y de determinante 1: preserva normas, ángulos y orientación.

Fórmulas

R(θ) = [[cos θ, −sin θ], [sin θ, cos θ]]
RᵀR = I,  det R = 1
R(α)·R(β) = R(α+β)

Desarrollo

La matriz de rotación se construye viendo a dónde van los vectores de la base: (1,0) va a (cos θ, sin θ) y (0,1) va a (−sin θ, cos θ). Esas dos imágenes son las columnas de la matriz. Este método —las columnas de una matriz son las imágenes de la base— es general y es la forma correcta de leer cualquier matriz de transformación (clase 123).

Dos propiedades la caracterizan. Es ortogonal, RᵀR = I, lo que significa que su inversa es su transpuesta: deshacer una rotación es transponer, sin necesidad de invertir. Y su determinante es 1, lo que indica que preserva áreas y orientación (una reflexión tendría determinante −1).

La consecuencia numérica es importante: las transformaciones ortogonales no amplifican el error. Su número de condición es 1, el mejor posible. Por eso los algoritmos numéricamente estables se construyen con rotaciones y reflexiones (Givens, Householder) en lugar de con transformaciones generales, y por eso la factorización QR es preferible a las ecuaciones normales (clase 234).

La composición de rotaciones suma ángulos, R(α)R(β) = R(α+β), lo que se demuestra con las fórmulas de suma de la clase 066. En 2D las rotaciones conmutan; en 3D no, y esa es una de las diferencias más importantes entre ambos casos.

Ejemplo trabajado

Rotar (1,0) noventa grados.

R(90°) = [[cos 90, −sin 90], [sin 90, cos 90]]
       = [[0, −1], [1, 0]]

R·(1,0) = (0, 1)          ✓ el eje x va al eje y

det R = 0·0 − (−1)·1 = 1            ✓ preserva área y orientación
RᵀR   = [[1,0],[0,1]] = I           ✓ ortogonal

‖(1,0)‖ = 1,  ‖R(1,0)‖ = 1          ✓ preserva la norma

Cuatro rotaciones de 90° = identidad

Qué calcula el laboratorio

Matriz de rotación: ortogonal y de determinante 1.

python classes/part-03-geometria-trigonometria-y-geometria-analitica/074-rotaciones-2d/lab.py
compmath run 074

Salidas del laboratorio (7)

Muestra de la ejecución real

{
  "angulo_grados": 90.0,
  "matriz": [
    [
      0.0,
      -1.0
    ],
    [
      1.0,
      0.0
    ]
  ],
  "R·(1,0)": [
    0.0,
    1.0
  ],
  "determinante": 1.0,
  "RᵀR_es_identidad": [
    [
      1.0,
      0.0
    ],
    [
      0.0,
      1.0
    ]
  ],
  "preserva_la_norma": true
}

Errores comunes

Dónde se usa

Gráficos, robótica, aumento de datos por rotación, factorizaciones QR estables y transformaciones ortogonales en general.

Idea rectora de la parte

Componer transformaciones es multiplicar matrices, y el orden importa.

Error a evitar

Aplicar rotación y traslación en el orden equivocado.

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