Я использую 1D-вектор для представления трехмерной структуры данных с индексами от 0 до x * y * z, где x, y и z - количество ячеек в каждом направлении.1D vector - 3D-индексы
Для того, чтобы индексировать конкретные ячейки [хи] [уг] [цзы], я использую:
index = xi + x*yi + x*y*zi ;
Моя проблема в том, что я не могу работать, как идти в другую сторону!
например. Я хочу, чтобы получить отдельные координаты, представленные в индексе 43.
Я думаю, что я работал, как получить хх:
xi = index % x ;
, но я не могу за жизнь мне получить другие .. .:/
EDIT: Хммм. Это правильно?
xi = index % x;
yi = ((index - xi)/x) % y;
zi = ((index - xi - x*yi)/x)/y ;
Ваше правое право, но вычитания не нужны из-за целочисленного деления – SirGuy