Ich verwende einen 1D-Vektor zur Darstellung einer 3D-Datenstruktur mit Indizes 0 bis x * y * z, wobei x, y und z die Anzahl der Zellen in jeder Richtung sind.1D-Vektor - 3D-Indizes
Um eine bestimmte Zelle [xi] indiziert [yi] [zi], die ich benutze:
index = xi + x*yi + x*y*zi ;
Mein Problem ist, ich kann Sie nicht arbeiten, wie in die andere Richtung zu gehen!
z.B. Ich mag die einzelnen Koordinaten in Index vertreten erhalten 43.
Ich glaube, ich habe gearbeitet, wie xi zu erhalten:
xi = index % x ;
aber ich kann nicht für das Leben von mir, die andere bekommen .. .:/
EDIT: Hmmm. Ist das richtig?
xi = index % x;
yi = ((index - xi)/x) % y;
zi = ((index - xi - x*yi)/x)/y ;
Ihre Bearbeitung ist richtig, aber die Subtraktionen sind wegen der Ganzzahldivision unnötig – SirGuy