Inicio › Temas › Geometría analítica
📐 Geometría analítica nivel medio
La hipérbola
Dos ramas y dos asíntotas: diferencia constante de distancias.
🕹️ Ábrelo en el curso interactivo (simulador y código ejecutable)
La idea
La hipérbola es el lugar geométrico de los puntos cuya diferencia de distancias a dos focos es constante en valor absoluto e igual a 2a. Está formada por dos ramas simétricas que se alejan indefinidamente acercándose a dos rectas, las asíntotas, sin tocarlas jamás.
Con centro en el origen y focos en el eje X, la ecuación es x²/a² − y²/b² = 1, con c² = a² + b² (obsérvese el signo más, a diferencia de la elipse). Las asíntotas son y = ±(b/a)x y la excentricidad e = c/a es siempre mayor que 1. Si los focos están en el eje Y, los papeles de x e y se intercambian.
La hipérbola equilátera xy = k es la gráfica de la proporcionalidad inversa: aparece siempre que dos magnitudes tienen producto constante, como presión y volumen de un gas a temperatura fija (ley de Boyle) o velocidad y tiempo para recorrer una distancia fija.
Fórmulas clave
- Canónica (focos en X)x²/a² − y²/b² = 1
- Focosc² = a² + b², F = (±c, 0)
- Asíntotasy = ± (b/a) x
- Excentricidade = c/a > 1
- Definición|d(P, F₁) − d(P, F₂)| = 2a
- Equiláterax y = k
Dónde se aplica
El sistema de navegación LORAN (y la localización de un teléfono a partir de las diferencias de tiempo de llegada a varias antenas) sitúa al receptor en la intersección de hipérbolas: una diferencia de tiempos fija equivale a una diferencia de distancias fija. Las centrales nucleares tienen torres de refrigeración con forma de hiperboloide, y los telescopios Cassegrain combinan un espejo parabólico con uno hiperbólico.
Con programación (Python)
import math
def hiperbola(a, b):
c = math.sqrt(a*a + b*b)
return dict(focos=((-c, 0), (c, 0)), asintotas=f"y = ±{b/a:.3f}x", excentricidad=c/a)
print(hiperbola(3, 4))
# Puntos de la rama derecha con x = a*cosh(t), y = b*senh(t)
a, b = 3, 4
c = math.sqrt(a*a + b*b)
for t in [0, 0.5, 1.0, 1.5, 2.0]:
x, y = a*math.cosh(t), b*math.sinh(t)
dif = abs(math.dist((x,y), (-c,0)) - math.dist((x,y), (c,0)))
print(f"t={t:.1f} P=({x:6.2f},{y:6.2f}) |d1-d2|={dif:.4f} y/x={y/x if x else 0:.3f}")La versión en JavaScript, editable y ejecutable en el navegador, está en la página interactiva del tema.