ForHosting KIT · Matemática

Dois segmentos se intersectam?

Confira se dois segmentos finitos se encontram de fato: o que vai de (0, 0) a (4, 4) e o que vai de (0, 4) a (4, 0) se cruzam em (2, 2), no meio de cada um. Toques num extremo e sobreposições também aparecem. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
X1
0
Y1
0
X2
4
Y2
4
X3
0
Y3
4
Você obtém
Tipo
proper
X
2
Y
2
T
0,5

Este verificador de interseção de segmentos responde a uma pergunta clássica da geometria do plano: dados dois segmentos de reta fechados pelos seus quatro extremos, eles se cruzam ou se tocam e, em caso afirmativo, onde? Você fornece oito números finitos—x1, y1, x2, y2 para o segmento AB e x3, y3, x4, y4 para o segmento CD—e o motor resolve as equações paramétricas A mais t vezes (B menos A) igual a C mais u vezes (D menos C), com ambos os parâmetros no intervalo unitário fechado. Quando existe solução, retorna intersects true, o tipo de contato (cruzamento próprio, toque em extremo ou sobreposição colinear), as coordenadas de um ponto compartilhado e os parâmetros t e u. Quando os segmentos se perdem, retorna intersects false com kind none e omite os campos do ponto.

O que significa interseção de segmentos e como difere de retas infinitas

Na geometria euclidiana do plano, um segmento de reta é o conjunto fechado de pontos entre dois extremos, não a reta infinita que os prolonga. Dois segmentos se intersectam quando compartilham pelo menos um ponto: podem cruzar-se nos interiores relativos (interseção própria), encontrar-se só em um extremo (junção em T ou vértice compartilhado), ou jazer na mesma reta suporte e sobrepor-se em um subsegmento ou em um único ponto (contato colinear).

A intenção de busca se agrupa em frases como dois segmentos se intersectam, calculadora de interseção de segmentos, verificar cruzamento de segmentos e achar interseção de dois segmentos a partir de coordenadas. Essa intenção é deliberadamente diferente de um solucionador de retas infinitas: prolongar ambos os segmentos como retas completas pode inventar um cruzamento longe das bordas finitas que importam em polígonos, colisões e ligações de mapa.

O calculador trata os segmentos como fechados, de modo que o contato extremo com extremo conta como interseção e não como falha silenciosa, alinhado à convenção usual de segmentos fechados em textos de geometria computacional e problemas escolares.

Onde verificações de interseção de segmentos se encaixam em estudo, projeto e código

Estudantes encontram interseção de segmentos ao estudar geometria analítica, arestas de polígonos e a distinção entre intervalos abertos e fechados em uma reta. Um livro pode dar quatro extremos e perguntar se os segmentos se cruzam, ou apresentar uma figura em que só a extensão como reta infinita se encontraria; este verificador devolve um booleano claro mais coordenadas quando há contato e kind none quando não.

Arquitetos, topógrafos e designers de níveis de jogo frequentemente precisam saber se duas paredes, estradas ou arestas de caminho se encontram de fato dentro de seus comprimentos finitos antes de tratar um layout como conectado. Desenvolvedores chamam o mesmo contrato a partir de scripts para semear vetores de teste determinísticos em bibliotecas de geometria, ilustrar testes de orientação em ferramentas didáticas ou atender enunciados de programação que exigem respostas exatas segmento–segmento.

Combine com as ferramentas de ponto médio e fórmula de seção quando já conhece um segmento e precisa de pontos interiores, com a calculadora de interseção de retas infinitas quando quiser o cruzamento das retas suporte mesmo fora dos segmentos, e com auxiliares de área de polígonos quando interseções de arestas alimentam figuras planas maiores.

Exercícios de segmentos em tarefas e provas

Estudantes e corretores confirmam se dois segmentos se encontram a partir de oito coordenadas de extremos, incluindo cruzamentos próprios, toques em extremo e falhas claras, sem um sistema de álgebra computacional local.

Checagem de arestas em malhas, CAD e mapas

Ferramentas que validam arestas de polígonos, ligações de estradas ou paredes podem perguntar se dois segmentos finitos compartilham um ponto antes de tratar um grafo como conectado.

Quais entradas são obrigatórias?

Oito coordenadas finitas: x1,y1,x2,y2 para o segmento AB e x3,y3,x4,y4 para o segmento CD. A precisão opcional define casas decimais de 0 a 15 (padrão 10).

Como a interseção é calculada?

