幾何学において、空間分割とは、空間全体(通常はユークリッド空間)を2つ以上の互いに素な部分集合に分割する過程です(集合の分割 も参照)。言い換えれば、空間分割は空間を重複しない領域に分割します。空間内の任意の点は、それらの領域のいずれか1つに存在すると特定できます
空間分割システムは階層的であることが多く、つまり空間(または空間の領域)が複数の領域に分割され、作成された各領域に同じ空間分割システムが再帰的に適用されます。 領域は空間分割ツリーと呼ばれるツリーに編成できます
ほとんどの空間分割システムは、平面(または高次元では超平面)を用いて空間を分割します。平面の片側にある点は一つの領域を形成し、反対側にある点は別の領域を形成します。平面上にある点は、通常、どちらかの側に任意に割り当てられます。このように平面を用いて空間を再帰的に分割すると、最も一般的な空間分割形式の一つであるBSP木が生成されます。
空間分割はコンピュータグラフィックスにおいて特に重要であり、特にレイトレーシングでは仮想シーン内のオブジェクトを整理するために頻繁に使用されます。典型的なシーンには数百万のポリゴンが含まれる場合があります。それぞれのポリゴンに対してレイ/ポリゴン交差テストを実行することは、非常に計算コストの高いタスクになります
オブジェクトを空間分割データ構造(k -dツリーやBSPツリーなど)に格納すると、特定の種類のジオメトリクエリを簡単かつ高速に実行できるようになります。たとえば、光線がオブジェクトと交差するかどうかを判断する場合、空間分割によって交差テストの回数を主光線ごとに数回に減らすことができ、ポリゴン数に対して対数的な時間計算量を実現できます。 [ 1 ] [ 2 ] [ 3 ]
空間分割は、スキャンラインアルゴリズムにおいて、カメラの視野錐台からポリゴンを除去するためによく使用され、パイプラインで処理されるポリゴンの数を制限します。また、衝突検出にも利用されます。2つのオブジェクトが互いに近接しているかどうかを判定する場合、空間分割を使用することで、はるかに高速に判定できます。
集積回路設計において、重要なステップの一つは設計ルールチェックです。このステップでは、完成した設計が製造可能であることを確認します。このチェックには、幅や間隔などの形状パターンを指定するルールが含まれます。現代の設計では、配線やトランジスタを表すポリゴンが数十億個に及ぶことがあります。効率的なチェックは、ジオメトリクエリに大きく依存しています。例えば、あるルールでは、任意のポリゴンは他のポリゴンから少なくともnナノメートル離れている必要があると指定できます。このルールは、ポリゴンをすべての辺でn/2に拡大し、交差するすべてのポリゴンを検索することで、 ジオメトリクエリに変換されます。
空間分割における成分の数は、確率論におけるいくつかの結果において中心的な役割を果たします。詳細については、 成長関数を参照してください。
地理的空間現実を水文学的基準、 行政的基準、数学的基準など によって分割する研究や応用は数多くあります。
地図作成やGIS(地理情報システム)の分野では、区画のセルを標準コードで識別するのが一般的です。例えば、水路流域と小流域を識別するHUCコード、国とその下位区分を識別するISO 3166-2コード、あるいは任意のDGG(象限または位置を識別する離散的グローバルグリッド)などが挙げられます 。
一般的な空間分割システムには以下が含まれます。
n次元ユークリッド空間が -次元の超平面で分割されていると仮定します。分割された超平面の成分の数はいくつですか?成分の最大数は、超平面が一般的な位置にあるとき、つまり、2つが平行ではなく、3つが同一の交点を持たないときに得られます。この最大成分数を と表記します。すると、次の漸化式が成り立ちます。 [ 4 ] [ 5 ]
その解決策は次のとおりです。
これは次のように上限が定められます。