扁平化空間索引向高維空間映射的規(guī)則

扁平化空間索引向高維空間映射的規(guī)則


在圖形圖像處理、數值計算、機器學習等領域,常常會遇到由扁平空間索引向高維空間轉換計算的問題,其核心思想就是:高維度索引位置取決于扁平索引和所有低緯度索引空間之積的倍數。

通用規(guī)則:

對于 N 維數組,維度大小為 [d1, d2, ..., dN],扁平化索引為 idx:

從最低維度(dN)開始計算

第 N 維索引 = idx % dN

對于第 n 維(n < N):

idx = idx ÷ (dn+1 * dn+2 * ... * dN) (向下取整)

第 n 維索引 = idx % dn


二維例子:3x4 數組,扁平化索引 5

維度:[3, 4]

列索引(第2維)= 5 % 4 = 1

行索引(第1維)= (5 ÷ 4) % 3 = 1 % 3 = 1

結果:[1, 1](第2行,第2列,從0開始計數)

三維例子:2x3x4 數組,扁平化索引 15

維度:[2, 3, 4]

第3維索引 = 15 % 4 = 3

臨時索引 = 15 ÷ 4 = 3

第2維索引 = 3 % 3 = 0

臨時索引 = 3 ÷ 3 = 1

第1維索引 = 1 % 2 = 1

結果:[1, 0, 3]


注意:第 n 維索引 = idx % dn的計算不是必須的,特別是已知idx是合理數值的前提下,特別是對于某些高性能需求的場景。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容