2D 画像を平坦化するために、Python で (Matlab のものから) Hilbert-Peano 空間充填曲線の実装を作成しました。
def hilbert_peano(n):
if n<=0:
x=0
y=0
else:
[x0, y0] = hilbert_peano(n-1)
x = (1/2) * np.array([-0.5+y0, -0.5+x0, 0.5+x0, 0.5-y0])
y = (1/2) * np.array([-0.5+x0, 0.5+y0, 0.5+y0, -0.5-y0])
return x,y
ただし、従来の Hilbert-Peano 曲線は、形状が 2 のべき乗である多次元配列に対してのみ機能します (例: 2D 配列の場合は 256*256 または 512*512 (画像))。
これを任意のサイズの配列に拡張する方法を知っている人はいますか?