Pw (Xw, Yw, Zw)

Download Report

Transcript Pw (Xw, Yw, Zw)

Computer Graphics
第4回
投影・ビューイングパイプライン
モデリング
芝浦工業大学情報工学科
青木 義満
今日の講義内容
 座標変換(教科書2章,2-2,2-3, 2-4)
カメラ,光源の位置,方向,モデル形状の記述,変換な
どに共通して必要な座標変換について学ぶ



2006/05/8
3次元座標変換
投影
ビューイングパイプライン
Computer Graphics
2
教科書との対応
 「コンピュータグラフィックス」 , CG -ARTS 協会



2006/05/8
Chapter 2-2 3次元座標変換 pp.26-31
Chapter 2-3 投影
pp.32-40
Chapter 2-4 ビューイングパイプライン pp.41-43
Computer Graphics
3
任意の軸のまわりの回転
 直線が原点を通るよう平行移動
 直線が軸(例えばx 軸)と重なるよう回転
 x軸まわりにθだけ回転
 もとにもどす(回転、平行移動)
2006/05/8
Computer Graphics
4
様々な物体の見え方 (投影変換)
3次元空間中にある一つの立方体
いくつかの要因により,様々な見え方
2006/05/8
Computer Graphics
5
物体の見え方は何で決まる?
• 視点の位置
• 視線の方向
• 物体と視点との距離
• 照明位置・方向,種類
視点
• 物体表面の材質
2006/05/8
Computer Graphics
6
投影の原理
 投影とは?


2006/05/8
3次元図形をディスプレイモニタの画面や紙等の二次元平
面上に表示するために,3次元図形を2次元図形に変換す
る処理のこと.
透視投影と平行投影
Computer Graphics
7
2006/05/8
Computer Graphics
8
透視投影 (Perspective projection)
Pw (Xw, Yw, Zw)
相似関係より,
Pi ( xi, yi )
xi : f = Xw : Zw
yi : f = Yw : Zw
x
X
Z
f
y
C
(視点)
Y
Pw (Xw, Yw, Zw) : 視点を原点とした際の点Pの3次元座標
Pi ( xi, yi ) : Pの投影面(画像面)上での座標値
2006/05/8
Computer Graphics
xi  f
Y
Xw
yi  f w
Zw
Zw
9
xi  f
yi  f
Xw
Zw
Yw
Zw
Zw, つまり,視点から物体までの距離(奥行き方向)が大きいほど・・・
→
xi , yi の値は小さくなる.
x
平面2(奥)
平面2(奥)
y
平面1(手前)
平面1(手前)
消失点
f, Xw, Yw 一定のもと,
視点から物体までの距離( Zw )が∞になると...
2006/05/8
Computer Graphics
10
透視投影の特徴
 遠くのもの(Z値が大きいもの)が近くのもの(z値が小
さいもの)より小さく描かれる.→ 遠近感
 人間のものの見え方と同様


写実的な画像表現
映画やゲームなどの表現に多用
 平行な線が歪んで描画

2006/05/8
ものの形を正確に把握するには不向き
Computer Graphics
11
平行投影 (Parallel projection)
xi  f
Xw
Zw
Yw
yi  f
Zw
xi  f
f  Zw  Z
とおくと,
Xw
X
Z
 (Z w  Z ) w  (1  ) X w
Zw
Zw
Zw
Z  Z w
ならば
(視点から物体までの距離が,
画像面から物体までの距離に比べて非常に大きい)
xi  X w
yi  Yw
2006/05/8
Computer Graphics
12
平行投影の特徴
 遠くのものと近くのものが同じ大きさで描画
 写実的画像作成,映画,ゲームには使われない.
 平行な線が投影面上でも平行,歪みのない投影図


2006/05/8
ものの形を正確に把握するのに有効
CADの設計図やグラフの描画等に向く
Computer Graphics
13
投影(3次元→3次元)
 実際には,3次元→2次元でなく,3次元→3次元の投
影変換
 奥行き方向の計算も含まれる


クリッピング
隠面消去,隠線消去 に必要!
 3D→3Dの計算方法は,p.35-p.38に
2006/05/8
Computer Graphics
14
ビューボリュームと投影
 透視投影における画角の効果
2006/05/8
Computer Graphics
15
ビューボリュームとクリッピング
 キーワード





2006/05/8
ビューボリューム
クリッピング
前方クリッピング面
後方クリッピング面
ウインドウ(投影面)
Computer Graphics
16
ビューイングパイプライン(p.41)
 ビューイングパイプライン


図形が定義され,各種の変換を受けて最終的に表示されるまでの一連の過程
複数の座標系の設定,及び幾何学的変換処理が必要
2006/05/8
Computer Graphics
17
モデリング変換→視野変換

モデリング変換




ワールド座標系:
モデリング座標系:
モデリング座標系→ワールド座標系
視野変換


2006/05/8
カメラ座標系:
ワールド座標系→カメラ座標系
Computer Graphics
18
投影変換→ビューポート変換
 投影変換


カメラ座標系→投影座標系
透視投影と平行投影
 ビューポート変換



2006/05/8
デバイス座標系
ビューポート
ビューポート変換
Computer Graphics
19
全体の変換,及び例
 全体の変換
 モデリング変換と視野変換の例

モデリング座標系→ワールド座標系

ワールド座標系→カメラ座標系
2006/05/8
Computer Graphics
20
モデリング
 モデリングとは?


