Algoritmo per la creazione di un percorso 3D in loop che completa il riempimento di un cubo [chiuso]

1

Sto creando un mondo di gioco che consiste in un cubo di 16 x 16 x 16 rubix (nella foto), in cui i singoli cubi galleggiano nello spazio. I cubi si muovono continuamente lungo un singolo percorso impostato che si collega a se stesso alla fine. Potrebbe essere utile pensare a loro mentre attraversano un labirinto 3D. Esistono algoritmi o soluzioni che potrebbero aiutarmi a generare questo percorso?

    
posta Adam 27.10.2015 - 22:11
fonte

1 risposta

1

Come ho detto in un commento, un modo possibile per risolvere questo è quello di tessere un percorso di ritorno & avanti attraverso una faccia usando 2 matite. Una matita disegna l'inizio del percorso e l'altra disegna la fine.

Ecco un esempio per una faccia:

+----------------+
|abcdefghijklmnop|
|ZYXWVUTSRQPONMLq|
|****ABCDEFGHIJKr|
|*###3210zyxwvuts|
|*###############|
|***************#|
|***************#|
|*###############|
|*###############|
|***************#|
|***************#|
|*###############|
|*###############|
|***************#|
|***************#|
|*###############|
+----------------+

Una matita inizia nella riga superiore, nella colonna sinistra, "abcd ..."

L'altra matita inizia nella seconda riga, nella colonna di sinistra, "ZYXWV ..."

Come puoi vedere, entrambi i percorsi terminano nella colonna di sinistra, in basso nelle 2 righe. A quel punto ti sposti alla prossima faccia & ripeti il processo.

Quando hai finito devi seguire percorsi "paralleli". Basta unire le estremità e amp; hai il tuo loop che visita ogni nodo.

una limitazione

Funziona solo perché il numero di righe (o colonne) è un multiplo di 2. Se la tua griglia era di 15x15x15, avresti un problema.

    
risposta data 27.10.2015 - 23:16
fonte

Leggi altre domande sui tag