Il est facile de gérer la façon dont les emplacements interagissent sur une grille cartésienne propre. C'est juste des maths vanillées. Et vous pouvez en quelque sorte ignorer la géométrie de la surface de la sphère pour un tas si vous voulez simplement tronquer les pôles ou quelque chose. Mais je continue de proposer des idées de jeux où l'espace polaire compte. ARG géocodés et roguelikes mondiaux et autres.
Je veux des emplacements carrés (ish?) - raisonnablement représentables par des tuiles carrées de la même taille à travers le monde, de toute façon.
Cela doit être un problème résolu, non?
Quelles sont les solutions?
ETA:
À l'équateur - et en supposant que vos emplacements carrés sont raisonnablement petits, il est assez proche de vrai que vous pouvez vous en sortir en ayant un carré dans les rangées nord et sud de la rangée la plus équatoriale. Et vous pourriez probablement vous en tirer en agitant simplement la différence à la main jusqu'à 45 degrés environ. Mais finalement, vous devez avoir moins de carrés dans une rangée circonférentielle de pôle. Si je réduis la longueur de la ligne d'une unité et que je décale les carrés de 1/2, ils sont comme des hexagones et il est relativement facile de faire le codage pour garder une trace des connexions. Mais à mesure que vous vous éloignez, cela devient de plus en plus extrême.
Projeter la surface du monde sur la surface d'un cube est tentant. Mais je me suis dit qu'il devait déjà y avoir des solutions plus élégantes.
Si j'ai fait le cube (sans le disséquer davantage par géodésie), y a-t-il des avantages et des inconvénients à placer le pôle au centre d'une face ou au sommet de trois côtés?
la source
Réponses:
Je pense que vous cherchez une grille géodésique . Beaucoup de gens se rapprochent de la terre avec un cube:
Carlos A. Furuti a beaucoup de cartes de la terre qui se replient en cube
Vous pouvez également être intéressé par la projection quinconciale The Peirce qui cartographie la Terre entière sur un ou deux carrés.
L'icosaèdre (carte Dymaxion; "Quelle est la meilleure façon de pixeliser une sphère?" ) Donne un peu moins de distorsion, mais est plus compliqué.
la source
J'ai toujours voulu voir un jeu où la carte sphérique utilisait un polyèdre ordinaire d'une certaine sorte au lieu de jouer le monde sur un tore. Cette technique est appelée carte Dymaxion . (source: grunch.net )
Je recommanderais un icosaèdre . Plop le triangle actuel afin qu'il soit aligné sur un bord d'un carré. Lorsque le joueur quitte le triangle, remontez le triangle suivant et mappez-le de nouveau à l'identique. Les coordonnées du joueur seraient alors remappées dans la nouvelle section. Ainsi, chaque section de votre carte a son propre système de coordonnées. Vous devrez également dessiner l'arrière-plan des 3 sections adjacentes et 9 semi-adjacentes. Je ne pense pas que l'utilisateur serait en mesure de déterminer comment il est mis en œuvre s'il est bien fait.
Voici un exemple de la façon dont cela pourrait fonctionner.
Bien sûr, après avoir lu ceci, vous utiliserez probablement la carte torus classique et j'attendrai de voir un véritable univers polyédrique.
la source
Si vous créez une sphère à l'aide d'une base géodésique, la zone polaire n'est pas traitée différemment de toute autre région en termes d'espacement des sommets, ce qui facilite la cartographie uv uniforme.
La plupart des applications de modélisation vous permettent de créer une sphère primitive à l'aide d'une conception géodésique.
la source
Il n'y a aucun moyen de "mapper" une sphère avec des carrés (ou des rectangles) et de les faire tous se rejoindre à des sommets "communs".
Cependant, serait-il possible de générer la "vision locale" à la demande? L'espace problématique n'est pas vraiment indiqué dans la question, mais si je travaillais sur quelque chose où je voulais une vue sur la ville mais qui voulait pouvoir faire tourner le monde, je pourrais temporairement mapper une grille sur une section "assez plate" de le monde. L'origine de la grille serait là où se trouvait votre centre local, et la normale à ce point correspond à la normale de la surface de la planète.
Ensuite, quand on sort du réseau, un nouveau est généré à la demande.
Cela peut ou non fonctionner pour le PO, mais pour certains, cela peut être utile.
la source
Prenez un cube, la distance entre les sommets et le centre du cube étant égale au rayon souhaité. Vous avez une sphère composée de 6 quads.
Maintenant, à chaque étape, prenez chaque quadruple, divisez-le en 4 et déplacez les 5 nouveaux sommets (un au centre et 4 sur les bords - attention, ils sont PARTAGÉS) loin du centre afin qu'ils aiment sur le désir rayon.
Non, cette méthode n'est pas parfaite, mais au moins c'est une distribution plus ou moins égale sur la sphère.
la source
Avec le dymaxion max, vous avez des hexagones disposés en triangles sur une surface plane, mais comme la carte n'est pas vraiment plate, ce sont des pentagones. Si vous souhaitez permettre au joueur de conserver son orientation lorsqu'il parcourt certaines parties, vous devrez séparer les cartes de localisation de la façon dont elles sont réellement stockées. Pour des choses comme les bâtiments, vous pouvez stocker une petite carte de vecteurs rectangulaires, puis faire un travail difficile de les dessiner dans l'orientation que vous souhaitez.
Vous n'auriez pas besoin de toujours faire ressembler l'intérieur à un récent tremblement de terre, car je pense que le joueur moyen ne devrait même pas se soucier d'entrer dans une porte au nord-est mais d'entrer dans un écran avec la porte d'entrée orientée en raison sud et l'ensemble du bâtiment sur une grille régulière.
Bien que si vous allez simplement stocker des bâtiments et des sites importants comme ça, vous avez quand même fait tout le travail pour un modèle de football. Le résultat final est que vous stockez le monde sous forme de motif non carré, puis le forcez dans une telle grille où que se trouve le joueur.
Il y a une autre alternative cependant - si vous ne leur donnez pas une indication aussi précise de la sphère, comme si vous leur donniez juste une boussole de faible précision pour leur dire laquelle des quatre directions orthogonales était la plus proche du nord, alors vous pourriez vous éloigner avec juste faire des rotations à 90 degrés pour n'importe quel endroit où le joueur est allé. Compte tenu du niveau graphique supposé, ce n'est pas comme si vous deviez vous soucier d'un grand bâtiment obscurcissant une porte. Tant qu'ils savaient s'ils étaient près des pôles ou non, ils ne devraient pas être trop contrariés par le changement de boussole sur eux, à moins que les PNJ autour d'eux ne leur disent de se diriger vers le nord-est ou qu'ils essaient réellement de se rendre à des coordonnées de latitude et de longitude spécifiques .
la source
Vous posez une question que les gens qui font des cartes se posent depuis longtemps :)
Allez certainement lire sur Map Projections pour obtenir des idées et des idées qui pourraient vous aider. Le défi de représenter la surface d'une sphère sur / avec un plan 2D plat est une chose à laquelle les gens réfléchissent depuis longtemps.
En bref, non, vous ne pouvez pas le faire. C'est pourquoi lorsque vous regardez des cartes du monde, certaines parties sont déformées et d'autres non. Habituellement, ce sont les pôles, car la plupart des cartes concernent des zones non polaires.
Comme d'autres réponses l'ont dit, la réponse est soit d'utiliser une forme différente (hexagones ou triangles par exemple), soit de générer dynamiquement votre carte à la volée pour le point de vue actuel de l'utilisateur.
Les tuiles carrées sont assez faciles à gérer, sans aucun doute, mais je ne pense pas que créer une carte hexadécimale de carrelage soit si difficile.
Voici un ancien article de GameDev.net que vous pourriez trouver utile. Il s'agit de faire des tuiles isométriques et hexagonales sur une grille.
http://www.gamedev.net/reference/articles/article747.asp
La recherche sur "carte hexadécimale de tuilage" vous donnera beaucoup de coups sûrs, certains utiles, d'autres non.
la source
J'utilise plusieurs caméras réseau PTZ de Sony, modèle SNC-RX570N, dans le but de suivre des objets en mouvement dans le ciel et de trianguler pour obtenir de véritables pistes 3D. Un des aspects de la configuration initiale consiste à définir des "circuits" sans surveillance, pour lesquels des points de cheminement doivent être choisis. Il y a un nombre restreint de tels points de cheminement programmables, et je veux couvrir tout l'hémisphère (la "sphère céleste") de l'horizon au zénith, sans laisser de lacunes.
Je me suis donc posé la question "Quel est le nombre minimum de waypoints dont j'ai besoin pour une couverture complète (pas de lacunes)?". J'ai découvert que je ne peux pas vraiment comprendre cela.
La caméra a un panoramique sans fin (360 degrés) et une inclinaison de 0 à 90 degrés, il est donc théoriquement possible d'obtenir une couverture complète. L'écran de l'appareil photo, destiné à un usage informatique, est rectangulaire au format 4: 3. Le champ de vision horizontal approximatif avec un zoom 1x est de 58 degrés.
Il existe deux façons de représenter le problème, selon la projection choisie: - rectiligne comme Mercator, où l'horizon est "l'équateur" et le zénith est "le pôle", dilaté sur 360 degrés de panoramique. - polaire, où l'horizon est la circonférence du cercle et le zénith est le centre du cercle.
Je trouve polaire la façon la plus simple d'aborder le problème. Je peux découper le cercle en tranches de tarte de taille FOV horizontale, et cela me dit que j'ai besoin de 7 points de cheminement autour du cercle avec ce H-FOV de 58 degrés. Jusqu'ici tout va bien. Le rayon intérieur est simplement l'inclinaison ou V-FOV, qui est 3/4 de 58 degrés. Jusqu'ici tout va bien - j'ai couvert les parties les plus externes du cercle.
Mais cela devient plus difficile à l'approche du zénith. Je suppose que l'un de mes waypoints est exactement au zénith. Comment mapper mon rectangle de vue sur la région autour du centre du cercle? Est-ce que cette forme est un rectangle, une ellipse, un coussin ou quoi? Comment puis-je remplir le bit central entre la belle couverture extérieure soignée et cette forme étrange au zénith? Déconcerté.
Je note que l'angle solide d'un hémisphère est de 2 * PI stéradians, et celui de mon FOV à 1x zoom est de 0,762 st, ce qui signifie que j'ai besoin d'un minimum de 9 pavages. Je soupçonne que la réponse est supérieure à 9.
la source
Si vous voulez faire une grille mondiale, je vous suggère de diviser la planète en pays ou continents, et de faire une grille carrée correctement centrée sur chacun. Laissez l'océan recouvrir les coutures.
la source