[C++] Array tridimensionali

di il
14 risposte

[C++] Array tridimensionali

Ciao a tutti vorrei sapere come fare un array tridimensionale abbastanza grande, 40000x18000x40000. E' possibile o devo adottare un'altra soluzione per gestire così tanti valori? Ho provato vari modi:
UCHAR World[40000][18000][40000];
Giustamente il compilatore mi dice che l'array è troppo grande. Mentre se uso:
UCHAR*** World;
World = new UCHAR ** [40000];
int i,j;
for (i = 0; i < 40000; i++) {
    World[i] = new UCHAR * [18000];
    for (j = 0; j < 18000; j++) {
        World[i][j] = new UCHAR [40000];
    }
}
Mi si impalla il PC.
Evidentemente non posso usare array, ma allora cosa uso?

Grazie a tutti.

14 Risposte

  • Re: [C++] Array tridimensionali

    array tridimensionale abbastanza grande
    LOL ^ 288 Giga
  • Re: [C++] Array tridimensionali

    Cosa ci devi tenere dentro a sto coso 3D? il range dei valori x cella qual'è?
  • Re: [C++] Array tridimensionali

    LOL ^ 288 Giga
    40.000 x 18.000 x 40.000 = 2,88e13 = 28.800.Giga = 28,8 tera byte
  • Re: [C++] Array tridimensionali

    Stavo cercando di capire se esisteva la possibilità di mettere + celle in un UCHAR ma effettivamente servono i server di google per una roba così
  • Re: [C++] Array tridimensionali

    Attendiamo con ansia il motivo di tutta sta memoria
  • Re: [C++] Array tridimensionali

    Yahyahy sisi troppo grande come array appunto c'è un modo per evitare di usare 28 TB ? Io sto creando un mondo con Direct3D (specifichiamo: lo devo ancora iniziare) formato da cubi. Quindi ho bisogno di un qualcosa che mi contenga il materiale del cubo (terra, pietra ecc...). (ricordatevi che 1 cubo è equivalente a 1 m3, quindi 40000x8000x40000 sarebbe 1600 km2 * h, inoltre come altezza mi basta anche molto di meno tipo 200-800). Ho visto anche uno stralcio di codice ma non ci ho capito niente
  • Re: [C++] Array tridimensionali

    Un' idea che mi viene è la mappatura separata ma deve esser ben valutata in base a tutti gli elementi certi. praticamente supponiamo si debba creare un mondo virtuale (avendo le mappe) si parte dalla divisione terra/acqua/aria e sará il default di posizione mappando i confini di zona, poi si mappano zona/subzona/materiale e/o zona/subzona/oggetto e così via. Si lavora su disco e in ram.
  • Re: [C++] Array tridimensionali

    Mi spiace ma mi sa di non sapere cosa sia una mappa :/
  • Re: [C++] Array tridimensionali

    La mappa è una cartografia vettoriale che definisce in base a coordinate x,y,z un poligono in 3d.
    prova a dare un occhio a questo progetto open source
  • Re: [C++] Array tridimensionali

    Se uso vector<> funziona ma per inizializzare l'array ci vuole un secolo...
  • Re: [C++] Array tridimensionali

    Hai veramente 30TB di memoria virtuale
    Col Vector non funziona, semplicemente il new non alloca + memoria silenziosamente.
  • Re: [C++] Array tridimensionali

    Sí ma ho cambiato l'altezza a 200 (40000^2 * 200 cavoli 320 000 000 000 quindi 320 GB sempre un casino peró)
  • Re: [C++] Array tridimensionali

    Mi potreste fare un semplice esempio su come dovrei usare la mappa?
  • Re: [C++] Array tridimensionali

    Mi potreste fare un semplice esempio su come dovrei usare la mappa?
Devi accedere o registrarti per scrivere nel forum
14 risposte