🧮 Computational Mathematics

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

080 — Capstone: motor geométrico 2D

basico-intermedio clase 20 de 20 4 horas demostración capstone_geometry_engine

El área de un polígono transformado es la original multiplicada por el valor absoluto del determinante.

Fórmulas

fórmula del cordón: A = ½|Σ(xᵢyᵢ₊₁ − xᵢ₊₁yᵢ)|
A' = |det M| · A

Desarrollo

El capstone reúne las tres ideas centrales de la parte: una matriz es una transformación, componerlas es multiplicarlas, y el determinante mide cómo cambian las áreas. Se construye un motor mínimo que aplica una transformación compuesta a un polígono y comprueba la relación entre áreas.

El área se calcula con la fórmula del cordón (o de Gauss), que suma productos cruzados de vértices consecutivos. Es un resultado notable: el área de un polígono arbitrario se obtiene recorriendo su frontera, sin necesidad de triangularlo. El signo de la suma indica además el sentido del recorrido, información que se usa para detectar orientación en geometría computacional.

La verificación central es que área_transformada = |det M| · área_original. Que se cumpla para un cuadrado rotado y escalado no es sorprendente; que se cumpla para cualquier polígono es el contenido geométrico del determinante, y comprobarlo numéricamente cierra la parte con una relación que se usará en integración múltiple y en transformación de densidades.

Un motor así, con unas pocas decenas de líneas, es el núcleo de cualquier sistema de gráficos 2D. Lo que añaden las bibliotecas reales es rendimiento, antialiasing y gestión de recursos; la matemática es exactamente esta.

Ejemplo trabajado

Cuadrado unitario rotado 45° y escalado ×2.

polígono original: (0,0), (1,0), (1,1), (0,1)
área (cordón): 1.0

M = R(45°) · S(2)
  = [[1.414, −1.414], [1.414, 1.414]]

polígono transformado:
  (0,0), (1.414, 1.414), (0, 2.828), (−1.414, 1.414)

área transformada: 4.0
det M = 1.414² + 1.414² = 4.0

Verificación: 1.0 × |4.0| = 4.0     ✓

Qué calcula el laboratorio

Capstone: motor 2D que compone transformaciones sobre un polígono.

python classes/part-03-geometria-trigonometria-y-geometria-analitica/080-capstone-motor-geometrico-2d/lab.py
compmath run 080

Salidas del laboratorio (7)

Muestra de la ejecución real

{
  "poligono_original": [
    [
      0.0,
      0.0
    ],
    [
      1.0,
      0.0
    ],
    [
      1.0,
      1.0
    ],
    [
      0.0,
      1.0
    ]
  ],
  "matriz_compuesta": [
    [
      1.414214,
      -1.414214
    ],
    [
      1.414214,
      1.414214
    ]
  ],
  "poligono_transformado": [
    [
      0.0,
      0.0
    ],
    [
      1.414214,
      1.414214
    ],
    [
      0.0,
      2.828427
    ],
    [
      -1.414214,
      1.414214
    ]
  ],
  "area_original": 1.0,
  "area_transformada": 4.000001,
  "determinante": 4.0
}

Errores comunes

Dónde se usa

Motores gráficos 2D, cálculo de áreas en SIG, detección de orientación de polígonos y cambio de variable en integrales.

Idea rectora de la parte

Las coordenadas homogéneas convierten la traslación en multiplicación.

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