描きたい物体の形,位置,大きさなどをコンピュータ内部
で表現する作業のこと
出来上がったデータ → モデル
 目的に応じた,適切なモデリングのために・・・



2006/05/8
多面体の表現方法
曲線,局面の表現法
自然物,複雑な形状のモデリング方法
Computer Graphics
21
様々な形状モデリングの例
2006/05/8
Computer Graphics
22
形状モデル(多面体の形状表現手法 1)
 ワイヤーフレームモデル

特徴点座標,稜線だけを記録することによって立体を表現
したモデル
特徴
2006/05/8
Computer Graphics
23
ワイヤーフレームモデルのデータ構造
 頂点リストと稜線リスト
2006/05/8
Computer Graphics
24
形状モデル(多面体の形状表現手法 2)
 サーフェスモデル

ワイヤーフレーム+面情報
特徴
2006/05/8
Computer Graphics
25
サーフェスモデルのデータ構造
2006/05/8
Computer Graphics
26
サーフェスモデルの実例
2006/05/8
Computer Graphics
27
形状モデル(多面体の形状表現手法 3)
 ソリッドモデル

サーフェスモデル+物体の内外を区別する情報
特徴
2006/05/8
Computer Graphics
28
シェーディングとレイトレーシング
2006/05/8
Computer Graphics
29
形状の表現法の進化
2006/05/8
Computer Graphics
30
ソリッドモデルの形状表現(p.50-)
 建築物や乗り物 → 人工的な物体
比較的、単純な形状の組み合わせ
 主に人工物を設計するCADの分野で使用さ
れている表現
境界表現
 CSG表現
 スイープ表現
 局所変形

2006/05/8
Computer Graphics
31
境界表現
 頂点・稜線・面のデータ+接続関係をグラフで示す
ことで立体を表現
3D-CADにおける基本表現!
2006/05/8
Computer Graphics
32
境界表現(B-reps)のデータ構造
2006/05/8
Computer Graphics
33
CSG表現
 立体をプリミティブ(基本立体)と,その組み合
わせ表現
 基本立体の種類,大きさ,位置情報,結合状
態をツリー構造であらわす
 基本立体: 立方体,円柱,多角柱,錐体,球
 集合演算: 和集合,積集合,差集合,補集合
2006/05/8
Computer Graphics
34
CSG Tree
CSG Tree
引き算
2006/05/8
Computer Graphics
35
CSG表現 の例
2006/05/8
Computer Graphics
36
スイープ表現
 平面図形を一定方向に移動したときの軌跡で立体を表現
 局所変形との組み合わせで,様々な形状を表現可能
 平行移動スイープ,回転移動スイープ
2006/05/8
Computer Graphics
37
他の表現方法
 ボリューム表現
 八分木表現
 フラクタル図形
 メタボール
 パーティクル
2006/05/8
Computer Graphics
38
ボリューム表現
 立体を3次元の格子点上の小立方体
の集合で表す
 小立体→ボクセル(2次元→ピクセル)
 各ボクセルの中央(あるいは角)に属
性値を持つ(例: 色情報)
 長所


データ構造が単純,集合演算が容易
人工的な物体より,自然界の不規則な
形状表現に適する
 短所

データ量が膨大,操作に手間がかかる
ボクセル+透過率 → ボリュームデータ → ボリュームレンダリング
2006/05/8
Computer Graphics
39
ボリュームレンダリングの実例(1)
2006/05/8
Computer Graphics
40
ボリュームレンダリングの実例(2) 透過
2006/05/8
Computer Graphics
41
八分木表現



ボクセルを階層的に,木構造で生成
物体が存在するボクセルのみ細かく分割
空間量(メモリ)も少なくて済み,高速
3次元画像の八分木表現
2006/05/8
Computer Graphics
42
フラクタル図形
 全体形状がその形状の各部分にも現れるような形状.
 自己相似形状, 再帰構造

例)コッホ曲線,ジュリア集合,マンデブロ集合など
2006/05/8
Computer Graphics
43
中点変位法
中点に起伏量Zを加える操作を繰り返す
 起伏量Zは,正規分布に従う乱数によって決定
 線分の長さが短くなるほど,標準偏差を小さくしていく

Xm=(X1+X2)/2 、Ym=(Y1+Y2)/2
XX = Xm + Z、YY = Ym + Z
2006/05/8
Computer Graphics
44
中点変位法による画像生成
2006/05/8
Computer Graphics
45
メタボール
 立体を球の集まりで表現
 距離とともに減衰する影響力(関数)を定義し, その重ね合わせ
で形状を表現
2006/05/8
→ 雲,人体の表現
Computer Graphics
46
2006/05/8
Computer Graphics
47
メタボールによる形状表現の例
2006/05/8
Computer Graphics
48
パーティクル (p.91)
 形状が不定で,明確な表面が存在しない物体

樹木,炎,滝,雲 などの自然物
 一定の規則に従って生成した多数の粒子で表現

粒子(パーティクル)の生成,移動,消滅,衝突 の物理的規則が必要
パーティクルで表現した
炎と煙
2006/05/8
Computer Graphics
49
モデリング手法の選択
 モデリングする物体の特徴
 シーン中での物体の重要度
 画像作成の目的
 要求される精度とデータ量,計算量との関係
 静止画像と動画像
 レンダリング速度

2006/05/8
LOD (Level Of Detail)
Computer Graphics
50
次回講義予定
 モデリング(3章)


2006/05/8
曲線・曲面
ポリゴン曲面の表現
Computer Graphics
51