3D デカルト ベクトルとして表される無秩序な点の大規模なセット (数万から数百万) が与えられた場合、すべての点を囲む規則的な正方形グリッド (ユーザー定義の間隔) を作成するための適切なアルゴリズムは何ですか? いくつかの制約:
- グリッドは正方形で規則的である必要があります
- 理想的には単一の変数を使用して、グリッド間隔 (正方形の 1 つの辺の長さ) を調整できる必要があります。
- 最小サイズのグリッドが必要です。つまり、グリッド内のすべての 'ブロック' には、少なくとも 1 つの無秩序な点が含まれている必要があり、すべての無秩序な点は 'ブロック' で囲まれている必要があります。
- アルゴリズムの戻り値は、グリッド ポイントの座標のリストである必要があります。
2D で説明すると、次の一連の点が与えられます。
あるグリッド間隔 X の場合、アルゴリズムの戻り値の 1 つとして、これらの赤い点の座標が考えられます (破線は説明目的のみ)。
グリッド間隔 X/2 の場合、アルゴリズムの可能な戻り値の 1 つは、これらの赤い点の座標になります (破線は説明目的のみ)。
興味のある方のために説明すると、私が取り組んでいる無秩序な点は、.pdb ファイルから取得できるような大きなタンパク質分子の原子座標です。
ソリューションには Python が好まれますが、疑似コードも適しています。
編集: 必要なものについての最初の説明は少しあいまいだったと思うので、明確にするためにいくつかの制約と画像を追加しました。