19
立立立立立 立立立立 立立立 立立立立立立 、CSG、

立体の生成方法 境界表現、CSG表現、スイープ表現

  • Upload
    rianne

  • View
    134

  • Download
    8

Embed Size (px)

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 Presentation

Citation preview

Page 1: 立体の生成方法 境界表現、CSG表現、スイープ表現

立体の生成方法境界表現、CSG表現、スイープ表現

Page 2: 立体の生成方法 境界表現、CSG表現、スイープ表現

立体の表現方法 (1)

• 境界表現 (B-rep(Boundary Representation))

• CSG表現 (Constructive Solid Geometry Representation)

Page 3: 立体の生成方法 境界表現、CSG表現、スイープ表現

• スイープ表現 (Sweep Representation) f1: v1, v2, v3, v4, v5, v6 S: Sweep(f1, dir: (0, 0, -1), length: 4)

立体の表現方法 (2)

Page 4: 立体の生成方法 境界表現、CSG表現、スイープ表現

境界表現(1)境界表現とは,頂点・稜線・面と,これらの相互関係を表すデータによって立体データを表現するものである.

Page 5: 立体の生成方法 境界表現、CSG表現、スイープ表現

境界表現(2)境界表現によるデータは,以下の2種類のデータにより構成される.

幾何データ:座標,方程式の係数などのような数値データトポロジーデータ:頂点・稜線・面間の関係を表すデータ幾何データ

トポロジーデータ

Page 6: 立体の生成方法 境界表現、CSG表現、スイープ表現

ウィングドエッジデータ構造(1)境界表現の一実現例

ウィングドエッジデータとは,立体を稜線の集まりであると定義し,各稜線について,他の稜線・頂点・面との関係を保持するトポロジーデータ構造である.

各稜線につき一つのウィングドエッジデータを生成

Page 7: 立体の生成方法 境界表現、CSG表現、スイープ表現

ウィングドエッジデータ構造(2)

V1

V2E2

E3

E1

E4E

F1

F2

各稜線につき一つのウィングドエッジデータを生成

V1 V2

E1 E2

E4 E3

F1 F2

E

Page 8: 立体の生成方法 境界表現、CSG表現、スイープ表現

ウィングドエッジデータ構造(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

Page 9: 立体の生成方法 境界表現、CSG表現、スイープ表現

内部と外部の判定点P (x0,y0,z0) が,多面体の中に存在するかを調べる.面 F1 のどちら側に点 P が存在するかを調べる.

V1

V2V3

V4E1

E2E3

E4

E5E6

F1 F2F3

F4

点P (x0,y0,z0)

以上のような処理を,各面について調べる.全ての面について,点 Pは各面の実体側にあると判断された場合,点 Pは立体中に存在するものとする.

Page 10: 立体の生成方法 境界表現、CSG表現、スイープ表現

CSG表現 (Constructive Solid Geometry)

CSG表現とは,立体を3次元空間における点の集合ととらえ,集合演算を基本に立体をモデル化する方法である.

Page 11: 立体の生成方法 境界表現、CSG表現、スイープ表現

CSG 表現の集合演算A B

A∩B A - B

B - AA B ∪ または A + B

Page 12: 立体の生成方法 境界表現、CSG表現、スイープ表現

CSG表現の例(1)例えば,下図の立体Sは,A+B( A : 直方体 B : 円柱 ) で表される.

立体S

= +

A : 直方体 B : 円柱

Page 13: 立体の生成方法 境界表現、CSG表現、スイープ表現

CSG表現の例(2) 30,120,110),,( zyxzyx

200,3),,( 22 xzyzyx

点集合A 0:

点集合B0:

z

x

y

o 11

123

xy

z

o3

20

Page 14: 立体の生成方法 境界表現、CSG表現、スイープ表現

CSG表現の例(3)

xy

z

o3

20

z

x

y

o 11

123

z

x

y

o

変換行列T a

変換行列Tb

Page 15: 立体の生成方法 境界表現、CSG表現、スイープ表現

プリミティブの例

Page 16: 立体の生成方法 境界表現、CSG表現、スイープ表現

内部と外部の判定(1)例えば,点 P(x0,y0,z0) が,下図に示す立体の中に存在するかを調べる.

z

x

y

o

点 P(x0,y0,z0)

Page 17: 立体の生成方法 境界表現、CSG表現、スイープ表現

内部と外部の判定( 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)

Page 18: 立体の生成方法 境界表現、CSG表現、スイープ表現

境界表現とCSG表現の比較境界表現の利点

形状の幾何データが数値で与えられているので,形状の表示,シミュレーションに,形状データをそのまま流用できる.面・稜線・頂点がデータとして別個に管理されているため,形状以外の情報を,面・稜線・頂点に関連付けやすい.

CSGの利点形状の定義が明確.

Page 19: 立体の生成方法 境界表現、CSG表現、スイープ表現

スイープ表現• 平面図形を一定方向に移動したときの軌跡で立体を表現• 局所変形との組み合わせで,様々な形状を表現可能• 平行移動スイープ,回転移動スイープ