みさご解体新書

配列のインデックスの変換

概要

画像のピクセルやオセロの盤面のような構造を一次元配列で管理しているが、インデックスを (x, y) に変換したい、もしくはその逆の計算をする場合のアルゴリズム。

コード例

インデックスを一次元から二次元に変換する場合

const x = index % width;
const y = Math.floor(index / width);

インデックスを二次元から一次元に変換する場合

const index = y * width + x;

ソースコード

app.ts

内部で利用しているアルゴリズム

床関数