Computer Graphics

2. 2次元CG
Computer Graphics
3. Geometric Modeling
Numazu College of Technology
Dept. of Computer & Control
CG・CAD/CAM Laboratory
Version 1.1 2006.03.31
2. 2次元CG
3. 形状モデル
(Geometric Model)
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
形状モデル(形状モデリング)
形状モデルの分類
ワイヤーフレームモデル
サーフェイスモデル
ソリッドモデル
CSGモデル
B-Repsモデル
空間格子モデル
1
3. 3次元CG
形状モデルの利用例
形状モデルの利用例
3. 3次元CG
3.1 形状モデル(形状モデリング)
コンピュータに取り込む
実体
形状モデル
実体をコンピュータが理解できる形式に変換する
形状モデリング
形状モデル
2
3. 3次元CG
3.2 形状モデルの分類
形状モデル(分割手法で分類)
形状分割モデル
ワイヤーフレーム
サーフェイス
ソリッドモデル(CSG、B-Reps)
空間分割モデル
空間格子モデル
一般的
形状モデル(表現手法で分類)
ワイヤーフレーム
サーフェイス
ソリッドモデル
CSG
B-Reps
空間格子モデル(離散モデル)
3. 3次元CG
形状モデルの概念比較
ワイヤーフレームモデル
ソリッドモデル
サーフェイスモデル
空間格子モデル
3
3. 3次元CG
3.3 ワイヤーフレームモデル
6
10
9
7
16
6
1
5
13
11
14
15
5
3
2 3
4
10 11 7
12 8
辺 テーブル
頂点テーブル
0
0
2
1
9
8
4
頂 点番 号
x
y
z
0
1
2
3
4
5
6
7
8
9
10
11
25
20
20
25
25
5
5
5
5
20
20
25
15
15
5
5
5
5
15
15
5
5
15
15
15
15
15
15
2
2
2
5
5
5
5
2
辺 番号 S TART
Z
Y
X
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
0
0
1
2
3
0
1
2
4
7
9
8
7
6
4
5
6
5
END
1
3
2
3
4
11
10
9
11
10
10
9
8
11
5
8
7
6
3. 3次元CG
ワイヤーフレームモデルの特徴
ワイヤー(針金)で形状を組み立てる方式
長所
・データ構造が簡単である
・複雑な形状でも高速処理が可能
短所
・円筒面、曲面の表現が困難
・描画される形状の解釈が困難
・面の概念を持たないため隠面・線処理不可
4
3. 3次元CG
ワイヤーフレームモデルの問題点の例
Sphere or circle?
Sphere
Where is truth?
Truth is out of there.
3. 3次元CG
3.4 サーフェイスモデル
Z
Y
6
X
10
9
7
16
6
1
3
2 3
5
4
10 11 7
13
9
11
12 8
17 15
8
頂 点番 号
x
y
z
0
1
2
3
4
25
20
20
25
25
5
15
15
5
5
5
15
15
15
15
2
0
1
2
3
4
5
E ND
0
0
1
2
3
0
1
3
2
3
4
11
面テーブル
5
辺
面
5
3
4
0
6
辺 番号 S TART
4
14
1
辺 テーブル
頂点テーブル
0
0
2
1
0
1
2
3
4
5
6
7
L0
4
0
16
2
1
0
9
14
L1
3
6
17
6
5
2
12
8
L2
7
9
15
10
8
2
11
8
L3
11
16
12
7
4
1
10
17
L4
15
13
L5
14
5
2
7
5
3. 3次元CG
曲面表現
Non-Uniform Rational B-Spline
n
NURBS曲面
Pi+2,j-1
パッチ
S(u, v) =
i= 0 j=0
n
Pi,j
z
Pi+2,j+2
Pi-1,j-1
Pi-1,j+2
x
u方向
Ni,k (t) =
i,k
(u)M j,l (v)w ijPij
m
∑∑ N
i =0 j= 0
v方向
y
m
∑∑ N
i,k
(u)M j,l (v)w ij
t − ti
t −t
Ni,k −1 (t) + i+k
Ni+l,k −1 (t)
t i+k −1 − t i
t i+k − t i+1;
⎧1 (t i ≤ t ≤ t i+1 )
Ni,1 (t) = ⎨
⎩0 (t < t i+1, t i+1 < t)
T = [t 0 t 0 t 0 ・・・
t n+k −1 ]
その他の曲面式
Coons曲面 , B-Spline曲面 , Bezier曲面
3. 3次元CG
サーフェイスモデルの特徴
ワイヤーフレームに面情報を付加したデータ形式
(CGの世界では今でも使用されている)
長所
・データ構造が比較的簡単である
・面情報に基づいて高速処理描画が可能
・曲面の表現が可能(FEM、曲面加工が可能)
短所
・面と面の関係がないため立体として認識ができない
・曲面の精度を上げるとデータ量が増える
・面の裏表が無いため内部の有無表現ができない
(マスプロパティ計算ができない)
6
3. 3次元CG
サーフェイスモデルの問題点の例
曲面の分割と精度
高精度
高精度
データ量大
データ量大
18
36
72
3. 3次元CG
サーフェイスモデルの問題点の例
面6
立体を認識できない
面1
辺1
辺2
面4
面3
面5
6面から構成されている直方体の場合
・6面から構成されていることはわかる
・しかし、面と面の関係はわからない
・辺と辺の関係もわからない
・どちらが表かわからない
面2
位相情報
6面からなる立体であることはわかるが、直方体であることは認識できない
7
3. 3次元CG
3.5 ソリッドモデル(Solid Model)
ソリッドモデルの利用例
立体を内部情報を含めて表現(主流となりつつある)
車のブレーキの干渉
部品の熱特性
車体周りの空気
の流れ解析
クボタ・ケー・ジー・ティーのHPより(http://www.kgt.co.jp/)
3. 3次元CG
ソリッドモデルの特徴と概念比較
空間格子モデル
CSG
B-Reps
A
+
-
B
M o d el = (A + B ) -C
C
Model = Geometric + Topology
・形状の内部情報を持つためマスプロパティ計算が可能
・幾何形状を認識できる
・形状間の衝突チェックが可能となる
8
3. 3次元CG
3.6 CSGモデル
プリミティブ形状
円錐
Constructive Solid Geometry
ピラミッド
円柱
トーラス
球
ボックス
個々のプリミティブは数式で表現する
セットオペレーション
(形状間の論理演算)
球:半径(r)
x2 + y2 + z 2 = r 2
円柱(円筒):半径(r)
x2 + y2 − z 2 = r 2
3. 3次元CG
セットオペレーション例
A
B
C
D=(A+B)-C
D=fx(A,B,C)
9
3. 3次元CG
CSGモデルの特徴
形状を数式で表されたプリミティブの集合演算で表現
1973に北大沖野教授が提案 TIPS-1
長所
・データ構造が簡単でかつ、生成手順を示す
・生成過程での形状の変更が容易
・形状の妥当性と形状精度が保証される
短所
・数式で保持しているため描画が遅い(ポリゴン化が必要)
・複雑な処理(例えば干渉計算)を行う場合、数式間の演算
が発生し処理時間を要する
・自由曲面を数式立体として持つことが困難
Feature Model
現状
現在は形状の入力手法として利用されている
3. 3次元CG
3.7 B-Reps(境界表現)モデル
Boundary-Representations
5
面 の法 線ベク ト ル
5
10
3
9
4
1
0
7
16
6
6
2
辺 テーブル(2倍持つ)
頂点テーブル
頂 点番 号
0
1
2
3
4
x
y
z
25
20
20
25
25
5
15
15
5
5
5
15
15
15
15
2
辺 番号 S TART
0[0]
0
1[1]
0
2[1]
1
12[0]
7
12[1]
8
5[0]
0
END
1
3
2
8
7
11
辺12[0]= 7->8
7
15
5
面 の法 線ベク ト ル
7
9
11
8 面 の表 から
見 て左回 り
2
17
7
10
6
12
辺12[1]= 8->7
8
8
面テーブル
辺
面
0
1
4
2
6
5
3
7
L0
4[1]
0[0]
16[1]
12[1]
12[0]
0[1]
9[0]
14[1]
L1
L2
3[1] 7[0]
6[0] 9[1]
17[0] 15[0]
16[1] 17[1]
11[0] 10[0]
2[1] 2[1]
12[0] 12[0]
8[1] 8[1]
L3
L4
L5
11[0] 15 14[0]
16[1] 13
5[1]
12[0]
15[1]
9[0]
1[1]
10[0]
17[1]
以上は幾何情報であり、さらに面と面の構成情報(位相情報)を持つ
10
3. 3次元CG
カーネルデータの概念
幾何情報と位相情報から成り立つ
(geometry)
(topology)
位相情報
現在主流の形状モデル
幾何情報
立体
面と立体の隣接関係
面から分岐する立体の関係
面
面・曲面
辺
辺・曲線
頂点
点
辺と面の隣接関係
辺から分岐する面の関係
頂点の辺の隣接関係
頂点から分岐する辺の関係
曲面式
面の構成要素
曲線式
辺の構成要素
頂点の座標
3. 3次元CG
位相データの持ち方(Winged-Edge)
Winged-Edgeデータ構造(現在主流のデータ構造)
稜線:Ln-ccw
稜線:Lp-cw
頂点
Pp
面:Np
・1本の稜線の上下には必ず2つの頂点
(Pp,Pn)が存在する
Edge
・1本の稜線の左右には必ず2つの面(Sp,Sn)
が存在する
面:Sp
・2つの頂点からは2本ずつ稜線が存在する
頂点
Pn
稜線:Ln-cw
データ構造とルール
稜線:Lp-ccw
稜線(Edge)
頂点 Pp
頂点 Pn
稜線 Lp-cw
稜線 Ln-cw
稜線 Lp-ccw
稜線 Ln-ccw
面 Sp
面 Np
近年はさらに発展した half-edge -> radial-edgeになってきている
11
3. 3次元CG
カーネルの構成例
DesignBaseの構成図
http://www.ricoh.co.jp/designbase/concept/index.html
3. 3次元CG
B-Repsモデルの特徴
形状を面主体の幾何情報と位相情報で表現
1973に英ケンブリッジ大I.C.Braidが提案 BUILD
長所
・面データが主体なので表示が高速で美しい
・生成過程での形状の局所変更が容易
短所
・存在できない形状の生成を許してしまう
・データ構造が複雑であるため、複雑な処理(例えば干渉計
算)を行う場合、処理時間を要する
・曲面の多面体化による精度の劣化をまねく
現状
現在はCAD用形状モデルの標準となっている
12
3. 3次元CG
B-Repsの問題点の例
変形により位相が異なる形状が生成される
点を押し出す
自己干渉
B-Repsの問題点の解決法
3. 3次元CG
(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 )
13
3. 3次元CG
B-Repsで表現できない形状
非多様体
従来のWinged-Edge
では表現できない
データ構造
Radial-edge
Euler式
v - e + ( f - r ) - ( V - Vh + Vc ) = C - Ch + Cc
V, Vh, Vc はそれぞれ、volume, volume の貫通穴, volume の空洞の個数
C, Ch, Cc は連結成分, 貫通穴, 空洞の個数)
3. 3次元CG
現在主流のカーネルモデル
・ACIS(仏Dassault Systems系-米Spatial Technology)
from・Z(CG)、AutoCAD,TurboCAD, CADKEY
ファイル形式:*.SAT
http://www.spatial.co.jp/
・Parasolid(米Unigraphics Solutions)
Solidworks, SolidEdge, SolidMAN, MasterCAM Solid(CAM)
ファイル形式:*.x_b
http://www.ugsjapan.com/
・Designbase(日Richo)
図脳Century3D, MicroCADAM Helix
http://www.ricoh.co.jp/designbase/
現在流通する形状データ *.sat , *.stl, *.dxf, *.obj, *.igs
インターネット上で流通 *.wrl(VRML) , *.xvl(Lattice Kernel)
14
3. 3次元CG
まとめ(ソリッドモデルの特徴)
ソリッドモデルの特徴
形状モデル
長 所
短 所
データ構造が簡単
データ量が少ない
形状の正当性が保証される
B-Repへの変換可能
変形のやり直しが簡単
局所変形が困難
曲面の表現が困難
グラフィック表示が遅い
工具経路生成複雑
図面化が困難
B-Rep
局所変形が容易
曲面の表現が容易
グラフィック表示が高速
工具経路生成簡単
図面化が容易
データ構造が複雑
データ量が多い
形状の正当性が保証されない
CSGへの変換が困難
空間格子
データ構造が簡単
形状は空間一意性を持つ
工具経路生成が簡単
形状処理が簡単
干渉チェックが高速
マスプロパティ計算が容易
精度を上げるとデータ量膨大
他のモデルへの変換が困難
データ量が姿勢に依存する
CSG
3. 3次元CG
3.8 空間格子モデル
オルタネータの非破壊検査と熱解析
マニホールドの検査
ターボエンジン部品の非破壊検査
15
3. 3次元CG
応用例
骨の可視化
エンジンブロックの可視化
3. 3次元CG
応用例
歯の内部の可視化
全て VGStudio により作成された映像です
http://www.ittc.co.jp
16
3. 3次元CG
空間格子モデルの概念(2D)
空間格子モデル(Spatial-Partitioning Representations)
Y
Y
X
0
Y
X
0
Y
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
X
0
3. 3次元CG
空間格子モデルの種類
Y
Z
z(i,j)
y(j)
Z
Y
x(i)
X
Voxel
(3次元配列)
X
Z-map
(Z軸データに限定2次元配列)
17
3. 3次元CG
Z-Mapモデルの応用例(静岡)
静岡県
3. 3次元CG
Z-Mapモデルの応用例(三島)
三島-箱根
18
3. 3次元CG
空間格子モデルの特徴
形状を微少な直方体の集合体で表す
MRI,CTなど画像処理技術として発展してきた
長所
・データ構造が簡単
・加工に必要な情報(干渉,内外判定)の計算が容易
・画像や測定データなど取り扱うデータ形式、形状に制限がない
短所
・精度を上げようとすると膨大なメモリを要求する
・幾何形状の画面への表示精度が劣る
現状
・医療データの可視化技術として多用されている
・加工情報生成にも利用されているが、補助としての扱いが多い
3. 3次元CG
空間格子モデルの問題点の解決手法
Y
Z
y(j)
Z
Y
X
X
Octree
Enhanced Z-map
・データが複雑で管理しにくい(処理速度の低下)
・精度の分割領域の判定が難しい
19
3. 3次元CG
Boundary-Map Geometric Model
Y
Y
X
0
Y
Y
0
X
0
Boundary-Map
X
0
Voxel
X
3. 3次元CG
Boundary-Map の応用
SetOperation
Tool
Engine
Path
NURBS+Primitive
Machined
Mt. Fuji
Shape
Voxel
Boundary-Map
NC Simulation
20
3. 3次元CG
MRIからの変換例
3. 3次元CG
課題1:まとめ
問. 次の形状に対してオイラー式を作れ
21
3. 3次元CG
課題2:まとめ
問. 以下に示す三角形の単位法線ベクトルを求めよ
(20,30,25)
単 位法 線ベク ト ル
Z
( 1 0 , 1 0 ,1 0 )
Y
X
(20,10,20)
3. 3次元CG
課題3:まとめ
問. 次の文の空欄を埋めよ
3次元形状をコンピュータ内で表現するモデルを(1)という。これら
には大きく分けてワイヤーフレーム、サーフェイス、(2)の三つに大
別できる。また、(2)はさらに (3),(4),(5)に大別できる。
このうち、(6)はサーフェイスモデルに面の内外情報を持たせた手
法で、そのデータ構造には(7)が用いられている。このデータ構造
の正当性を判定するための式としては (8) が用いられる。また、
(9) は数式で表現できる基本形状を和・差・積の演算により組み合
わせて形状をつくる方法である。
(10) は、形状を小さな直方体(Voxel)で表現する手法で、医療に
用いられる手法であるが、近年工業界にも適用する動きがある。
22