計算幾何学は、
計算機科学の一分野であり、幾何学的な概念をコンピュータで扱うための
アルゴリズムを研究する学問です。この分野は、
コンピュータグラフィックスやコンピュータ支援設計(CAD)、コンピュータ支援製造(
CAM)の発展とともに、その重要性を増してきました。計算幾何学は、純粋な幾何学的な問題が計算
アルゴリズムの研究を通じて生まれるという側面も持ち合わせています。
計算幾何学の概要
計算幾何学は、
コンピュータグラフィックスの発展や、CAD/
CAMの研究分野としての側面が主な動機となって発展しました。しかし、その対象とする問題は、自然界における古典的な幾何学の問題と共通する部分が多くあります。応用分野としては、
ロボット工学における行動計画や可視性の問題、地理情報システムでの幾何学的配置や探索、ルート選定、
集積回路設計における幾何学的設計や検証、コンピュータ支援工学における数値制御機械のプログラミングなどが挙げられます。
計算幾何学は、大きく分けて以下の二つの分野に分類できます。
1.
組み合わせ論的計算幾何学:
離散的な幾何学的対象を扱い、効果的な
アルゴリズムや
データ構造を開発することを目的とします。この分野では、点、
線分、
多角形、
多面体などの基本的な幾何学的対象を基に問題を定式化し、それらを効率的に処理する
アルゴリズムを追求します。
2.
数値計算幾何学、計算機支援幾何学的デザイン、幾何学的モデリング:
現実世界の物体をCAD/
CAMシステムでコンピュータ処理に適した形で表現することを主な目的とします。これは、画法幾何学の発展形と見ることができ、
コンピュータグラフィックスやCADの分野と密接に関連しています。
組み合わせ論的計算幾何学の詳細
組み合わせ論的計算幾何学では、具体的な幾何学的対象を用いて問題を定義し、それらを解決するための効率的な
アルゴリズムを開発します。例えば、以下のような問題が挙げられます。
*
最近接点探索: 平面上に与えられた複数の点の中から、互いの距離が最も小さい2点を見つける問題です。単純な方法では点の数の二乗に比例する計算時間が必要ですが、計算幾何学ではより効率的な
アルゴリズムが研究されています。
このような問題において、計算量は非常に重要な要素となります。特に、扱うデータが膨大な場合、
アルゴリズムの効率性が計算時間に大きな影響を与えます。例えば、点の数が1000万や1億といった規模になると、計算時間の違いは数日から数秒になることもあります。
問題の分類
計算幾何学における問題は、その性質によってさらにいくつかのカテゴリに分類できます。
1.
静的問題:
入力された幾何学的対象から、特定の出力を構築または計算する問題です。例えば、凸包問題、
線分交叉問題、ドロネー三角形分割、ボロノイ図、線形計画問題、ユークリッド最短経路問題、
多角形の三角形分割などがこれに含まれます。これらの問題では、計算時間やメモリ使用量といった計算量が評価の指標となります。
2.
幾何学的問合せ問題:
探索空間と
クエリから構成される問題で、探索空間は前処理によって効率的に
クエリに応答できるように準備されます。例として、範囲探索、点配置、最近接近傍探索、レイ・トレーシングなどが挙げられます。これらの問題では、
データ構造の構築にかかる時間と空間、
クエリへの応答時間などが評価の対象となります。
3.
動的問題:
入力の変更(幾何学的要素の追加や削除)に応じて解を繰り返し求める問題です。動的な
データ構造を用いて、効率的な
アルゴリズムを開発する必要があります。例えば、動的範囲探索問題や動的凸包問題などが挙げられます。これらの問題では、
データ構造の構築、変更、
クエリに対する時間と空間が評価対象となります。
変種
問題によっては、文脈によってどのカテゴリにも属する可能性のあるものもあります。例えば、点が
多角形の内部にあるかどうかを判定する問題は、状況に応じて静的問題、問合せ問題、動的問題のいずれにもなりえます。そのため、問題に対する具体的な状況を考慮して分類する必要があります。
数値的計算幾何学
数値的計算幾何学は、曲線や曲面のモデリングや表現を扱う分野です。ベジエ曲線、スプライン曲線、スプライン曲面などのパラメータ表示が基本的な道具として用いられ、非パラメータ的な手法としてはレベル集合などがあります。この分野は、造船、航空、自動車製品などの幅広い分野に応用されており、現代では、香水ビンやシャンプーのボトルなど、日用品のデザインにも活用されています。
その他の情報
計算幾何学は、CAD/
CAM/CAE、
ロボット工学、立体モデリング、計算位相幾何学、デジタル幾何学など、様々な分野と関連があります。また、計算幾何
アルゴリズムライブラリ(CGAL)や空間分割などの概念も重要です。
さらに、計算幾何学に関する多くの書籍や論文、研究雑誌があり、活発な研究活動が行われています。