立体の生成方法 境界表現、CSG表現、スイープ表現
DESCRIPTION
立体の生成方法 境界表現、CSG表現、スイープ表現. 立体の表現方法 (1). 境界表現 (B-rep (Boundary Representation) ) CSG表現 ( Constructive Solid Geometry Representation ). 立体の表現方法 (2). スイープ表現 (Sweep Representation) f1: v1, v2, v3, v4, v5, v6 S: Sweep(f1, dir: (0, 0, -1), length: 4). 境界表現(1). - PowerPoint PPT PresentationTRANSCRIPT
立体の生成方法境界表現、CSG表現、スイープ表現
立体の表現方法 (1)
• 境界表現 (B-rep(Boundary Representation))
• CSG表現 (Constructive Solid Geometry Representation)
• スイープ表現 (Sweep Representation) f1: v1, v2, v3, v4, v5, v6 S: Sweep(f1, dir: (0, 0, -1), length: 4)
立体の表現方法 (2)
境界表現(1)境界表現とは,頂点・稜線・面と,これらの相互関係を表すデータによって立体データを表現するものである.
境界表現(2)境界表現によるデータは,以下の2種類のデータにより構成される.
幾何データ:座標,方程式の係数などのような数値データトポロジーデータ:頂点・稜線・面間の関係を表すデータ幾何データ
トポロジーデータ
ウィングドエッジデータ構造(1)境界表現の一実現例
ウィングドエッジデータとは,立体を稜線の集まりであると定義し,各稜線について,他の稜線・頂点・面との関係を保持するトポロジーデータ構造である.
各稜線につき一つのウィングドエッジデータを生成
ウィングドエッジデータ構造(2)
V1
V2E2
E3
E1
E4E
F1
F2
各稜線につき一つのウィングドエッジデータを生成
V1 V2
E1 E2
E4 E3
F1 F2
E
ウィングドエッジデータ構造(3)V1 V2E1 E3E2 E4F1 F2
E
V1 V2E1 E3E2 E4F1 F2
E
V1 V2E1 E3E2 E4F1 F2
E
V1 V2E1 E3E2 E4F1 F2
E
V1 V2E1 E3E2 E4F1 F2
E
稜線の数だけウィングドエッジデータを生成
V1 V2
E1 E2
E4 E3
F1 F2
E
内部と外部の判定点P (x0,y0,z0) が,多面体の中に存在するかを調べる.面 F1 のどちら側に点 P が存在するかを調べる.
V1
V2V3
V4E1
E2E3
E4
E5E6
F1 F2F3
F4
点P (x0,y0,z0)
以上のような処理を,各面について調べる.全ての面について,点 Pは各面の実体側にあると判断された場合,点 Pは立体中に存在するものとする.
CSG表現 (Constructive Solid Geometry)
CSG表現とは,立体を3次元空間における点の集合ととらえ,集合演算を基本に立体をモデル化する方法である.
+
CSG 表現の集合演算A B
A∩B A - B
B - AA B ∪ または A + B
CSG表現の例(1)例えば,下図の立体Sは,A+B( A : 直方体 B : 円柱 ) で表される.
立体S
= +
A : 直方体 B : 円柱
CSG表現の例(2) 30,120,110),,( zyxzyx
200,3),,( 22 xzyzyx
点集合A 0:
点集合B0:
z
x
y
o 11
123
xy
z
o3
20
CSG表現の例(3)
xy
z
o3
20
z
x
y
o 11
123
z
x
y
o
変換行列T a
変換行列Tb
プリミティブの例
内部と外部の判定(1)例えば,点 P(x0,y0,z0) が,下図に示す立体の中に存在するかを調べる.
z
x
y
o
点 P(x0,y0,z0)
内部と外部の判定( 2 )この場合,点 P の同次座標 P'(wx0,wy0,wz0,w)を考え, P' T a
-1 が集合A 0 中に存在するか?P' T b
-1 が集合B 0 中に存在するか? を調べる.
形状SはAとBの和集合なので,上記のいずれかが満たされれば,点 P は形状S中に存在するものとする.
z
x
y
o
xy
z
o3
20
xo
z
y
点 P(x0,y0,z0)
境界表現とCSG表現の比較境界表現の利点
形状の幾何データが数値で与えられているので,形状の表示,シミュレーションに,形状データをそのまま流用できる.面・稜線・頂点がデータとして別個に管理されているため,形状以外の情報を,面・稜線・頂点に関連付けやすい.
CSGの利点形状の定義が明確.
スイープ表現• 平面図形を一定方向に移動したときの軌跡で立体を表現• 局所変形との組み合わせで,様々な形状を表現可能• 平行移動スイープ,回転移動スイープ