ForHosting KIT · Ferramentas para dev

Ponto para célula hexagonal

Converta uma coordenada plana na célula que a contém em uma grade hexagonal regular.

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

Informe o ponto, o tamanho do hexágono e, se necessário, a orientação e a origem da grade. O resultado fornece índices inteiros de coluna e linha axiais, prontos para mapas, jogos, agrupamentos espaciais, layouts procedurais e cálculos de vizinhança. A conversão usa arredondamento em coordenadas cúbicas, portanto os pontos próximos a arestas e vértices são atribuídos de modo consistente, sem percorrer células nem construir polígonos.

Defina a grade antes de localizar o ponto

Uma grade hexagonal regular precisa de três informações para associar um ponto a uma célula. Primeiro, informe as coordenadas planas x e y no mesmo sistema utilizado pela grade. Depois, defina size como a distância entre o centro do hexágono e qualquer um de seus vértices. Esse valor é o circunraio, e não a largura ou altura completa, o espaçamento entre lados nem a distância entre centros. Por fim, escolha a orientação. Uma grade pointy tem um vértice na parte superior e outro na inferior, enquanto uma grade flat apresenta arestas horizontais em cima e embaixo. O padrão é pointy. Inicialmente, a célula axial zero, zero fica centralizada na coordenada plana zero, zero. Use origin_x e origin_y quando a grade estiver deslocada. A origem muda apenas a posição da grade; não modifica escala, orientação ou indexação. Todos os valores de coordenadas e tamanho devem usar uma unidade única, como pixels, metros ou unidades de mapa projetado. Se você precisar de uma grade verdadeiramente plana e coerente em distância, projete primeiro a longitude e a latitude geográficas.

Entenda o resultado axial e o arredondamento

A coluna e a linha retornadas são coordenadas axiais, normalmente chamadas de q e r na literatura sobre grades hexagonais. As coordenadas axiais usam dois eixos inteiros, embora o movimento em uma grade hexagonal tenha seis direções. A terceira coordenada cúbica, que não aparece no resultado, é definida como a soma negativa das duas primeiras; isso simplifica operações de distância, vizinhança, anéis e alcance. Internamente, o ponto é transformado em coordenadas axiais fracionárias de acordo com a orientação selecionada. Essas frações são convertidas em coordenadas cúbicas, arredondadas sem violar a restrição do cubo e transformadas novamente em um par axial inteiro. Esse processo é importante porque arredondar os dois eixos visíveis separadamente pode selecionar a célula errada perto de uma fronteira diagonal. Um ponto exatamente sobre uma aresta ou um vértice compartilhado pertence geometricamente a mais de um polígono fechado, portanto toda atribuição precisa de um critério de desempate. A calculadora resolve esses empates de forma determinística por meio do arredondamento numérico do JavaScript e de uma ordem fixa para corrigir os componentes. Em pontos internos, o resultado é a única célula que os contém; em fronteiras exatas, é uma escolha canônica e repetível.

Use os índices de célula em sistemas espaciais

Depois que um ponto recebe uma coluna e uma linha axiais, os aplicativos podem agrupar muitas observações sem armazenar ou testar o polígono de cada hexágono. Um jogo pode converter a posição do ponteiro em uma casa do tabuleiro, uma visualização pode reunir eventos projetados em células e um gerador procedural pode usar o par como chave estável de bloco. Mantenha a definição original da grade junto aos índices: a mesma coluna e linha identifica outra região física quando tamanho, orientação ou origem mudam. Ao processar vários pontos, use configurações idênticas para todos os itens e agrupe registros com uma chave formada, por exemplo, pela coluna, uma vírgula e a linha. Índices negativos são normais; eles apenas identificam células à esquerda, acima ou abaixo da origem axial, dependendo da orientação. A operação tem tempo constante para cada ponto e não depende da extensão total da grade. Também não impõe um limite artificial, por isso funciona tanto em tabuleiros finitos quanto em grades conceitualmente infinitas. Para renderizar, obtenha o centro ou os vértices da célula escolhida com as fórmulas correspondentes de axial para plano, em vez de interpretar coluna e linha como coordenadas retangulares de pixels.

Selecionar uma célula com o ponteiro

Converta uma posição de mouse, caneta ou toque na célula axial usada por um tabuleiro, editor ou jogo de estratégia.

Agrupar observações de um mapa projetado

Associe pontos planos do mapa a grupos hexagonais estáveis antes de contar, colorir ou resumir as observações.

Criar chaves para mundos procedurais

Transforme uma posição em índices inteiros de coluna e linha para acessar terreno gerado, caches ou estados de simulação.

O que significa size?

Size é a distância entre o centro de um hexágono e qualquer vértice. Em um hexágono regular, ela também corresponde ao comprimento do lado.

Qual é a diferença entre as orientações pointy e flat?

Hexágonos pointy têm vértices em cima e embaixo. Hexágonos flat têm arestas horizontais nessas posições. A conversão de coordenadas muda entre elas.

A coluna ou a linha podem ser negativas?

Sim. As coordenadas axiais se estendem em todas as direções a partir da célula zero, zero, então índices negativos são esperados.

O que acontece quando um ponto fica exatamente no limite da célula?

O arredondamento cúbico aplica um critério determinístico de desempate e retorna uma das células que compartilham a aresta ou o vértice.

Posso informar longitude e latitude diretamente?

O cálculo aceita números, mas pressupõe um sistema plano. Projete as coordenadas geográficas primeiro quando distâncias e áreas consistentes forem importantes.

Quanto custa uma solicitação de API?

Cada solicitação de API custa US$ 0,002. O mesmo cálculo determinístico também pode ser executado no navegador.

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/hex-grid-cell

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/hex-grid-cell \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"x":18,"y":9,"size":10}'
{
  "x": 18,
  "y": 9,
  "size": 10
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.hex_grid_cell",
  "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.

Ver a documentação completa do KIT →