我在 c# 中编写了以下代码,它计算二维点的 Snake 索引。
public static uint SnakeCurveIndex(uint bits, uint x, uint y )
{
uint index = 0;
//The dimension of the array
uint dim = (uint)Math.Pow( 2.0 , (double)bits);
if(y % (uint)2 == 0 )
{
index = x + y * dim;
}
else
{
index = (dim - 1 - x) + y * dim;
}
if (index >= dim*dim)
{
//Debug console
throw new Exception("The index is out of bounds");
}
return index;
}
我的问题是谁来为 n 维点扩展这个代码?我需要多维数组或其他技术吗?
感谢您的时间。