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.
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.
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:
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.
Si el eje mayor es horizontal, los vértices principales son (cx±a,cy); los secundarios son (cx,cy±b).
Para una elipse horizontal con centro C=(cx,cy), semieje mayor a y semieje menor b:
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.
La distancia desde el centro hasta cada foco se denomina c:
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.
Una forma práctica de generar puntos del borde es:
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.
El área tiene una fórmula exacta sencilla:
El perímetro no posee una fórmula elemental. Una aproximación de Ramanujan suficientemente precisa para gráficos es:
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:
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.
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.
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.
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.
Las elipses aparecen en órbitas, sombras, reflectores, pistas, interfaces ovaladas, pinceles, partículas, áreas de influencia y aproximaciones de colisión.
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.
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.