76 votes

Couvrir la terre avec des tuiles cartographiques hexagonales

De nombreux jeux de stratégie utilisent des tuiles hexagonales. L'un des principaux avantages est que la distance entre le centre d'une tuile et toutes les tuiles voisines est la même.

Je me demandais si quelqu'un avait une idée sur le mariage d'un système de tuiles hexagonales avec le système géographique traditionnel (longitude/latitude). Je pense qu'il serait intéressant de couvrir un globe avec des tuiles hexagonales et de pouvoir associer une coordonnée géographique à une tuile.

Quelqu'un a-t-il déjà vu quelque chose d'approchant ?

MISE À JOUR

Je cherche un moyen de subdiviser la surface d'une sphère de façon à ce que chaque division ait la même surface. Idéalement, les centres des subdivisions adjacentes devraient être équidistants.

0 votes

Il ne faut pas oublier non plus que la Terre est loin d'être sphérique. Dans la plupart des cas, ce n'est pas grave, mais si vous voulez faire correspondre des tuiles à la surface, le fait qu'il ne s'agit pas d'une sphère va finir par se poser.

1 votes

0 votes

@Gnubie : Vous êtes arrivé ici par Mathoverflow ? =D

42voto

amitp Points 356

Jetez un coup d'œil à vraid/earthgen ; il utilise des hexagones (et quelques pentagones) et inclut le code source (voir planet/grid/create_grid.cpp ).

Depuis 2018, un la nouvelle version est disponible basé sur le racket.

vraid/earthgen image

2 votes

Intéressant. Existe-t-il une explication de l'algorithme autre que la lecture de la source ? Existe-t-il un moyen d'obtenir la longitude et la latitude de chaque tuile ?

8 votes

@carrier Subdivision de l'icosaèdre. Commencez par un icosaèdre. Subdivisez chaque face en 4 triangles. Rincer, répéter. À la fin, peu importe le nombre de subdivisions (tesselles), vous n'aurez toujours que 12 pentagones (à partir des sommets de l'icosaèdre original). Lat/Long sont obtenues en prenant les coordonnées 3D d'une tuile donnée et en calculant leur angle par rapport à l'équateur et au méridien d'origine.

1 votes

@3Dave C'est une excellente suggestion et j'ai essayé de l'utiliser ! Cependant, les chiffres ne semblent pas s'additionner. J'ai commencé avec un icosaèdre et j'ai tesselé 3 fois. Cela fait 20*4^3 = 1280 faces. En générant 12 pentagones aux sommets d'origine, je me retrouve avec 1280 - (12*6) = 1220 faces. Ce nombre n'est pas divisible par 6. Mes calculs sont-ils erronés ? J'espère que mes calculs sont erronés...

32voto

Carsten König Points 14720

De nombreuses personnes ont fait remarquer qu'il n'était pas possible de carreler la sphère avec des tuiles hexagonales - peut-être vous demandez-vous pourquoi.

Euler a déclaré (et il existe de nombreuses preuves intéressantes et différentes, et même un livre entier) qu'étant donné une tuile de la sphère en x polygones avec y arêtes au total et z sommets au total (par exemple, un cube a 6 polygones avec 12 arêtes et 8 sommets), la formule suivante s'applique

x - y + z = 2

est toujours valable (attention au signe moins).

(BTW : il s'agit d'un énoncé topologique, de sorte qu'un cube et une sphère - ou, pour être précis, seulement leur bord - sont vraiment identiques ici).

Si vous voulez utiliser uniquement des hexagones pour carreler une sphère, vous obtiendrez x hexagones, ayant 6*x arêtes. Cependant, chaque paire d'hexagones partage une arête. Nous ne voulons donc compter que 3*x d'entre eux, et 6*x sommets, mais, encore une fois, chacun d'entre eux est partagé par 3 hexagones, de sorte que nous nous retrouvons avec 2*x arêtes.

Maintenant, en utilisant la formule :

x - 3*x + 2*x = 2

on aboutit à la fausse déclaration 0 = 2 - vous ne pouvez donc pas utiliser uniquement des hexagones.

C'est la raison pour laquelle le ballon de football classique ressemble à ce qu'il est. Bien sûr, les ballons modernes sont plus sophistiqués, mais le principe de base reste le même.

4 votes

Intéressant. Des liens pour cette preuve ?

1 votes

Beaucoup de choses dépendent de la définition d'un "hexagone" sur une surface courbe. Vous avez supposé que les sommets doivent être partagés par 3 hexagones. Peut-être est-il possible d'obtenir 2 ou 4 hexagones ? Par exemple, divisez l'équateur en six longueurs. Ces "arêtes" sont droites pour une surface sphérique. Donc Les deux hémisphères divisent la Terre en deux "hexagones". . Bien sûr, cela ne semble pas correct, mais pouvez-vous trouver une définition d'un hexagone à surface courbe qui ne s'applique pas à un hémisphère ?

23voto

Andrew Jaffe Points 9205

Il est impossible de couvrir une sphère avec des tuiles régulières (à l'exception de longues et fines "tranches d'orange"). Ainsi, la manière optimale de pixelliser une carte, compte tenu de certaines contraintes ou exigences, est en fait un problème de recherche assez difficile.

Un type de pavage très utilisé (en astrophysique) est la pixellisation HEALPIX : http://healpix.sourceforge.net/

Cette pixellisation répond à l'exigence de surface égale ; il est cependant impossible de tout rendre équidistant.

Une autre pixellisation est "GLESP", qui a des propriétés différentes (et n'est pas un logiciel aussi perfectionné) : http://www.glesp.nbi.dk/

0 votes

Je n'en avais jamais entendu parler. C'est assez impressionnant.

0 votes

Très bien, et je n'en avais jamais entendu parler auparavant

0 votes

C'est l'heure de la question idiote : Est-ce la raison pour laquelle la géodésique est populaire sur les campus universitaires - le fait qu'elle soit considérée comme insoluble ou que l'on sache qu'elle est insoluble conduit à des solutions connues en géodésique ... ( ? ) Je me suis toujours interrogé sur les étudiants en architecture qui pourraient travailler sur la question et qui souhaitent identifier des "problèmes de recherche assez difficiles" afin d'éviter des excursions profondes dans des pertes de temps qui n'ont pas de solution.

19voto

Michael Kristofik Points 16035

Le premier site web qui me vient à l'esprit est Informations d'Amit sur la programmation de jeux et sa collection de liens sur des grilles hexagonales.

2 votes

Un article plus récent et plus pertinent d'Amit : aquí

8voto

Sphaerica Points 115

Lire "Geodesic Discrete Global Grid Systems" par Kevin Sahr, Denis White, et A. Jon Kimerling

Vous pouvez le trouver aquí ...

19 votes

-1 Lorsque toute votre réponse est une référence à une autre source, je m'attends à ce que vous résumiez la source d'une manière ou d'une autre. Dites-moi pourquoi je veux lire ce document. Vous n'avez fourni qu'un lien, et je pense que nous pouvons faire mieux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
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