ForHosting KIT · Ferramentas para dev

Calculadora de perímetro do casco convexo

Esta calculadora encontra o menor contorno convexo que envolve um conjunto de pontos cartesianos e soma o comprimento euclidiano de todas as arestas na ordem.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Ela retorna o perímetro e os vértices do casco, permitindo que você confira, desenhe ou reutilize o resultado. Pontos duplicados e internos não aumentam a medida. O cálculo é determinístico, funciona sem acesso à rede e aceita até 100,000 pontos em uma solicitação.

Forneça pontos cartesianos em um sistema consistente

Envie os pontos como registros com coordenadas numéricas finitas x e y. Todos devem usar o mesmo sistema cartesiano e a mesma unidade. Se as coordenadas estiverem em metros, o perímetro será expresso em metros; se estiverem em pixels, o resultado será em pixels. A calculadora não projeta latitude e longitude nem considera a curvatura da Terra. Portanto, converta dados geográficos para uma projeção adequada antes do cálculo quando precisar de uma distância física. A ordem de entrada não importa, pois o algoritmo classifica as coordenadas antes de construir o limite. Coordenadas repetidas são aceitas e removidas para fins geométricos, mas a resposta informa tanto a quantidade original quanto o número de pontos únicos. É necessário fornecer pelo menos um ponto, e o limite declarado é de 100,000 registros. Manter a precisão original evita arredondamento prematuro. O casco começa no menor ponto do limite em ordem lexicográfica e segue no sentido anti-horário, oferecendo uma representação estável e reproduzível.

Entenda como o limite e o perímetro são calculados

A calculadora utiliza o método da cadeia monotônica de Andrew. Depois de ordenar e eliminar duplicatas, ela constrói uma cadeia inferior e outra superior. Um teste de orientação por produto vetorial remove o ponto central sempre que três candidatos consecutivos não formam uma curva anti-horária. Isso exclui pontos estritamente internos e pontos intermediários sobre uma aresta reta, preservando somente as extremidades necessárias para descrevê-la. As duas cadeias são unidas sem repetir suas pontas. Em seguida, o perímetro é obtido pela soma da distância euclidiana entre cada vértice e o próximo, incluindo a aresta de fechamento do último para o primeiro. A ordenação domina o tempo de execução, resultando em complexidade O(n log n), e a construção posterior é linear. Para um único ponto distinto, o perímetro é zero. Para dois pontos distintos, ou para um conjunto totalmente colinear, o casco contém as duas extremidades e a convenção de limite fechado conta o segmento nos dois sentidos, retornando o dobro da distância entre elas.

Leia o resultado e use-o com segurança

O campo perimeter apresenta o comprimento total do limite na mesma unidade das coordenadas. O array hull relaciona os vértices mantidos na ordem do percurso, sem repetir o primeiro no final. A resposta também inclui input_points, unique_points e hull_points, facilitando entender por que pontos internos, repetidos ou colineares não aparecem no contorno. Para desenhar o polígono, conecte os vértices adjacentes e feche explicitamente o último com o primeiro. Como o cálculo usa aritmética de ponto flutuante do JavaScript, distâncias irracionais podem exibir uma pequena aproximação binária; arredonde apenas na apresentação. A ferramenta é indicada para plantas, coordenadas de imagem, grades locais de engenharia e dados cartográficos projetados. Ela não calcula perímetro geodésico esférico ou elipsoidal, não corrige sistemas de referência incorretos e não preserva pontos colineares apenas para exibição. Cada solicitação pela API custa US$ 0,002; a execução no navegador usa a mesma lógica pura para manter os resultados consistentes.

Medir o limite de um terreno

Encontre o perímetro envolvente de pontos de levantamento após convertê-los para uma projeção local apropriada.

Estimar uma proteção externa

Calcule a menor cerca ou embalagem convexa que contenha todas as posições de um conjunto plano.

Resumir uma extensão espacial

Retorne um contorno ordenado e seu comprimento para agrupamentos, recursos de imagem, partículas simuladas ou coordenadas CAD.

Quanto custa uma solicitação?

Cada solicitação pela API custa US$ 0,002. A capacidade também funciona localmente no navegador.

Latitude e longitude são aceitas diretamente?

Elas podem ser fornecidas como números, mas o resultado ficaria em graus e não seria uma distância física confiável. Projete os dados antes do cálculo plano.

O que acontece com pontos duplicados e internos?

As duplicatas são removidas e os pontos internos são excluídos do casco. A resposta conta separadamente os pontos originais, únicos e do contorno.

Como os pontos colineares são tratados?

Somente as duas extremidades permanecem. O segmento é contado duas vezes porque o limite degenerado percorre a ida e a volta.

O primeiro vértice é repetido no final?

Não. O array do casco contém cada vértice uma vez; a aresta de fechamento até o primeiro é implícita e está incluída no perímetro.

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/geo/convex-hull-perimeter

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/geo/convex-hull-perimeter \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"points":[{"x":0,"y":0},{"x":4,"y":0},{"x":4,"y":3},{"x":0,"y":3},{"x":2,"y":1}]}'
{
  "points": [
    {
      "x": 0,
      "y": 0
    },
    {
      "x": 4,
      "y": 0
    },
    {
      "x": 4,
      "y": 3
    },
    {
      "x": 0,
      "y": 3
    },
    {
      "x": 2,
      "y": 1
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.convex_hull_perimeter",
  "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.

max_items100000
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.

Ver a documentação completa do KIT →