Os pensamentos de Amit sobre Grades [Parte 2: Partes de uma Grade]

by apecode1

Figura 1: Partes da Grade

Grades possuem três tipos de partes: Faces(face(tiles)), bordas(edge) e vértices(vertices). Cada face é uma superfície bidimensional fechada por bordas. Cada borda é um seguimento de linha unidimensional terminando em uma vértice. Cada “vertex” é um ponto adimensional. É comum nós jogos se focar em somente uma destas tipos de partes. Jogos “ocidentais” como Xadrez e Gamão parecem focar nas faces, e jogos “orientais” como Go e o Gamão Chinês parecem focar-se nas vértices. Há alguns jogos como a Roleta que atribuem sentidos à todos os três tipos de partes nas grades.

Faces, bordas, e vértices aparecem em mapas poligonais também. Algoritmos que funcionam em faces, bordas e vértices de sem exigir a coordenada das grades funcionarão nestes mapas poligonais:

Figura 1b: Partes da Grade com polígonos

Grades e mapas poligonais podem ser convertidos em estruturas gráficas ao tornar cada face em um nó e cada borda entre faces em numa borda gráfica entre nós. A estrutura gráfica permite o uso de algoritmos gráficos(como o de menor caminho) no mapa grade.

Usos nos jogos

Jogos de computador podem utilizar todos os tipos de partes da grade, mas a face é o mais comum. Construções, tipos de terrenos(grama, deserto, cascalho, etc…), e o domínio de território também usam a face. A borda dos territórios e os algoritmos de “fluxo”(que simula o fluxo da água, pessoas, bens, etc., entre faces adjacentes) podem utilizar bordas. Elevações(altitude, profundidade d’água) usam vértices. Ruas e ferrovias podem ou usar faces(como em SimCity) ou bordas(como visto em Locomotion; veja meu miniaplicativo em java demonstrando isso(inglês)).

Contando as partes

Nós podemos contar quantas faces, bordas, e vértices são necessárias para formar uma grade. A abordagem é olhar a adjacência e o compartilhamento. Considere uma grade triangular(veja Figura 1). Cada triângulo tem 3 bordas. Logo, esperamos 3 vezes mais bordas do que faces. No entanto, cada borda é compartilhada por 2 faces, então temos 3 bordas para cada 2 faces. Cada face de um triângulo tem 3 vértices(pontas). Cada vértice é compartilhada por 6 faces. Portanto nós temos 3 vértices para cada 6 faces, ou 1 vértice para cada 2 faces. Estas relações serão importantes quando estivermos planejando nosso sistema de coordenadas. Quadrados tem um número de faces igual ao de vértices. Hexágonos tem mais vértices que faces. Triângulos tem mais faces do que vértices. Há sempre mais bordas do que faces ou vértices.

Forma Faces (F) Bordas (E) Vértices (V)
quadrado 1 2 1
hexágono 1 3 2
triângulo 2 3 1

Vamos chamá-los de soma F, E, V. O F, E, V de quadrados é 1, 2, 1; de hexágonos é 1, 3, 2; triângulos 2, 3, 1. Perceba que grades hexagonais e triangulares possuem somas similares, exceto a soma de vértices e faces que é trocada. Isto porque grades hexagonais e grades triangulares são duais: se você colocar um vértice no centro de cada face de uma grade triangular, você terá uma grade hexagonal, e vice versa. Grades quadrangulares são duais e si mesmas. Se você colocar uma vértice no centro de cada quadrado, você produzirá uma outra grade quadrangular, deslocada da primeira. Leia mais sobre duais na wikipedia(inglês).