Intersección círculo-recta: 0, 1 o 2 puntos con centro, radio y recta
Encuentre dónde una recta atraviesa un círculo: un círculo de radio 5 en el origen y la recta que pasa por (−10, 0) y (10, 0) se cortan en (−5, 0) y (5, 0). Le indica si la recta corta, toca o no alcanza el círculo. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Cx
- 0
- Cy
- 0
- Resistencia (Ω)
- 5
- X1
- -10
- Y1
- 0
- X2
- 10
- Cantidad
- 2
- Discriminante
- 40 000
Un círculo y una recta en el plano pueden encontrarse en dos puntos (secante), tocarse en uno solo (tangente) o no cortarse. La geometría analítica clásica reduce el problema a una ecuación de segundo grado: se parametriza la recta por dos puntos, se sustituye en la ecuación del círculo y se lee el discriminante. Estudiantes que comprueban deberes, desarrolladores de juegos que colocan contactos de colisión, asistentes CAD que verifican restricciones de croquis, topógrafos que recuperan cortes de línea de vista y concursantes necesitan esas coordenadas de contacto como números estables que puedan fijar en pruebas, no solo un dibujo. Esta capacidad acepta siete números—cx, cy, r del círculo y x1, y1, x2, y2 de dos puntos distintos de la recta infinita—, valida que todo campo sea finito y el radio positivo, y resuelve la cuadrática.
Qué significa la intersección círculo-recta y por qué se busca
En geometría euclídea del plano, un círculo de centro C y radio r es el conjunto de puntos a distancia fija r de C. Una recta infinita por dos puntos distintos A y B es el conjunto de puntos A más un múltiplo real del vector dirección B menos A. Su intersección son los puntos que cumplen ambas descripciones a la vez.
Al sustituir la recta paramétrica en la ecuación del círculo se obtiene una cuadrática en el parámetro t cuyo discriminante decide el caso: positivo para dos raíces reales distintas (secante), cero para una raíz doble (tangente) y negativo para ninguna raíz real (no hay corte). La intención de búsqueda se agrupa en frases como intersección círculo recta, hallar intersección de círculo y recta, tangente a un círculo desde una recta y calculadora de puntos de secante con coordenadas.
Devolver un array de puntos ordenado facilita el diff en integración continua, alimenta un pipeline mayor o se copia a apuntes. A diferencia de ayudas círculo-círculo o solo de segmento, esta página se centra solo en una recta infinita frente a un único círculo e informa cuando la geometría no se encuentra.
Uso práctico, límites, precios y canales de entrega
Use la herramienta del navegador cuando quiera una comprobación inmediata de contacto al calificar deberes, colocar un marcador de colisión o verificar un croquis sin instalar un sistema de álgebra computacional. Las coordenadas pueden ser cualquier número finito dentro de un gran bound absoluto adecuado a figuras CAD y de aula ordinarias; las coordenadas de respuesta comparten el mismo sistema de unidades que usted ya usa.
La recta se trata como infinita: los puntos de intersección pueden quedar fuera del segmento entre los dos puntos definidores, que es el modelo clásico correcto para ejercicios de geometría analítica y muchas consultas tipo rayo que se prolongan más allá de un segundo punto de muestra. Los resultados son plenamente deterministas: los mismos siete números siempre producen los mismos puntos y campos de discriminante.
No hay modelo de lenguaje, ni servicio geométrico externo, ni aleatoriedad, así que la capacidad es segura para fijar en comprobaciones de integración continua y materiales de lección reproducibles. Si necesita intersección círculo-círculo, recorte de segmentos o solucionadores de triángulos, use esas páginas dedicadas cuando existan: esta capacidad se centra solo en círculo frente a recta infinita.
Qué puede hacer con ella
Ejercicios de círculo-recta en deberes y exámenes
Estudiantes y evaluadores confirman puntos de tangente o secante con centro, radio y dos puntos de la recta, con error claro si la recta no corta el círculo.
Preguntas frecuentes
¿Qué fórmula usa la calculadora?
Parametriza la recta por los dos puntos, sustituye en (x−cx)²+(y−cy)²=r² y resuelve la cuadrática con el discriminante.
¿Es gratuita la calculadora de intersección círculo-recta?
La herramienta del navegador es gratuita en su dispositivo.
¿Usa el segmento finito entre los dos puntos?
No. Los dos puntos solo definen la recta infinita. Los puntos de intersección pueden quedar fuera del segmento; eso coincide con la geometría analítica clásica.
¿Cómo sé si una recta es tangente a un círculo?
Cuando la recta solo toca el círculo, la ecuación de segundo grado del cálculo tiene una única raíz repetida. La calculadora devuelve entonces un solo punto y lo marca como tangente, en lugar de dos cortes.
¿Qué pasa si la recta no toca el círculo?
En ese caso no hay puntos de corte reales, porque el discriminante es negativo. La calculadora le avisa de que la recta y el círculo no se encuentran, en vez de inventar coordenadas.
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/circle-line-intersection \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cx":0,"cy":0,"r":5,"x1":-10,"y1":0,"x2":10,"y2":0}'const res = await fetch("https://api.kit.forhosting.com/geom/circle-line-intersection", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cx": 0,
"cy": 0,
"r": 5,
"x1": -10,
"y1": 0,
"x2": 10,
"y2": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/circle-line-intersection",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cx": 0,
"cy": 0,
"r": 5,
"x1": -10,
"y1": 0,
"x2": 10,
"y2": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/circle-line-intersection", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cx":0,"cy":0,"r":5,"x1":-10,"y1":0,"x2":10,"y2":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cx":0,"cy":0,"r":5,"x1":-10,"y1":0,"x2":10,"y2":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/circle-line-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
{
"cx": 0,
"cy": 0,
"r": 5,
"x1": -10,
"y1": 0,
"x2": 10,
"y2": 0
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.circle_line_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
Si el discriminante es no negativo devuelve uno o dos puntos en un JSON estructurado; si la recta no corta el círculo, o la entrada es incompleta o degenerada, falla de inmediato con invalid_input para que la validación fallida no se cobre.
Cómo valida la entrada y resuelve el discriminante cuadrático
El radio debe ser estrictamente positivo. Los dos puntos de la recta deben ser distintos: una dirección de longitud cero no define una recta infinita única y se rechaza antes de cualquier raíz. Tras el parseo, el algoritmo forma la dirección D igual a (x2 menos x1, y2 menos y1) y el desplazamiento F igual a (x1 menos cx, y1 menos cy), luego construye los coeficientes cuadráticos a igual a D·D, b igual a dos veces F·D y c igual a F·F menos r al cuadrado. El discriminante delta es b al cuadrado menos cuatro a c. Si delta es negativo más allá de un pequeño épsilon numérico, la petición falla con un mensaje claro de no intersección porque la recta no corta el círculo. Si delta es esencialmente cero, se devuelve un punto de tangencia con tangent en true. Envíe un cuerpo JSON con los siete campos obligatorios cx, cy, r, x1, y1, x2 e y2. Cada campo debe ser un número finito (se aceptan números JSON o cadenas numéricas). El motor rechaza campos ausentes, cadenas vacías, NaN e infinitos con invalid_input para que esas llamadas fallidas no se cobren. Los resultados se redondean a una precisión decimal estable para que la misma geometría produzca siempre el mismo JSON entre motores JavaScript. La respuesta repite las siete entradas, devuelve count, tangent, discriminant y points, y fija method en quadratic_discriminant para que los llamadores puedan afirmar el algoritmo en pruebas. No hay inversión de matrices ni servicio geométrico externo: solo aritmética en un Worker.
Uso práctico, límites, precios y canales de entrega
Use la API cuando un script, plataforma de lecciones, editor de juegos, herramienta de malla o cuaderno necesite JSON estable para muchos pares círculo-recta bajo un único contrato. Cada petición exitosa es un ítem facturable a $0.002; la validación fallida—incluido un discriminante negativo sin punto real de encuentro—no consume saldo. Conecte el endpoint a comprobadores de concursos, ayudas de colisión de sprites, demos de restricciones CAD o pasos de preproceso donde prefiera una cuadrática explícita a widgets opacos que no expliquen por qué se rechaza un radio ausente.
Casos de integración
Fixtures deterministas para pruebas de geometría y colisión
Los pipelines que siembran tests unitarios o demos de croquis interactivos pueden llamar a un oráculo puro de intersección en lugar de reimplementar la cuadrática en cada lenguaje.
Anclajes de contacto en CAD, topografía y juegos
Herramientas que colocan marcadores, etiquetas u orígenes de colisión donde una línea de construcción corta un arco circular recuperan los puntos como JSON estructurado para importar.
Preguntas técnicas
¿Cómo hallo los puntos de intersección círculo-recta con esta API?
Envíe un cuerpo JSON con cx, cy, r, x1, y1, x2 e y2 a geom.circle_line_intersection. La respuesta devuelve uno o dos puntos cuando la recta corta el círculo.
¿Qué ocurre si la recta no corta el círculo?
La petición falla con invalid_input porque el discriminante es negativo (sin intersección real). Esas fallas de validación no se cobran.