Esiste un equivalente 3D delle mappe esagonali delle tessere?


26

Probabilmente il più grande vantaggio di una piastrellatura di mappe a base esagonale rispetto a quella quadrata è che il centro di ciascun esagono ha la stessa distanza da tutti i suoi esagoni vicini. Esiste una forma simile che si affianca in questo modo in 3D e un motore che supporta tale modello?


In realtà stai ponendo due domande (non raccomandato). La prima domanda, sulle forme 3D (a parte i cubi presumo), appartiene davvero a math.stackexchange.com . Il secondo è più legato al gioco, anche se sospetto che la risposta sia no. :)
Ciclope,

1
I quadrati hanno anche la stessa distanza da tutti i quadrati vicini (supponendo che un vicino sia un quadrato che condivide un bordo)
bummzack,

2
Ho pensato di metterlo in matematica, ma ho pensato che l'argomento potesse essere troppo vicino all'applicabilità del mondo reale;) Ma ci proverò allora.
Hackworth,

@bummzack Se non fosse ovvio dalla domanda, ovviamente ho fatto riferimento al caso in cui contate tutti gli 8 quadrati come vicini o 26 cubi in 3D.
Hackworth,

Ho modificato un po 'la tua domanda per minimizzare la "mathiness" del primo bit e concentrarmi maggiormente sull'aspetto del motore.
Josh,

Risposte:


19

Google e Wikipedia tag team in soccorso:

Tessellation e, più specifico per il 3D, Honeycomb è il termine da cercare. I cubi sono in effetti gli unici poliedri regolari (tutte le facce sono congruenti) E riempiono lo spazio (non ci sono spazi vuoti come nel caso delle sfere) nello spazio 3D. Ma hanno lo stesso problema dei quadrati 2D: distanze molto diverse dai vicini.

Un nido d'ape cubico bicromato fatto di ottaedra troncata (piuttosto un boccone) si avvicina molto a quello che stavo chiedendo. I lati negativi sono che l'ottaedro troncato non è regolare (quadrati ed esagoni come facce) e ha meno vicini di un cubo (14 vs 26), ma riempie lo spazio con un singolo solido ripetuto e ha (approssimativamente) uguale distanza da tutto il suo vicinato.


+1 interessante. Il conteggio dei vicini del cubo sembra essere disattivato (dovrebbe essere 26 anziché 28?).
bummzack,

+1 nido d'ape, carino. Conoscevo la struttura, avevo dimenticato il nome.
Ingegnere,

9

Le mappe esagonali 2D sono una rappresentazione di sfere racchiuse in un vassoio piatto (2D), con ogni esagono centrato sulla sfera equivalente, e consentono di determinare le distanze tra le celle in modo da renderle praticabili (comunque per scopi di gioco), semplicemente contando il numero di celle esagonali attraverso le quali passi.

La rappresentazione 3D equivalente è la tessalizzazione cubica (FCC) / cubic close packing (CCP) centrata sulla faccia sopra menzionata, usando dodecaedri rombici.

Mosaico cubico centrato sulla faccia in tre dimensioni

Questo articolo di Wikipedia si riferisce in particolare a FCC / CCP e questo altro articolo lo confronta con il close pack esagonale (HCP) ma il secondo articolo tende ad essere un po 'più matematico.

Ho studiato l'uso di questi nella mappatura dei giochi di ruolo, ma sebbene ci sia una "correttezza" accattivante su di essi (la base matematica, la capacità di imballare lo spazio senza lacune, la simmetria quando le fette vengono prese attraverso il reticolo ecc.), Il reale i problemi ai fini del gioco sembrano essere la difficoltà che i giocatori / GM dovrebbero affrontare nel visualizzarli e la mancanza di un ovvio sistema di coordinate per riferirli.

Anche se mi fa male, i cubi semplici con le coordinate {x, y, z} sembrano una soluzione molto più semplice, permettendo a tutti di concentrarsi sul gameplay piuttosto che essere costantemente sconcertati dalla scelta non banale dello standard di mappatura.

Solo i miei 2 centesimi, anche se un'aggiunta molto tardi a questo thread.

