Inicio › Temas › Geometría analítica
📐 Geometría analítica nivel básico
La circunferencia
Todos los puntos a la misma distancia de un centro: ecuación, tangentes y posiciones relativas.
🕹️ Ábrelo en el curso interactivo (simulador y código ejecutable)
La idea
Una circunferencia es el lugar geométrico de los puntos que están a una distancia fija r (el radio) de un punto fijo C (el centro). Traducido a coordenadas, esa definición es la ecuación canónica (x − h)² + (y − k)² = r², que no es más que la fórmula de la distancia elevada al cuadrado.
Desarrollando los cuadrados se llega a la forma general x² + y² + Dx + Ey + F = 0. El camino inverso, completar cuadrados, permite recuperar centro y radio de cualquier ecuación de ese tipo. Si al completar cuadrados el «radio al cuadrado» sale negativo, la ecuación no representa ningún punto real.
Una recta puede ser exterior, tangente o secante a la circunferencia según que su distancia al centro sea mayor, igual o menor que el radio. La tangente en un punto es siempre perpendicular al radio que llega a ese punto.
Fórmulas clave
- Ecuación canónica(x − h)² + (y − k)² = r²
- Forma generalx² + y² + D x + E y + F = 0
- Centro y radio desde la generalh = −D/2, k = −E/2, r = √(h² + k² − F)
- Parametrizaciónx = h + r cos t, y = k + r sen t
- Tangente en (x₀, y₀)(x₀ − h)(x − h) + (y₀ − k)(y − k) = r²
Dónde se aplica
Las antenas y radares definen zonas de cobertura circulares: saber si un punto está dentro es comprobar una desigualdad (x − h)² + (y − k)² ≤ r². Los sistemas de trilateración (la base del GPS) hallan tu posición intersecando circunferencias centradas en varias estaciones. Y en robótica, las trayectorias de giro de un vehículo se componen de arcos de circunferencia cuyo radio depende del ángulo de las ruedas.
Con programación (Python)
import math
def centro_radio(D, E, F):
"""x^2 + y^2 + Dx + Ey + F = 0 -> (h, k, r)"""
h, k = -D / 2, -E / 2
r2 = h * h + k * k - F
if r2 < 0:
return None
return h, k, math.sqrt(r2)
print(centro_radio(-4, 6, -3)) # (2, -3, 4)
def posicion(punto, centro, r):
d = math.dist(punto, centro)
if abs(d - r) < 1e-9: return "sobre la circunferencia"
return "dentro" if d < r else "fuera"
for p in [(2, 1), (6, -3), (7, 7)]:
print(p, "->", posicion(p, (2, -3), 4))La versión en JavaScript, editable y ejecutable en el navegador, está en la página interactiva del tema.