3. geometric modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:ln-ccw...

22
1 2. 2次元CG Computer Graphics Numazu College of Technology Dept. of Computer & Control CGCAD/CAM Laboratory 3. Geometric Modeling Version 1.1 2006.03.31 2. 2次元CG 3. 形状モデル (Geometric Model) 3.1 形状モデル(形状モデリング) 3.2 形状モデルの分類 3.3 ワイヤーフレームモデル 3.4 サーフェイスモデル 3.5 ソリッドモデル 3.6 CSGモデル 3.7 -Repsモデル 3.8 空間格子モデル

Upload: others

Post on 19-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

1

2. 2次元CG

Computer Graphics

Numazu College of TechnologyDept. of Computer & Control

CG・CAD/CAM Laboratory

3. Geometric Modeling

Version 1.1 2006.03.31

2. 2次元CG

3. 形状モデル(Geometric Model)

3.1 形状モデル(形状モデリング)

3.2 形状モデルの分類

3.3 ワイヤーフレームモデル

3.4 サーフェイスモデル

3.5 ソリッドモデル

3.6 CSGモデル

3.7 B-Repsモデル

3.8 空間格子モデル

Page 2: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

2

3. 3次元CG

形状モデルの利用例形状モデルの利用例

3. 3次元CG

3.1 形状モデル(形状モデリング)

実体 形状モデル

実体をコンピュータが理解できる形式に変換する

コンピュータに取り込む

形状モデリング 形状モデル

Page 3: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

3

3. 3次元CG

3.2 形状モデルの分類

形状分割モデル

形状モデル(分割手法で分類)

空間分割モデル

ワイヤーフレームサーフェイスソリッドモデル(CSG、B-Reps)

空間格子モデル

CSGB-Reps空間格子モデル(離散モデル)

形状モデル(表現手法で分類)

ワイヤーフレームサーフェイスソリッドモデル

一般的

3. 3次元CG

形状モデルの概念比較

ワイヤーフレームモデル サーフェイスモデル

ソリッドモデル 空間格子モデル

Page 4: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

4

3. 3次元CG

3.3 ワイヤーフレームモデル

頂点テーブル 辺 テーブル1

2

0

3

4

5

6

7

89

1011

01

2

3

4

56

7

8

910

11

13

1415

1612

頂点番号 辺番号x STARTy ENDz

2520202525 5 5 5 5202025

1 3 2 3 41110 9111010 9 811 5 8 7 6

0 0 1 2 3 0 1 2 4 7 9 8 7 6 4 5 6 5

0 1 2 3 4 5 6 7 8 91011

0 1 2 3 4 5 6 7 8 91011121314151617

1515 5 5 5 51515 5 51515

15151515 2 2 2 5 5 5 5 2

XY

Z

3. 3次元CG

ワイヤーフレームモデルの特徴

・データ構造が簡単である・複雑な形状でも高速処理が可能

・円筒面、曲面の表現が困難・描画される形状の解釈が困難・面の概念を持たないため隠面・線処理不可

長所

短所

ワイヤー(針金)で形状を組み立てる方式

Page 5: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

5

3. 3次元CG

ワイヤーフレームモデルの問題点の例

Truth is out of there.

Sphere or circle?

Where is truth?

Sphere

3. 3次元CG

3.4 サーフェイスモデル

頂点テーブル

面テーブル

1

2

0

3

4

5

6

7

89

1011

01

2

3

4

56

7

8

910

11

13

1415

1612

頂点番号

面辺

x

L0 L1 L2

y z

2520202525 5

4 016 2 1 0 914

0 1 2 3 4

0 1 2 3 4 5 6 7

1515 5 5 5

3 617 6 5 212 8

15151515 2

79

151082

118

111612741

1017

1513

14 5

XY

Z

6

3

5

0

2

7

14

辺 テーブル

辺番号 START END

1 3 2 3 411

0 0 1 2 3 0

0 1 2 3 4 5

17

L3 L4 L5

Page 6: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

6

3. 3次元CG

曲面表現

∑∑

∑∑

= =

= == n

0i

m

0jijlj,ki,

n

0i

m

0jijijlj,ki,

(v)w(u)MN

