※当サイトはPRを含みます

【3D点群処理】3Dの表現方法まとめ

2022年7月23日

はじめに

3Dデータにはいくつかの表現方法があります。こちらの記事でも簡単に紹介していますが、今回はそれぞれの表現方法について詳しく見ていきたいと思います。

①Raw Data:Point Cloud, Range Image, Polygon Soup

②Surface:Mesh, Subdivision, Parametric, Implicit

③Solid:Voxel, BSP Tree, CSG, Sweep

Raw Data
Surface
Solid

3Dモデル表現の分類

3Dモデル表現の大まかな分類です。

Raw Data(生データ)

Raw Dataは表示や保存、編集などのために手が加えられていない生のデータです。

Point Cloud (点群)

3次元座標値(x, y, z) で構成される点の集合です。点の表現は、理解しやすく扱いやすいですが、点群は順序付されていない点の集合となり、異なる順序の点群で同じ形状を表現できてしまうため、曖昧さの問題があります。

Depth Image (距離画像)

レンジ画像の各ピクセルは、既知の基準フレームとシーン内の可視点との間の距離を表現しています。レンジ画像は、2つの基本的な形式で表現することができます。一つは、ある基準フレームにおける3次元座標のリスト(点群)であり、特定の順序を必要としません。もう1つは、x,y画像軸の方向に沿った点の深度値の行列で、これは空間構成を明示するものです。

Polygon Soup(ポリゴンスープ)

三角形のリスト。3つの頂点の座標を持っているが、それぞれがどの三角形に隣接しているかという情報は持っていません。

Surface(サーフェス)

Surfaceはオブジェクトの表面の形状を表現しています。作成する「面」は厚みが「0」で、質量(内部情報)を持ちません。

Mesh(メッシュ)

点と点を三角形で繋いで面を生成します。

Subdivision(サブディビジョン)

最初にポリゴンで荒い分割の形状を作成後、細かく分割して面を生成する手法です。

Parametric(パラメトリック)

B-spline曲線などを使用して曲面を生成する手法です。

Implicit (陰関数)

陰関数で曲面を生成する手法です。

Solid(ソリッド)

ソリッドモデルは体積があり、中身の詰まったモデルです。
使用する材料の密度を設定することができ、質量を算出することが可能です。

Voxel(ボクセル)

ボクセル(voxel)とは体積(volume)とピクセル(pixel)を組み合わせた言葉で、立体物の表現に用いられる小さな立方体の最小単位であり、二次元画像におけるピクセルに相当します。

こちらの記事でボクセルについて紹介しています→参考

BSP Tree(バイナリ空間分割)

ある1つのポリゴンを「根」として、残りのポリゴンについて、そのポリゴンより表側にあるか、裏側にあるかという分類を再帰的に適用して、2分木に構成していきます。

CSG (Constructive Solid Geometry)

プリミティブと呼ばれる基本的な3次元形状の組み合わせで表現します。

Sweep(押し出し)

平面を直線的に押し出して立体を作成します。

おすすめ参考書