Constructive Solid Geometry
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/01/18 14:56 UTC 版)
![]() | この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。2023年1月) ( |
空間領域構成法(英: Constructive Solid Geometry, CSG)はソリッドモデリングで使われる技法のひとつである。CSGは手続き的モデリング技法として3次元コンピュータグラフィックスやCADでしばしば使われる。ブーリアン演算を使って複雑な表面やオブジェクトを生成することができる。CSGで生成されるモデルや表面は視覚的には複雑だが、オブジェクト群をうまく組み合わせたものでしかない。CSGはポリゴンの格子上で実行されることもあり、手続き的な場合もあるし、パラメトリックな場合もある。
CSGで使用する最も単純なソリッドオブジェクトをプリミティブ(基本立体)と呼ぶ。典型的なプリミティブとしては直方体、円柱、角柱、角錐、球面、円錐などがある。利用可能なプリミティブの種類はそれぞれのソフトウェアパッケージによって異なる。ソフトウェアパッケージによっては曲面のあるオブジェクトをCSGで扱えるものもある。
CSGはプリミティブ群に操作を施すことでオブジェクトを「構築 (construct)」する。典型的な操作としては、集合論的ブーリアン演算がある(和集合、共通部分、差集合)。
プリミティブは一般に何らかのパラメータを手続きに入力することで記述できる。例えば、球はその中心の座標と半径の値とを与えることで記述できる。そのようにして記述したプリミティブ群に以下のような操作を施すことで複合的なオブジェクトを生成できる。
ブーリアン演算の和集合 | ブーリアン演算の差集合 | ブーリアン演算の共通部分 |
---|---|---|
2つのオブジェクトを1つにしたもの。 | 一方のオブジェクトからもう一方を引いたもの。 | 両方のオブジェクトの共通部分。 |
このような基本操作を組み合わせることで、単純なオブジェクトから非常に複雑なオブジェクトを構築できる。
CSGの応用

関連ポータルのリンク - Leadwerks Software 'What is Constructive Solid Geometry?' - CSGの定義、方程式、技法、用法の解説
- GNU Triangulated Surface library - オープンソース (LGPL) のライブラリ。CSG機能も持つ。
- Computational Geometry Algorithms Library - オープンソース (LGPL, QPL) ライブラリ。CSG機能がある。
- The CSG rendering library - オープンソース (GPLv2) ライブラリ。OpenGLを使ったCSGベースのレンダリング
- HyperFun Project - 幾何学モデリング関数型言語。各種オブジェクトにCSGの操作を施せる。
- Overview of CSG in avoCADo - オープンソースの3次元CADソフト
- SimpleGeo - 粒子輸送問題をモンテカルロ法で解き、ソリッドモデリングで対話的に表すシミュレーションソフト。
- FMEpedia CSGBuilder example - wikipedia の CSG 2分木の図はFME (Feature Manipulation Engine) を使って描かれた。
- SolidKit Library - C++用グラフィックスライブラリ(OpenGL使用)。CSG機能もある
「Constructive solid geometry」の例文・使い方・用例・文例
- <geometry).
- Constructive Solid Geometryのページへのリンク