Page 1
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
2
3. 3次元CG
形状モデルの利用例形状モデルの利用例
3. 3次元CG
3.1 形状モデル(形状モデリング)
実体 形状モデル
実体をコンピュータが理解できる形式に変換する
コンピュータに取り込む
形状モデリング 形状モデル
Page 3
3
3. 3次元CG
3.2 形状モデルの分類
形状分割モデル
形状モデル(分割手法で分類)
空間分割モデル
ワイヤーフレームサーフェイスソリッドモデル(CSG、B-Reps)
空間格子モデル
CSGB-Reps空間格子モデル(離散モデル)
形状モデル(表現手法で分類)
ワイヤーフレームサーフェイスソリッドモデル
一般的
3. 3次元CG
形状モデルの概念比較
ワイヤーフレームモデル サーフェイスモデル
ソリッドモデル 空間格子モデル
Page 4
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
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
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曲面
x
yz
v方向
u方向
Pi,j
パッチ
Non-Uniform Rational B-Spline
その他の曲面式
Coons曲面 , B-Spline曲面 , Bezier曲面
3. 3次元CG
サーフェイスモデルの特徴
・データ構造が比較的簡単である・面情報に基づいて高速処理描画が可能・曲面の表現が可能(FEM、曲面加工が可能)
・面と面の関係がないため立体として認識ができない・曲面の精度を上げるとデータ量が増える・面の裏表が無いため内部の有無表現ができない
(マスプロパティ計算ができない)
長所
短所
ワイヤーフレームに面情報を付加したデータ形式(CGの世界では今でも使用されている)
Page 7
7
3. 3次元CG
サーフェイスモデルの問題点の例
曲面の分割と精度
高精度
高精度
3618 72
データ量大
データ量大
3. 3次元CG
サーフェイスモデルの問題点の例
立体を認識できない
面1
面2
面3面4
面5
面6
辺1
辺2
6面から構成されている直方体の場合
・6面から構成されていることはわかる・しかし、面と面の関係はわからない・辺と辺の関係もわからない・どちらが表かわからない
6面からなる立体であることはわかるが、直方体であることは認識できない
位相情報
Page 8
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
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
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
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
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
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
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
15
3. 3次元CG
まとめ(ソリッドモデルの特徴)
形状モデル 長 所 短 所
データ構造が簡単 局所変形が困難
データ量が少ない 曲面の表現が困難
形状の正当性が保証される グラフィック表示が遅い
B-Repへの変換可能 工具経路生成複雑
変形のやり直しが簡単 図面化が困難
局所変形が容易 データ構造が複雑
曲面の表現が容易 データ量が多い
グラフィック表示が高速 形状の正当性が保証されない
工具経路生成簡単 CSGへの変換が困難
図面化が容易
データ構造が簡単 精度を上げるとデータ量膨大
形状は空間一意性を持つ 他のモデルへの変換が困難
工具経路生成が簡単 データ量が姿勢に依存する
形状処理が簡単
干渉チェックが高速
マスプロパティ計算が容易
CSG
B-Rep
空間格子
ソリッドモデルの特徴
3. 3次元CG
3.8 空間格子モデル
ターボエンジン部品の非破壊検査
オルタネータの非破壊検査と熱解析
マニホールドの検査
Page 16
16
3. 3次元CG
応用例
骨の可視化 エンジンブロックの可視化
3. 3次元CG
応用例
全て VGStudio により作成された映像です
http://www.ittc.co.jp
歯の内部の可視化
Page 17
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
18
3. 3次元CG
Z-Mapモデルの応用例(静岡)
静岡県
3. 3次元CG
Z-Mapモデルの応用例(三島)
三島-箱根
Page 19
19
3. 3次元CG
空間格子モデルの特徴
形状を微少な直方体の集合体で表す
・データ構造が簡単・加工に必要な情報(干渉,内外判定)の計算が容易
・画像や測定データなど取り扱うデータ形式、形状に制限がない
・精度を上げようとすると膨大なメモリを要求する・幾何形状の画面への表示精度が劣る
長所
短所
MRI,CTなど画像処理技術として発展してきた
・医療データの可視化技術として多用されている・加工情報生成にも利用されているが、補助としての扱いが多い
現状
3. 3次元CG
空間格子モデルの問題点の解決手法
Enhanced Z-mapOctreeX
Y
Z
y(j)
X
Y
Z
・データが複雑で管理しにくい(処理速度の低下)・精度の分割領域の判定が難しい
Page 20
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
21
3. 3次元CG
MRIからの変換例
3. 3次元CG
課題1:まとめ
問. 次の形状に対してオイラー式を作れ
Page 22
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)で表現する手法で、医療に用いられる手法であるが、近年工業界にも適用する動きがある。