Ho una matrice di dimensione 5. Ma non riesco a capire come visualizzare quell'array?
int[][][][][] array = new int[4][4][4][6][2].
Esiste un buon modo per visualizzare gli array con un numero di dimensioni pari o superiore a 3?
Ho una matrice di dimensione 5. Ma non riesco a capire come visualizzare quell'array?
int[][][][][] array = new int[4][4][4][6][2].
Esiste un buon modo per visualizzare gli array con un numero di dimensioni pari o superiore a 3?
Un array 2D di cubi 3d potrebbe visualizzarlo, sebbene non ci sia un buon modo generale per mostrare tutti i dati in una volta in modo significativo.
Non penso che abbia senso visualizzare la matrice in ogni sorta di vero senso "spaziale". Alla fine, è tutto mappato su indirizzi di memoria "piatti".
Se davvero dovessi farlo - forse qualcosa di simile?
(
Tuttavia, eviterei di provare a considerarlo come qualcosa di fisico. Perché ... beh, non lo è.
Se la pensi come una matrice di matrici (... di matrici ...) puoi descrivere qualsiasi array nd.
Un array bidimensionale è solo un array in cui ogni elemento rappresenta il proprio array.
Una matrice tridimensionale è solo una matrice in cui ogni elemento rappresenta una matrice in cui ogni elemento rappresenta una matrice.
ecc ... ecc ...
"Visualizzare" oltre le 3 dimensioni è molto difficile, se non impossibile, da fare spazialmente (anche se ho amici che giurano che possono fare 4). Ma se vuoi avere una buona idea di come pensare che una matrice 5d o anche una n-d rappresenti i dati, pensa a un albero di sorgenti html. Hai:
top layer[0]
stuff in the second layer[0][0]
stuff in the third layer[0][0][0]
you get the picture...
stuff in the third layer[0][0][1]
stuff in the second layer[0][1]
top layer[1]
more stuff...
Pensa a ciascun livello di accesso alla matrice multi-D come a un indirizzo con un significato che porta a qualcosa di specifico.
x[0][1][7];
Questo potrebbe rappresentare qualsiasi cosa nelle coordinate spaziali x-0, y-1, z-7.
Ma nessuno ha detto che doveva essere spaziale. Potrebbe anche essere ciò che ottieni quando selezioni la scelta 0 nel primo menu, 1 nel secondo menu e 7 nel successivo.
Gli array Multi-D alla fine si limitano semplicemente a utilizzare gli array per creare associazioni numeriche concatenate a valori specifici. Alla fine è sempre solo l'ultimo array della catena che contiene effettivamente valori piuttosto che array. Gli indie possono avere qualsiasi significato che vogliamo dargli.
Se cerchi un modo grafico per rappresentarlo in uno spazio 3D, quello che @whatsisname ha detto è la soluzione. O viceversa: un cubo in cui ogni elemento è una matrice. Dipende da ciò che i tuoi dati rappresentano.
Se vuoi solo controllare i dati, un albero a 5 livelli espandibile dovrebbe andare bene.
Questo dipende molto dal contenuto delle celle. Ma se vuoi veramente visualizzare il contenuto, non hai bisogno di vedere subito array 5D di valori di alta precisione.
Definisci pochi (2-5) intervalli con efficienza diversa da dove potrebbero appartenere valori. E crea 2 delle tue dimensioni come xey, e altre tre - interpretali come colori - R, G, B. E in ogni punto (x, y, r, g, b) puoi avere un valore dell'intervallo. Certo, un osservatore ha bisogno di tempo per capire l'immagine, ma ne avrebbe bisogno per ogni tipo di immagine 5D.