16 votes

Comment gérer les mathématiques des cartes hexagonales ?

J'ai du mal à calculer les distances sur les mondes en hexagone. Les mathématiques, même à l'échelle régionale, sont difficiles.

Mais je m'intéresse aussi aux distances à l'échelle mondiale. Je vise en particulier les cartes icosaédriques des planètes/mondes. Je recherche des calculs de distance "à vol d'oiseau" sans tenir compte des obstacles, par opposition à la longueur du chemin valide le plus direct.

Comment des programmes tels que "Traveller Heaven & Earth" calculent-ils les différentes distances entre les hexagones, en particulier à l'échelle de la planète (avec ces pentagones bizarres qui s'interposent) ? Il existe peut-être du matériel sur ce sujet dans les jeux de table classiques, mais je n'ai jamais joué à ces jeux et n'ai donc pas encore accès à ce matériel.

Des conseils à ce sujet ?

15voto

Crazed Geek Points 433

Amit Patel a un blog sympa qui a une section relative aux cartes hexagonales . J'aime particulièrement le Coordonnées du cube isométrique système.

En ce qui concerne les icosaèdres, on considère que chaque facette est une carte hexagonale triangulaire où les hexagones d'arêtes( FJM , NLI y BCD ) sont partagés entre deux facettes et les hexagones d'angle ( A , E y O ) sont en fait des pentagones communs aux cinq facettes du sommet.

    O
   M N
  J K L
 F G H I
A B C D E

Les méthodes habituelles de calcul des distances hexagonales fonctionnent bien avec ce type de carte. Aux sommets des pentagones, il est équivalent de continuer vers deux arêtes hexagonales (pentagones ?) quelconques opposées à l'arête saisie.


Voici le double d'un sphère géodésique

dual of geodesic sphere


Aussi, jetez un coup d'œil à ceci générateur de cartes du monde icosaédriques . J'espère que cela vous aidera

4voto

Tout est lié à théorie des graphes . Vous pouvez modéliser vos hexagones comme des nœuds dans un graphe. Les arcs seront simplement de longueur fixe avec un coût de déplacement dépendant de la "géographie" de chaque hexagone. A partir de là, un algorithme du plus court chemin vous donnera ce que vous voulez. Le cas générique est difficile NP -- aka travelling salesman -- mais il y a quelques bonnes approximations.

La méthode du "vol de corbeau" signifie que vous avez un coût fixe pour chaque arc. Cela peut vous donner plus d'un chemin optimal car ils auront le même coût de déplacement. Par exemple :

 A
B C
 D

Le coût du chemin ABD est le même que le coût du chemin ACD.

3voto

dlras2 Points 7589

S'il s'agit de grandes cartes hexagonales sur des sphères, il n'y a pas de moyen propre de le faire, car on ne peut pas couvrir parfaitement une sphère avec des hexagones de taille égale. (Pensez aux motifs irréguliers d'un ballon de football ou de golf.) Les autres méthodes mentionnées ici sont bonnes pour les grilles et les graphiques, mais si vous essayez simplement de calculer des distances sur une sphère, vous devez revenir à la méthode suivante distance orthodromique . Si vous tentez de couvrir la Terre entière en carrés hexagonaux de 5', par exemple, convertissez chacun d'eux en latitude et longitude et utilisez cette méthode. (Il se peut toutefois que cela ne corresponde pas du tout à l'étendue de votre problème).

Notez que le Ciel et la Terre approchent les planètes comme une icosaédrique projection (d20 géant) d'une carte hexagonale, telle que vue aquí et les autres méthodes mentionnées fonctionneraient bien dans ce cas.


En outre, il existe un excellent article (bien que légèrement centré sur les programmeurs) sur le sujet des grilles hexagonales. aquí .

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X