0

我在 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;
    }

它负责曲线顺序的变量位。下图表示 1 到 3 的曲线顺序。 在此处输入图像描述

我的问题是谁来为 n 维点扩展这个代码?我需要多维数组或其他技术吗?

在此处输入图像描述

感谢您的时间。

4

0 回答 0