Os pensamentos de Amit sobre Grades [Parte 3: Derivação de Grades Hexagonais e Triangulares]
by apecode1
Grades hexagonais e triangulares podem ser derivadas de grades quadrangulares. (Tente mudar o ângulo neste demo em Flash(inglês).) Tendo em vista que o sistema de coordenadas para quadrados é direto, a derivação nos guiará no planejamento de um sistema de coordenadas para hexágonos e triângulos. Quadrados para Hexágonos Há dois passos necessários para tornar uma grade quadrangular numa grade hexagonal. Primeiro, nós devemos compensar as colunas(ou fileiras). Segundo, nós dividimos a metade das bordas e juntamos elas no meio.
Figura 1: Grade Quadrangular, aproximações do resultado
Há duas maneiras simples de compensar colunas. A mais comum é compensar de uma em uma coluna(veja na primeira grade da Figura 1). Programar utilizando esta abordagem nota-se se a coluna é par ou impar e escolhe-se quando compensa-la. Uma abordagem mais simples é compensar cada coluna pela metade a mais do que a coluna anterior(veja a segunda grade da Figura 1). Programar usando essa abordagem é mais uniforme, mas o formato do mapa deixa de ser retangular, o que pode ser inconveniente. Nestas páginas trabalharei com a última abordagem; é mais fácil e também pode ser facilmente utilizada com triângulos.(Em uma futura versão desta página eu poderei cobrir as duas versões.)
Figura 2: Alargando quadrados em hexágonos
Com qualquer abordagem de compensação, o próximo passo é dividir as bordas verticais dos quadrados e dobra-las, como visto na Figura 2. Quando a dobra é reduzida de 180 graus para 120 graus, você terá hexágonos simétricos. Observe que dividindo as bordas verticais nós aumentamos o número de bordas de 4 para 6(um aumento líquido de 1 borda por face, já que as duas novas bordas são compartilhadas por duas faces). Nós também aumentamos o número de vértices de 4 para 6(mas estas vértices são compartilhadas, deixando-nos com um aumento líquido de 1 vértice), e nós deixamos o número de faces inalterado. Isto corresponde o que esperávamos da soma F, E, V indo de 1, 2, 1 para 1, 3, 2.
Quadrados para Triângulo
Figura 3: Deformando quadrados em losangos, então subdividindo-os
Há dois passos necessários para tornar uma grade quadrangular numa grade triangular. Primeiro, devemos deformar os quadrados, o que é similar ao que fizemos aos hexágonos, exceto que nós inclinamos as bordas ao invés de dividi-las. Isto nos da uma grade losangular(veja Figura 3), que compartilha características com a grade quadrangular. Então nós dividimos cara face losangular em dois triângulos. Dividindo cada face significa que agora nós temos o dobro de faces que tínhamos antes, nós adicionamos uma borda para cada face, e nós não adicionamos nenhuma vértice. Isto corresponde o que esperávamos da soma F, E, V indo de 1, 2, 1 para 2, 3, 1.