Oh, a parte le impostazioni a tema spaziale, ogni cella ha dodici celle adiacenti (tre in alto, tre in basso e sei attorno al piano) e questo consente un collegamento perfetto tra costellazione / astrologia. Immagina un settore domestico nella cella iniziale, quindi assegna un nome a ciascun settore adiacente in base a una delle costellazioni astrologiche. Proprio come le mappe esadecimali possono essere scomposte in esagoni più piccoli, le celle FCC potrebbero essere scomposte in celle più piccole, consentendo a ciascun settore chiamato dopo una costellazione di essere scomposto in sottosettori. "Facciamo rotta per il sottosettore 031 del settore Gemelli" ...

Stuart


Sarei interessato a discutere con te il problema delle coordinate esadecimali 3D per i giochi di ruolo, se lo desideri.
Kyle Strand,

6

Esistono due semplici analoghi 3D del reticolo esagonale: Hexagonal Close Packing (HCP) e Cubic Close Packing , ovvero Face-Centered Cubic (CCP / FCC).

Entrambi questi reticoli sono abbastanza simili: hanno lo stesso numero di vicini più vicini per sito (12) e la stessa densità di impaccamento della sfera (~ 74%) e possono entrambi essere scomposti in reticoli esagonali 2D sovrapposti.

Dei due, considererei il reticolo CCP un po '"più bello": è più simmetrico, non ha assi preferiti come il reticolo HCP. In particolare, se dovessi sederti all'interno di una delle celle del reticolo del PCC e guardare una delle celle vicine più vicine, il reticolo sembrerebbe lo stesso indipendentemente da quale delle celle vicine stavi guardando. Ciò non vale per il reticolo HCP.

Le cellule della piastrellatura del PCC sono dodecaedri rombici simpatici e simmetrici , mentre quelli dell'HPC sono contorti in dodecaedri trapezo-rombici . Ecco una foto di alcuni dodecaedri rombici piastrellati per formare un reticolo del PCC da Wikipedia:

Piastrellatura dodecaedrica rombica

(Immagine dell'utente AndrewKepert di Wikipedia, concesso in licenza in base a GFDL 1.2+ / CC-By-SA 3.0.)

Si noti inoltre che, come suggerisce il nome alternativo "reticolo cubico centrato sulla faccia", esiste una formula molto semplice per trovare i centri delle cellule in un reticolo CCP: iniziare con un reticolo cubico semplice, con punti agli angoli dei cubi, e aggiungi nuovi punti al centro delle facce dei cubi. I vicini più vicini dei punti agli angoli sono quelli sulle 12 facce adiacenti, mentre i vicini più vicini dei punti sulle facce sono i 4 sugli angoli adiacenti più l'8 sulle facce adiacenti dei due cubi che condividono la faccia su cui il punto centrale sta. (Con un po 'di geometria, puoi mostrare che i quartieri di tutti i punti sembrano effettivamente uguali, anche se questa costruzione fa sembrare che i "punti del viso" fossero diversi dai "punti d'angolo".)

(Nota: la pagina MathWorld a cui ho collegato sopra sembra contenere un errore, dando anche la densità del reticolo "Corpo-Centrato cubico" correlato non impacchettato pari al 74% - in realtà è circa il 68%.)


5

Concordo con @Cyclops sul fatto che probabilmente è meglio chiederlo allo scambio di stack matematici, ma nel frattempo potresti voler esaminare la struttura di Hexagonal Close Packing . È la disposizione più densa possibile di sfere in 3D e, sebbene la distanza da tutti i vicini non sia uniforme, potrebbe essere la migliore che otterrai. Il reticolo Cubico Diamante ha una distanza uguale a quella dei vicini diretti, ma è piuttosto impacchettato e ogni punto ha solo quattro punti adiacenti.


L'HCP funziona davvero bene; devi solo "schiacciare" gli strati in modo che la distanza tra i centri delle celle sia la stessa in ogni direzione. Una cella ha quindi dodici vicini: tre su, tre giù e sei sullo stesso piano.
Martin Sojka,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.