Forma paramétrica P = A + t(B−A) = C + u(D−C). Resolve-se t e u com o produto vetorial 2D dos vetores direção; ambos os parâmetros devem estar em [0,1] para acerto em segmento fechado.

E se uma coordenada estiver ausente ou não for um número?

Extremos não numéricos ou infinitos nunca fabricam um ponto de interseção.

Por que duas retas se cruzam e os segmentos não?

Retas não têm fim, então duas retas não paralelas sempre se encontram em algum lugar. Segmentos param nos extremos, e o cruzamento das retas pode ficar fora deles; nesse caso a resposta é que não há contato.

Que tipos de contato podem aparecer?

Três: um cruzamento pelo interior dos dois segmentos, um toque num extremo, como um canto compartilhado, e uma sobreposição colinear, quando os dois estão na mesma reta e dividem um trecho.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/geom/segment-intersection

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/geom/segment-intersection \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"x1":0,"y1":0,"x2":4,"y2":4,"x3":0,"y3":4,"x4":4,"y4":0}'
{
  "x1": 0,
  "y1": 0,
  "x2": 4,
  "y2": 4,
  "x3": 0,
  "y3": 4,
  "x4": 4,
  "y4": 0
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geom.segment_intersection",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Extremos ausentes ou não numéricos falham de imediato com invalid_input, de modo que a validação falha não é cobrada.

O que significa interseção de segmentos e como difere de retas infinitas

Estudantes querem um sim ou não numérico com coordenadas frente a um gabarito; desenvolvedores, um oráculo determinístico para testes aresta–aresta em malhas, regiões de interface e validadores de competições; topógrafos e auxiliares CAD querem JSON estruturado que possam colar em relatórios sem reimplementar orientação ou Cramer em cada linguagem. Entregar intersects, kind e campos opcionais de ponto como JSON facilita asserções em integração contínua, pipelines maiores ou anotações.

Como os extremos são validados e como a interseção é calculada

O cálculo usa a forma paramétrica padrão: P igual a A mais t vezes (B menos A) e também P igual a C mais u vezes (D menos C); forma-se o sistema dois por dois cujo determinante é o produto vetorial bidimensional dos vetores direção, e resolvem-se t e u. Quando o determinante é claramente não nulo e ambos os parâmetros caem no intervalo unitário fechado, os segmentos se encontram nesse P; o contato em extremo é marcado quando um parâmetro vale zero ou um. Quando o determinante se anula, as retas suporte são paralelas: se os extremos não são colineares, não há interseção; se o são, o motor verifica se algum extremo de um segmento jaz sobre o outro e, ao sobrepor-se, informa intersects true com um ponto compartilhado representativo em vez de um intervalo de soluções. Não há um terceiro segmento, nem ajuste por mínimos quadrados, nem conversão de unidades das coordenadas; a aritmética assume um quadro cartesiano compartilhado. Envie um corpo JSON com os oito campos obrigatórios x1, y1, x2, y2, x3, y3, x4 e y4. Cada campo deve ser um número finito; números JSON e strings decimais são aceitos, e aliases curtos como ax, ay, bx, by, cx, cy, dx e dy mapeiam para as mesmas coordenadas. O motor rejeita campos ausentes, strings vazias, NaN e infinitos com invalid_input, de modo que essas chamadas falhas não são cobradas e nunca inventam um cruzamento falso.

Onde verificações de interseção de segmentos se encaixam em estudo, projeto e código

Professores podem pré-gerar gabaritos que listam intersects e o ponto para casos próprios, de extremo e paralelos, e confiar em invalid_input para linhas incompletas em vez de um branco ou um Infinity silencioso. Nesta página o trabalho roda inteiramente no seu navegador; pela API cada consulta bem-sucedida custa US$ 0,002, a validação falha não é cobrada e nada é armazenado após a resposta. Essa divisão—exploração interativa gratuita e API idêntica paga—combina com o catálogo KIT de nível A e permite passar de uma demo de sala de aula a um pipeline automatizado sem mudar o resultado matemático.

Fixtures determinísticos de geometria

Pipelines que semeiam testes unitários, validadores de competições e asserções de CI podem chamar um oráculo puro de interseção de segmentos em vez de reimplementar produtos vetoriais paramétricos em cada linguagem.

Quanto custa o verificador de interseção de segmentos?

É gratuito no seu navegador nesta página. Pela API uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.

Toques em extremos contam como interseção?

Sim. Segmentos fechados que compartilham só um vértice ou se unem em T informam intersects true com kind endpoint.

Ver a documentação completa do KIT →