Distância de Manhattan
De (0, 0) a (3, 4) a distância de Manhattan é 7, e não os 5 em linha reta, porque só se anda pela grade: 3 para o lado e 4 para cima. Digite dois pontos e receba a distância com os dois trechos. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- X1
- 0
- Y1
- 0
- X2
- 3
- Y2
- 4
- Distância
- 7
- Dx
- 3
- Dy
- 4
- Abs dx
- 3
Dados dois pontos no plano cartesiano, a distância de Manhattan — também chamada distância do táxi ou métrica L1 — é a soma das diferenças absolutas de suas coordenadas.
Como a fórmula de Manhattan (taxicab / L1) mede a distância em grade
Rotule o primeiro ponto como (x1, y1) e o segundo como (x2, y2). A distância de Manhattan é o comprimento do caminho mais curto que viaja apenas paralelo aos eixos de coordenadas: o valor absoluto de x2 menos x1, mais o valor absoluto de y2 menos y1. Essa expressão é sempre não negativa, é zero exatamente quando os dois pontos coincidem e é simétrica ao trocar os extremos.
Verificações clássicas de sala de aula incluem os catetos do triângulo retângulo de três e quatro unidades, que produzem distância de Manhattan sete em vez da euclidiana cinco, e a diagonal unitária de (0, 0) a (1, 1), que produz dois em vez da raiz de dois. O nome vem da grade de quarteirões onde um táxi não pode cortar na diagonal entre prédios; em matemática a mesma quantidade é a norma L1 do vetor diferença.
Como a fórmula usa apenas subtração, valor absoluto e adição, é determinística, O(1) e livre de raízes quadradas ou bibliotecas trigonométricas. Esse caminho fechado coincide com a forma como a geometria discreta, a robótica em grades e os primers de geometria computacional apresentam a métrica do táxi, e mantém avaliadores automáticos e pipelines alinhados com o cálculo manual sem misturar conversão de unidades nem projeções cartográficas na mesma chamada.
Onde a distância de Manhattan aparece no trabalho real
Cursos de geometria discreta do ensino médio e da faculdade pedem constantemente a distância do táxi entre dois pontos plotados em uma grade urbana; uma calculadora confiável com checagem numérica estrita acelera a correção de tarefas e remove erros de planilha em que alguém esquece valores absolutos ou confunde L1 com a hipotenusa euclidiana.
Tutoriais de jogos, gráficos e pathfinding costumam armazenar sprites e nós como pares de coordenadas de tile; a resposta de Manhattan alimenta heurísticas A-star, orçamentos de movimento e checagens de alcance sem montar uma malha de navegação completa. Ferramentas de logística e layout de armazém que já modelam corredores como blocos alinhados aos eixos precisam do comprimento por quarteirões de um segmento de duas esquinas antes de reportar o custo de deslocamento—ter um oráculo numérico compartilhado mantém notas de campo e scripts de escritório alinhados no mesmo caminho L1.
Se mais tarde você precisar de distância euclidiana em linha reta, distância de Chebyshev ou distância de grande círculo em um globo, trate-as como intenções de busca separadas em vez de sobrecarregar esta landing do táxi.
Casos de uso
Conferência de tarefas e provas
Calcule a distância taxicab L1 entre dois pontos plotados e rejeite coordenadas não numéricas com um erro claro.
Ajudas de pathfinding em grade
Transforme dois pares de coordenadas de tile em um comprimento de Manhattan para heurísticas A-star, orçamentos de movimento e checagens de alcance.
Segmentos logísticos por quarteirões
A partir de dois extremos alinhados aos eixos, recupere o comprimento do caminho por quarteirões antes de reportar o custo de viagem em uma grade de ruas.
Perguntas frequentes
Que fórmula esta calculadora usa?
A fórmula de Manhattan (taxicab / L1): distance = |x2 − x1| + |y2 − y1|. A resposta inclui method: "manhattan".
O que acontece se uma coordenada não for um número?
Campos ausentes, strings vazias, texto não numérico, NaN e Infinity são todos rejeitados.
Como isso difere da distância euclidiana?
A distância euclidiana é a hipotenusa em linha reta √((x2−x1)²+(y2−y1)²). A de Manhattan é a soma de passos absolutos nos eixos e é sempre maior ou igual ao comprimento euclidiano para os mesmos pontos.
Onde a distância de Manhattan é usada?
Em qualquer grade onde não dá para cortar na diagonal: quarteirões, casas de um jogo ou corredores de um armazém. Ela alimenta estimativas de rota do algoritmo A estrela, limites de movimento e alcance, e é exercício clássico de geometria discreta.
A ordem dos pontos muda o resultado?
Não. A distância é a mesma se você trocar os dois pontos, nunca é negativa e só vale zero quando os pontos coincidem. Os trechos com sinal mudam de sinal, mas os valores absolutos continuam iguais.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/geom/manhattan-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x1":0,"y1":0,"x2":3,"y2":4}'const res = await fetch("https://api.kit.forhosting.com/geom/manhattan-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x1": 0,
"y1": 0,
"x2": 3,
"y2": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/manhattan-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x1": 0,
"y1": 0,
"x2": 3,
"y2": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/manhattan-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x1":0,"y1":0,"x2":3,"y2":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x1":0,"y1":0,"x2":3,"y2":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/manhattan-distance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"x1": 0,
"y1": 0,
"x2": 3,
"y2": 4
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.manhattan_distance",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Esta calculadora aceita x1, y1, x2 e y2 como números finitos, valida cada coordenada e devolve a distância não negativa junto com os pontos normalizados, os deltas com sinal dx e dy, os componentes absolutos abs_dx e abs_dy, e uma etiqueta method de manhattan. Campos ausentes, strings vazias, texto não numérico, NaN e Infinity são rejeitados com um erro claro invalid_input em vez de um NaN silencioso que pareça uma resolução bem-sucedida. Sem chamadas de rede, sem amostragem aleatória e sem surpresas de ponto flutuante além da aritmética IEEE-754 ordinária sobre os quatro números que você fornece.
Como a fórmula de Manhattan (taxicab / L1) mede a distância em grade
Coordenadas grandes ainda podem estourar o intervalo double de IEEE-754 quando as diferenças crescem ao extremo; quando a soma não é finita, a requisição falha com uma mensagem clara de overflow em vez de devolver Infinity em JSON.
O que você envia e o que recebe de volta
Forneça quatro números finitos obrigatórios: x1 e y1 do primeiro ponto, x2 e y2 do segundo. Verificações de exemplo: zero, zero, três, quatro produz distância sete; zero, zero, um, um produz dois; um y2 não numérico falha nomeando esse campo. Conecte a ferramenta gratuita do navegador para checagens rápidas de sanidade e depois chame o mesmo contrato a partir de scripts quando precisar de avaliação em massa de distâncias de Manhattan sem reimplementar o portão numérico em cada linguagem. Aliases curtos ax, ay, bx, by e x_a até y_b são aceitos para que rótulos de formulário possam ficar compactos sem divergir nos handlers. Campos ausentes, strings vazias, texto não numérico, NaN e Infinity são rejeitados com invalid_input e não são cobrados. Após o parse, o serviço calcula dx igual a x2 menos x1 e dy igual a y2 menos y1, obtém abs_dx e abs_dy, soma-os em distance e verifica se a distância é um número finito. Em sucesso a resposta JSON devolve distance arredondada para serialização estável, ecoa as quatro coordenadas normalizadas, inclui dx, dy, abs_dx e abs_dy, e define method como a string manhattan para que logs e interfaces didáticas documentem a métrica. O contrato é JSON estável adequado a testes unitários, verificadores de tarefas e pipelines em lote que mapeiam pares de pontos a comprimentos de caminho em grade. O preço da API é a base publicada de US$ 0,002 por item bem-sucedido.
Onde a distância de Manhattan aparece no trabalho real
Como esta capacidade é um motor de parse puro, a validação falha não consome saldo e as execuções bem-sucedidas permanecem em US$ 0,002 por item.
Perguntas técnicas
A ordem dos pontos importa?
Não. A distância é simétrica: trocar os dois pontos produz o mesmo comprimento não negativo (dx e dy invertem o sinal; abs_dx e abs_dy permanecem iguais).
Qual é o preço do calculador de distância de Manhattan?
No navegador desta página o widget L1 roda grátis no seu dispositivo. Pela API, cada resolução bem-sucedida debita o monedero prepago KIT em US$ 0,002; coordenadas inválidas não geram cobrança.