28. Elipses

Una elipse generaliza al círculo mediante dos escalas perpendiculares. Su geometría combina centro, semiejes y focos, y resulta esencial para órbitas, interfaces, sombras, colisiones y trayectorias 2D.

28.1 Introducción

Una elipse es una curva cerrada y simétrica. Puede imaginarse como un círculo estirado, aunque su definición geométrica más profunda utiliza dos puntos llamados focos.

El círculo es un caso particular: aparece cuando las dos dimensiones principales son iguales y los focos coinciden con el centro.

28.2 Definición mediante los focos

Dados dos focos F₁ y F₂, una elipse contiene todos los puntos P para los cuales la suma de las distancias a esos focos es constante:

distancia(P,F₁) + distancia(P,F₂) = 2a

Esta propiedad explica el método de la cuerda: se fijan sus extremos en los focos, se mantiene tensa con un lápiz y se recorre la curva.

28.3 Centro, ejes y vértices

  • Centro C: punto medio entre los focos y centro de simetría.
  • Eje mayor: diámetro más largo; mide 2a.
  • Eje menor: diámetro perpendicular; mide 2b.
  • Semiejes a y b: mitades de los ejes, con a≥b>0.
  • Vértices: cuatro extremos de ambos ejes.

Si el eje mayor es horizontal, los vértices principales son (cx±a,cy); los secundarios son (cx,cy±b).

28.4 Interpretación visual

Elipse con centro, semiejes, focos, punto y propiedad de suma de distancias
Los focos se sitúan simétricamente sobre el eje mayor y todo punto P del borde cumple PF₁+PF₂=2a.

28.5 Ecuación cartesiana

Para una elipse horizontal con centro C=(cx,cy), semieje mayor a y semieje menor b:

(x−cx)²/a² + (y−cy)²/b² = 1

Un resultado menor que 1 indica un punto interior; igual a 1, un punto del borde; mayor que 1, un punto exterior. Si el eje mayor es vertical, a² queda bajo el término y.

28.6 Distancia focal y excentricidad

La distancia desde el centro hasta cada foco se denomina c:

c = √(a²−b²)
F₁=(cx−c,cy)   F₂=(cx+c,cy)
e=c/a

La excentricidad e mide cuánto se aparta la elipse de un círculo. Siempre cumple 0≤e<1: e=0 produce un círculo y valores cercanos a 1 producen elipses alargadas.

28.7 Parametrización por ángulo

Una forma práctica de generar puntos del borde es:

x=cx+a·cos θ
y=cy+b·sen θ   para 0≤θ<2π

El parámetro θ recorre la elipse completa, pero no es el ángulo polar ordinario de P salvo cuando a=b. Incrementos iguales de θ tampoco producen, en general, distancias iguales sobre la curva.

28.8 Área y perímetro

El área tiene una fórmula exacta sencilla:

Área = πab

El perímetro no posee una fórmula elemental. Una aproximación de Ramanujan suficientemente precisa para gráficos es:

h=(a−b)²/(a+b)²
Perímetro ≈ π(a+b)[1 + 3h/(10+√(4−3h))]

28.9 Elipse rotada

Para rotar la elipse un ángulo φ, primero generamos un punto local (a cos θ,b sen θ), luego aplicamos una rotación y finalmente trasladamos al centro:

x=cx+a cosθ cosφ−b senθ senφ
y=cy+a cosθ senφ+b senθ cosφ

Los focos también rotan: parten de las posiciones locales (−c,0) y (c,0). Trabajar primero en coordenadas locales simplifica dibujo, colisiones y transformaciones.

28.10 Simulación interactiva

Modifica los semiejes, la rotación y la posición del punto P. Se muestran los focos, los segmentos focales y las principales medidas de la elipse.

Distancia focal c4.00
Excentricidad0.80
Área47.12
PF₁ + PF₂10.00

28.11 Generar puntos de una elipse

Sin utilizar Canvas, podemos calcular puntos del borde mediante la parametrización de la elipse.

const centro = { x: 2, y: 1 };
const semiejeA = 5;
const semiejeB = 3;
const cantidad = 8;

for (let i = 0; i < cantidad; i++) {
  const angulo = i * Math.PI * 2 / cantidad;
  const x = centro.x + semiejeA * Math.cos(angulo);
  const y = centro.y + semiejeB * Math.sin(angulo);
  console.log(`Punto ${i + 1}: (${x.toFixed(2)}, ${y.toFixed(2)})`);
}

Al presionar Ejecutar, se muestran ocho puntos distribuidos sobre una elipse con centro (2,1) y semiejes 5 y 3. Los semiejes deben ser positivos y los ángulos se expresan en radianes.

28.12 Pertenencia y coordenadas locales

function estaDentroElipse(p, centro, a, b, angulo) {
  const dx = p.x - centro.x;
  const dy = p.y - centro.y;
  const cos = Math.cos(-angulo);
  const sin = Math.sin(-angulo);
  const x = dx * cos - dy * sin;
  const y = dx * sin + dy * cos;
  return (x*x)/(a*a) + (y*y)/(b*b) <= 1;
}

const centro = { x: 0, y: 0 };
const a = 5;
const b = 3;
const rotacion = 30 * Math.PI / 180;
const puntos = [
  { x: 1, y: 1 },
  { x: 4, y: 2 },
  { x: 7, y: 0 }
];

puntos.forEach(punto => {
  const resultado = estaDentroElipse(punto, centro, a, b, rotacion);
  console.log(`(${punto.x}, ${punto.y}): ${resultado ? "dentro" : "fuera"}`);
});

Al presionar Ejecutar, se comprueba la pertenencia de tres puntos a una elipse rotada 30°. La rotación inversa lleva cada punto al sistema local no rotado; allí se utiliza directamente la ecuación cartesiana.

28.13 Aplicaciones y errores comunes

Las elipses aparecen en órbitas, sombras, reflectores, pistas, interfaces ovaladas, pinceles, partículas, áreas de influencia y aproximaciones de colisión.

Ejemplo animado: sistema orbital elíptico

El planeta recorre una elipse rotada y deja una estela. Las líneas hacia los focos permiten comprobar que PF₁+PF₂=2a, mientras un pequeño satélite gira alrededor del planeta con una órbita propia.

F₁ F₂ x=cx+a·cos(θ) · y=cy+b·sen(θ)
PF₁ + PF₂ = 600.00 px

Errores comunes

  • Confundir semiejes a y b con los diámetros completos.
  • Calcular c con a²+b² en lugar de a²−b².
  • Suponer que el parámetro θ es siempre el ángulo polar.
  • Usar la ecuación sin restar primero el centro.
  • Olvidar desrotar el punto antes de comprobar una elipse rotada.
  • Escalar el trazo además de la figura al usar transformaciones del contexto.

28.14 Qué debes recordar y conclusión

  • La suma de distancias desde P a los focos es 2a.
  • La ecuación estándar es (x−cx)²/a²+(y−cy)²/b²=1.
  • c²=a²−b² y la excentricidad es e=c/a.
  • La parametrización es (cx+a cosθ,cy+b senθ).
  • El área vale πab.
  • Una elipse rotada se comprende mejor en coordenadas locales.

La elipse reúne distancia, trigonometría y transformaciones en una curva flexible. Comprender sus representaciones permite elegir la técnica adecuada para dibujarla, animarla o detectar puntos en su interior.

En el próximo tema estudiaremos rectángulos y cuadrados.