Intersección de dos circunferencias: puntos a partir de centros y radios
Encuentre dónde se cruzan dos circunferencias con sus centros y radios: las de radio 5 con centros en (0, 0) y (8, 0) se cortan en (4, 3) y (4, -3). Si solo se tocan obtiene un punto, y si no se encuentran, un aviso claro. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- X1
- 0
- Y1
- 0
- R1
- 5
- X2
- 8
- Y2
- 0
- R2
- 5
- Cantidad
- 2
- Relación
- intersect
- D
- 8
Dadas dos circunferencias en el plano cartesiano, su intersección es el conjunto de puntos que pertenecen a ambas a la vez.
Cómo se cortan dos circunferencias en el plano
Sea d la distancia euclidiana entre los centros. Los libros de geometría clasifican la configuración comparando d con la suma y la diferencia absoluta de los radios. Cuando d es estrictamente menor que la diferencia absoluta de los radios, la circunferencia menor queda por completo dentro de la mayor sin tocarla.
Cuando d iguala la suma, se tocan exteriormente en un único punto; cuando d iguala la diferencia absoluta, se tocan interiormente en un único punto. Cuando la diferencia absoluta es estrictamente menor que d y d es estrictamente menor que la suma, las circunferencias se cruzan en exactamente dos puntos simétricos respecto a la recta de los centros. Desplazar ese pie en más o menos h en la dirección perpendicular a la recta de los centros produce los dos puntos de intersección, o un único punto cuando h es cero.
Como el procedimiento solo usa aritmética y una raíz cuadrada tras las comprobaciones geométricas, es determinista, O(1) y no recurre a solucionadores iterativos ni a bibliotecas trigonométricas. Centros coincidentes con radios iguales admitirían infinitas soluciones y se rechazan en lugar de aproximarse.
Dónde aparece la intersección circunferencia–circunferencia en el trabajo real
Los cursos de geometría analítica de secundaria y universidad piden constantemente hallar los puntos comunes a dos circunferencias dadas; una calculadora fiable con una comprobación estricta de la configuración acelera la corrección de tareas y elimina errores de hoja de cálculo donde alguien olvida el caso de contención o se equivoca de signo en el desplazamiento perpendicular.
Los croquis de multilateración y la topografía sencilla sitúan una estación intersectando dos arcos de distancia desde puntos de control conocidos; devolver ambos candidatos con un orden determinista permite a los operadores elegir el lado físicamente significativo sin rehacer el álgebra a mano. Si más adelante necesita intersección circunferencia–recta, intersecciones de esferas en tres dimensiones o ajuste de circunferencias a partir de muestras de puntos, trátelos como intenciones de búsqueda separadas en lugar de sobrecargar esta página de dos circunferencias.
Qué puede hacer con ella
Revisión de tareas y exámenes
Calcule los puntos reales de intersección de dos circunferencias a partir de centros y radios, o falle con claridad cuando no se cortan.
Croquis de topografía y multilateración
Intersecte dos arcos de distancia desde estaciones conocidas para recuperar posiciones candidatas con un orden de puntos determinista.
Ayudas de restricciones para CAD y juegos
Resuelva dos restricciones circulares o los puntos de contacto de hitboxes circulares sin reimplementar la matemática del eje radical en cada herramienta.
Preguntas frecuentes
¿Cuánto cuesta?
La herramienta del navegador es gratuita y se ejecuta localmente.
¿Cómo sé si dos circunferencias se cortan?
Compare la distancia entre los centros con la suma y la diferencia de los radios. Si queda estrictamente entre ambas, se cortan en dos puntos; si coincide con una de ellas, se tocan en uno solo, como dos de radio 5 con centros a 10 de distancia.
¿Qué pasa si las circunferencias no se tocan?
Si están demasiado separadas, o una queda dentro de la otra sin rozarla, la calculadora lo indica con un mensaje claro en lugar de devolver una lista vacía que parezca una respuesta.
¿Y si las dos circunferencias son idénticas?
Dos circunferencias con el mismo centro y el mismo radio comparten todos sus puntos, así que no hay una respuesta finita. Ese caso se rechaza en lugar de aproximarlo.
¿Sirve para ubicar un punto a partir de dos distancias?
Sí. Trace una circunferencia alrededor de cada estación conocida con la distancia medida como radio; la intersección da las posiciones candidatas, en un orden fijo para que elija el lado correcto.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/geom/two-circles-intersection \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x1":0,"y1":0,"r1":5,"x2":8,"y2":0,"r2":5}'const res = await fetch("https://api.kit.forhosting.com/geom/two-circles-intersection", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x1": 0,
"y1": 0,
"r1": 5,
"x2": 8,
"y2": 0,
"r2": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/two-circles-intersection",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x1": 0,
"y1": 0,
"r1": 5,
"x2": 8,
"y2": 0,
"r2": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/two-circles-intersection", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x1":0,"y1":0,"r1":5,"x2":8,"y2":0,"r2":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x1":0,"y1":0,"r1":5,"x2":8,"y2":0,"r2":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/two-circles-intersection", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"x1": 0,
"y1": 0,
"r1": 5,
"x2": 8,
"y2": 0,
"r2": 5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.two_circles_intersection",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Los campos vacíos, los radios no positivos, las circunferencias separadas y la contención estricta sin contacto se rechazan con un error invalid_input claro en lugar de una lista vacía que parezca una resolución correcta sin puntos. Sin llamadas de red, sin muestreo aleatorio y sin sorpresas de coma flotante más allá de la aritmética IEEE-754 habitual sobre los seis números que usted proporciona.
Cómo se cortan dos circunferencias en el plano
Las coordenadas muy grandes aún pueden desbordar el rango del doble IEEE-754; los intermedios no finitos fallan con un mensaje claro en lugar de devolver Infinity en el JSON.
Qué envía usted y qué recibe de vuelta
Tras el análisis, el servicio calcula la distancia d entre centros, la compara con la suma y la diferencia absoluta de los radios, y o bien falla con un mensaje explícito de separación o contención, o bien construye el pie del eje radical y la semicuerda. Comprobaciones de ejemplo: centros en (0, 0) y (8, 0) con radios iguales a cinco dan dos puntos cerca de (4, más o menos tres); radios iguales a cinco con centros a diez unidades de distancia son tangentes exteriores en el punto medio; centros mucho más separados que la suma de radios fallan indicando circunferencias separadas. Use la herramienta gratuita del navegador para comprobaciones rápidas y después llame al mismo contrato desde scripts cuando necesite evaluación masiva sin reimplementar las validaciones numéricas en cada lenguaje. Se aceptan alias cortos como cx1, cy1, radius1, center1_x y los nombres equivalentes de la segunda circunferencia, de modo que las etiquetas de los formularios pueden ser compactas sin manejadores divergentes. Los campos que faltan, las cadenas vacías, el texto no numérico, NaN, Infinity y los radios no positivos se rechazan con invalid_input y no se cobran. Si tiene éxito, la respuesta JSON devuelve points como un array de uno o dos objetos con x e y redondeados para una serialización estable, count igual a la longitud del array, relation con valor intersect, tangent_external o tangent_internal, la distancia d, el eco de las seis entradas normalizadas y method con valor two_circles_radical_axis, para que los registros y las interfaces docentes documenten el algoritmo. El precio de la API es la base publicada de $0.002 por elemento correcto.
Dónde aparece la intersección circunferencia–circunferencia en el trabajo real
Como esta capacidad es un motor de parse puro, la validación fallida no consume saldo y las ejecuciones correctas se mantienen en $0.002 por elemento.
Preguntas técnicas
¿Qué fórmula utiliza esta calculadora?
La construcción del eje radical: distancia d entre centros, desplazamiento a = (r1² − r2² + d²)/(2d), semicuerda h = √(r1² − a²) y después desplazamientos perpendiculares ±. La respuesta incluye method: "two_circles_radical_axis".
¿Qué ocurre si las circunferencias no se intersectan?
Si están separadas (d mayor que la suma de radios) o una contiene por completo a la otra sin tocarla (d menor que |r1 − r2|), la petición falla con invalid_input y un mensaje que describe la configuración.
¿Las circunferencias tangentes cuentan como éxito?
Sí. La tangencia exterior e interior devuelve un único punto con relation tangent_external o tangent_internal.
¿Y si ambas circunferencias son la misma?
Mismo centro e radios iguales admiten infinitos puntos de intersección; ese caso se rechaza con invalid_input en lugar de inventar una lista finita.