J'ai eu affaire à beaucoup d'hexagones. Dans des cas comme celui-ci, vous repérez chacun des 6 points pour les frontières de l'hexagone. Cela vous permet de le dessiner assez facilement.
Vous auriez un seul tableau d'objets représentant des hexagones. Chacun de ces objets hexagonaux possède également 6 "pointeurs" (ou un index vers un autre tableau) pointant vers un autre tableau de "côtés". Même chose pour les "sommets". Bien sûr, les sommets auront 3 pointeurs vers les hexagones adjacents, et les côtés en auront 2.
Ainsi, un hexagone peut être quelque chose comme : X, Y, Point(6), Sommets(6), Côtés(6)
Ensuite, vous avez un tableau Hex, un tableau Vertice et un tableau Side.
Il est alors assez simple de trouver les sommets/côtés d'un hexagone, ou autre.
Lorsque je parle de pointeur, il pourrait tout aussi bien s'agir d'un nombre entier pointant vers l'élément du tableau de sommets ou de côtés ou autre. Et bien sûr, les tableaux peuvent être des listes ou autres.
1 votes
Vous pouvez également utiliser une courbe de hilbert, ce sont des courbes de classement d'espacement telles que l'adjacence dans le plan est préservée dans un codage linéaire. consultez l'indexation spatiale et la façon dont elles sont utilisées ! v intéressant