В настоящее время я использую эту формулу, чтобы сгладить многомерный массив (x, y, z):
array = new byte[GridSizeX*GridSizeY*GridSizeZ];
index = x + y * GridSizeX+ z * GridSizeX* GridSizeY;
Мне было интересно, как бы я go заставил ее работать для отрицательных значений любого из x , y и z, поскольку индекс не может быть отрицательным значением, формула не работает, например, с ячейкой (-1,2,3).
Есть ли чистая формула, которая может принимать учитывать различные диапазоны x, y, z (также неоднородные диапазоны)?
Например, minX = -5, maxX = 7 / minY = -2, maxY = 3 // minZ = -4, maxZ = 6.
Спасибо!