P(v)w(u)MNv)S(u,

]t ・・・ tt[tTt)t,t(t 0

)tt(t 1(t)N

(t)Ntttt(t)N

tttt(t)N

1kn000

1i1i

1iii,1

1kl,i1;iki

ki1ki,

i1ki

iki,

−+

++

+

−+++

+−

−+

=⎩⎨⎧

<<≤≤

=

−−

+−

−=

Pi+2,j+2

Pi-1,j-1

Pi-1,j+2

Pi+2,j-1

NURBS曲面

yz

v方向

u方向

Pi,j

パッチ

Non-Uniform Rational B-Spline

その他の曲面式

Coons曲面 , B-Spline曲面 , Bezier曲面

3. 3次元CG

サーフェイスモデルの特徴

・データ構造が比較的簡単である・面情報に基づいて高速処理描画が可能・曲面の表現が可能(FEM、曲面加工が可能)

・面と面の関係がないため立体として認識ができない・曲面の精度を上げるとデータ量が増える・面の裏表が無いため内部の有無表現ができない

(マスプロパティ計算ができない)

長所

短所

ワイヤーフレームに面情報を付加したデータ形式(CGの世界では今でも使用されている)

Page 7: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

7

3. 3次元CG

サーフェイスモデルの問題点の例

曲面の分割と精度

高精度

高精度

3618 72

データ量大

データ量大

3. 3次元CG

サーフェイスモデルの問題点の例

立体を認識できない

面1

面2

面3面4

面5

面6

辺1

辺2

6面から構成されている直方体の場合

・6面から構成されていることはわかる・しかし、面と面の関係はわからない・辺と辺の関係もわからない・どちらが表かわからない

6面からなる立体であることはわかるが、直方体であることは認識できない

位相情報

Page 8: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

8

3. 3次元CG

3.5 ソリッドモデル(Solid Model)

ソリッドモデルの利用例

車のブレーキの干渉 部品の熱特性

車体周りの空気の流れ解析

立体を内部情報を含めて表現(主流となりつつある)

クボタ・ケー・ジー・ティーのHPより(http://www.kgt.co.jp/)

3. 3次元CG

ソリッドモデルの特徴と概念比較

CSG

A

Model = (A + B) -C Model = Geometric + Topology

CB

B-Reps

+ -

空間格子モデル

・形状の内部情報を持つためマスプロパティ計算が可能・幾何形状を認識できる・形状間の衝突チェックが可能となる

Page 9: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

9

3. 3次元CG

3.6 CSGモデル

円錐

ボックス

円柱 トーラス

ピラミッド

プリミティブ形状

セットオペレーション(形状間の論理演算)

個々のプリミティブは数式で表現する

球:半径(r)2222 rzyx =++

円柱(円筒):半径(r)2222 rzyx =−+

Constructive Solid Geometry

3. 3次元CG

セットオペレーション例

A B C

D = ( A + B ) - C

D=fx(A,B,C)

Page 10: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

10

3. 3次元CG

CSGモデルの特徴

形状を数式で表されたプリミティブの集合演算で表現

・データ構造が簡単でかつ、生成手順を示す・生成過程での形状の変更が容易・形状の妥当性と形状精度が保証される

・数式で保持しているため描画が遅い(ポリゴン化が必要)・複雑な処理(例えば干渉計算)を行う場合、数式間の演算

が発生し処理時間を要する・自由曲面を数式立体として持つことが困難

長所

短所

1973に北大沖野教授が提案 TIPS-1

現在は形状の入力手法として利用されている

現状Feature Model

3. 3次元CG

3.7 B-Reps(境界表現)モデル

5

6

6

3

5

0

22

7

14

10

9

109

1211

1517

16

8 88

7 7

76

5

面の法線ベクトル

面の法線ベクトル

面の表から見て左回り

頂点テーブル 面テーブル

頂点番号 面辺x L0 L1 L2y z

2520202525 5

4[1] 0[0]16[1]12[1]12[0] 0[1] 9[0]

14[1]

0 1 2 3 4

0 1 4 2 6 5 3 7

1515 5 5 5

3[1] 6[0]

17[0]16[1]11[0] 2[1]

12[0] 8[1]

15151515 2

7[0] 9[1]

15[0]17[1]10[0] 2[1]

12[0] 8[1]

11[0]16[1]12[0]15[1] 9[0] 1[1]

10[0]17[1]

1513

14[0] 5[1]

辺 テーブル(2倍持つ)

辺番号 START END

1 3 2 8 711

0 0 1 7 8 0

0[0] 1[1] 2[1]12[0]12[1] 5[0]

L3 L4 L5

辺12[0]= 7->8

辺12[1]= 8->7

Boundary-Representations

以上は幾何情報であり、さらに面と面の構成情報(位相情報)を持つ

Page 11: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

11

3. 3次元CG

カーネルデータの概念

幾何情報と位相情報から成り立つ

頂点の座標

曲線式辺の構成要素

曲面式面の構成要素

頂点の辺の隣接関係頂点から分岐する辺の関係

辺と面の隣接関係辺から分岐する面の関係

面と立体の隣接関係面から分岐する立体の関係

立体

面 面・曲面

辺・曲線

点頂点

位相情報 幾何情報

(geometry) (topology)現在主流の形状モデル

3. 3次元CG

位相データの持ち方(Winged-Edge)Winged-Edgeデータ構造(現在主流のデータ構造)

・1本の稜線の上下には必ず2つの頂点(Pp,Pn)が存在する

・1本の稜線の左右には必ず2つの面(Sp,Sn)が存在する

頂点Pp

頂点Pn

面:Sp面:Np

稜線:Lp-cw稜線:Ln-ccw

稜線:Lp-ccw稜線:Ln-cw

Edge ・2つの頂点からは2本ずつ稜線が存在する

データ構造とルール

近年はさらに発展した half-edge -> radial-edgeになってきている

稜線(Edge)頂点 Pp

稜線 Lp-cw稜線 Lp-ccw

面 Sp

頂点 Pn稜線 Ln-cw稜線 Ln-ccw

面 Np

Page 12: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

12

3. 3次元CG

カーネルの構成例

DesignBaseの構成図

http://www.ricoh.co.jp/designbase/concept/index.html

3. 3次元CG

B-Repsモデルの特徴

形状を面主体の幾何情報と位相情報で表現

・面データが主体なので表示が高速で美しい・生成過程での形状の局所変更が容易

・存在できない形状の生成を許してしまう・データ構造が複雑であるため、複雑な処理(例えば干渉計

算)を行う場合、処理時間を要する・曲面の多面体化による精度の劣化をまねく

長所

短所

1973に英ケンブリッジ大I.C.Braidが提案 BUILD

現在はCAD用形状モデルの標準となっている

現状

Page 13: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

13

3. 3次元CG

B-Repsの問題点の例

変形により位相が異なる形状が生成される

自己干渉

点を押し出す

3. 3次元CG

B-Repsの問題点の解決法(Euler Operation)

Euler Poincare Equation : 位相構造の矛盾を検出

v - e + f - r = 2 ( b - h )

v:頂点の数 e:辺の数 f:面の数r:面の内部ループ数 b:物体の数 h:物体を貫通する穴の数

v - e + f - r = 2 ( b - h )

16 - 24 + 10 - 2 = 2 ( 1 - 1 )

Page 14: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

14

3. 3次元CG

B-Repsで表現できない形状

非多様体

Radial-edge

V, Vh, Vc はそれぞれ、volume, volume の貫通穴, volume の空洞の個数C, Ch, Cc は連結成分, 貫通穴, 空洞の個数)

v - e + ( f - r ) - ( V - Vh + Vc ) = C - Ch + Cc

従来のWinged-Edgeでは表現できない

データ構造

Euler式

3. 3次元CG

現在主流のカーネルモデル

・ACIS(仏Dassault Systems系-米Spatial Technology)

・Parasolid(米Unigraphics Solutions)

・Designbase(日Richo)

from・Z(CG)、AutoCAD,TurboCAD, CADKEYファイル形式:*.SAT

Solidworks, SolidEdge, SolidMAN, MasterCAM Solid(CAM)

現在流通する形状データ *.sat , *.stl, *.dxf, *.obj, *.igs

http://www.spatial.co.jp/

http://www.ugsjapan.com/ファイル形式:*.x_b

インターネット上で流通 *.wrl(VRML) , *.xvl(Lattice Kernel)

http://www.ricoh.co.jp/designbase/

図脳Century3D, MicroCADAM Helix

Page 15: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

15

3. 3次元CG

まとめ(ソリッドモデルの特徴)

形状モデル 長  所 短  所

データ構造が簡単 局所変形が困難

データ量が少ない 曲面の表現が困難

形状の正当性が保証される グラフィック表示が遅い

B-Repへの変換可能 工具経路生成複雑

変形のやり直しが簡単 図面化が困難

局所変形が容易 データ構造が複雑

曲面の表現が容易 データ量が多い

グラフィック表示が高速 形状の正当性が保証されない

工具経路生成簡単 CSGへの変換が困難

図面化が容易

データ構造が簡単 精度を上げるとデータ量膨大

形状は空間一意性を持つ 他のモデルへの変換が困難

工具経路生成が簡単 データ量が姿勢に依存する

形状処理が簡単

干渉チェックが高速

マスプロパティ計算が容易

CSG

B-Rep

空間格子

ソリッドモデルの特徴

3. 3次元CG

3.8 空間格子モデル

ターボエンジン部品の非破壊検査

オルタネータの非破壊検査と熱解析

マニホールドの検査

Page 16: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

16

3. 3次元CG

応用例

骨の可視化 エンジンブロックの可視化

3. 3次元CG

応用例

全て VGStudio により作成された映像です

http://www.ittc.co.jp

歯の内部の可視化

Page 17: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

17

3. 3次元CG

空間格子モデルの概念(2D)

空間格子モデル(Spatial-Partitioning Representations)

X

X

X

X

Y

Y

Y

Y

0

0

0

0

0

0 0 0 0 0 0 0 0 00 1

1111 1 1 11 1

11

1

1

1

1

1

11

1111 1

1

11

0 00 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 00 0 0 0 00 0 0 0 0 0 0 0 0 0

3. 3次元CG

空間格子モデルの種類

Z-mapVoxel(3次元配列)

XX

Y

Y

Z

Z

x(i)

y(j)

z(i,j)

(Z軸データに限定2次元配列)

Page 18: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

18

3. 3次元CG

Z-Mapモデルの応用例(静岡)

静岡県

3. 3次元CG

Z-Mapモデルの応用例(三島)

三島-箱根

Page 19: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

19

3. 3次元CG

空間格子モデルの特徴

形状を微少な直方体の集合体で表す

・データ構造が簡単・加工に必要な情報(干渉,内外判定)の計算が容易

・画像や測定データなど取り扱うデータ形式、形状に制限がない

・精度を上げようとすると膨大なメモリを要求する・幾何形状の画面への表示精度が劣る

長所

短所

MRI,CTなど画像処理技術として発展してきた

・医療データの可視化技術として多用されている・加工情報生成にも利用されているが、補助としての扱いが多い

現状

3. 3次元CG

空間格子モデルの問題点の解決手法

Enhanced Z-mapOctreeX

Y

Z

y(j)

X

Y

Z

・データが複雑で管理しにくい(処理速度の低下)・精度の分割領域の判定が難しい

Page 20: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

20

3. 3次元CG

Boundary-Map Geometric Model

X

X

X

X

Y

Y

Y

Y

0

0

0

0 VoxelBoundary-Map

3. 3次元CG

Boundary-Map の応用

Voxel Boundary-MapSetOperation NURBS+PrimitiveTool Path Machined ShapeEngine Mt. Fuji

NC Simulation

Page 21: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

21

3. 3次元CG

MRIからの変換例

3. 3次元CG

課題1:まとめ

問. 次の形状に対してオイラー式を作れ

Page 22: 3. Geometric Modelinguser.numazu-ct.ac.jp/~fujio/personal/jp/kougi/zukei/...稜線:Ln-ccw 稜線:Lp-cw 稜線:Ln-cw 稜線:Lp-ccw Edge ・2つの頂点からは2本ずつ稜線が存在する

22

3. 3次元CG

課題2:まとめ

問. 以下に示す三角形の単位法線ベクトルを求めよ

単位法線ベクトル(20,30,25)

(20,10,20)

(10 , 10 ,10 )

X

Y

Z

3. 3次元CG

課題3:まとめ

問. 次の文の空欄を埋めよ

3次元形状をコンピュータ内で表現するモデルを(1)という。これらには大きく分けてワイヤーフレーム、サーフェイス、(2)の三つに大別できる。また、(2)はさらに (3),(4),(5)に大別できる。このうち、(6)はサーフェイスモデルに面の内外情報を持たせた手法で、そのデータ構造には(7)が用いられている。このデータ構造の正当性を判定するための式としては (8) が用いられる。また、(9) は数式で表現できる基本形状を和・差・積の演算により組み合わせて形状をつくる方法である。

(10) は、形状を小さな直方体(Voxel)で表現する手法で、医療に用いられる手法であるが、近年工業界にも適用する動きがある。