2-1 形状モデル
2-1-1 ワイヤフレームモデル
- 頂点と稜線のみ
-
利点
- 簡単に頂点同士の接続関係を表現できる
- 処理が高速
-
欠点
- 面情報を明示的にもたないため、多面体を一意に表現できないことがある
- 面どうしの干渉計算ができない
- 隠線消去、隠面消去ができない
2-1-2 サーフェスモデル
- ワイヤフレーム+面情報
-
利点
- 隠線消去、隠面消去ができる
- 面どうしの干渉計算を行って交線を求めることができる
-
欠点
- 干渉計算のさい、対応する断面が正しく生成できない
2-1-3 ソリッドモデル
- 密
-
表現手法
- CSG
- 境界表現
- スイープ表現
2-1-4 形状モデルと表示
-
表示からモデル表現を特定することはできない
- サーフェスモデルやソリッドモデルでワイヤーをレンダリングすることはできる
2-2 ソリッドモデルの形状表現
2-2-1 CSG表現
-
CSG: Constructive Solid Geometry
- 基本立体の和・積・差の構文木で複雑な立体を表現
- 立体それ自体の表現方法
- 「どうやってディスプレイに描画するか」は守備範囲外
2-2-2 境界表現
-
基本要素
- 頂点
- 稜線
- 面
-
基本要素の接続関係に着目して中身の詰まった立体を表現する
- 四角錐は面f1,f2,f3,f4,f5から成る
- 面f1は頂点v1,v2,v3から成る
- …
- 面f5は頂点v2,v3,v4,v5から成る
- 頂点v1は(x1,y1,z1)
- …
- 頂点v5は(x5,y5,z5)
-
位相
- 基本要素間の接続関係
- 「面f1は頂点v1,v2,v3から成る」
- 面と稜線、稜線と頂点の関係も
-
幾何
- 座標値
- 「頂点v1は(x1,y1,z1)」
-
オイラー操作 … 立体の位相を変更する基本操作
-
MEV: Make Edge Vertex
- 頂点と稜線を追加
-
KEV: Kill Edge Vertex
- 頂点と稜線を削除
-
MEF: Make Edge Face
- 稜線と面を追加
-
KEF: Kill Edge Face
- 稜線と面を削除
-
2-2-3 スイープ表現
- 掃いたり回転したり
2-3 曲線・曲面
2-3-1 曲線の表現形式
代数曲線
- 陽関数/陰関数
- 2次元ならばxとyの関数
パラメータ曲線
x=f(t)
y=g(t)
利点
- パラメータを与えると曲線上の点が一意に定まり、ディスプレイ上への表示が容易
- 回転や平行移動も容易
- 「制御点」で直感的に形状を変更可能
2-3-2 2次曲線
円錐曲線の話
2-3-3 パラメトリック曲線
ベジエ曲線(3次ベジエ曲線)
x(t)=(1-t)^3 x0 + 3t(1-t)^2 x1 + 3t^2(1-t) x2 + t^3 x3
y(t)=(1-t)^3 y0 + 3t(1-t)^2 y1 + 3t^2(1-t) y2 + t^3 y3
(1-t)^3, 3t(1-t)^2, 3t^2(1-t), t^3 を3次バーンスタイン基底関数という
-
特徴: 凸包性
- 4つの制御点を含む最小の凸多角形に含まれる
- 干渉を大まかに判定できる
- 【補】凸包で干渉しなければ曲線も干渉しない。まじめな判定を間引ける
-
描画ソフトウェアで使われがち
- ベジエ曲線を接続したもの
Bスプライン曲線
- ベジエ曲線の課題: 1つの制御点を移動すると離れた部分にまで影響する
-
Bスプライン曲線
- 複数のパラメトリック曲線を滑らかに接続したもの
-
NURBS曲線
- bスプライン曲線の拡張
- 制御点ごとに重み付け
- 円錐曲線を正確に表現できる
2-3-4 パラメトリック曲面
2D -> 3Dの拡張
-
ベジエ曲面(双三次ベジエ曲面)
- 4x4 = 16制御点
- Bスプライン曲面
2-3-5 レンダリングにおける曲面の扱い
- 曲面表現のままレンダリングする
- 再分割してポリゴンで近似してレンダリングする
ハードウェアがポリゴン用に高速化されているので後者が主流
2-4 ポリゴン曲面の表現
2-4-2 再分割曲面
- ある多面体からそれぞれの面を再帰的に分割し滑らかにしていく
- 事例: トイ・ストーリー2
2-4-3 詳細度制御
-
LOD: Level Of Detail
- 1画素未満の大きさのポリゴンを間引くなど
-
タイムクリティカルレンダリング分野で重要
- フレームレート死守
- そのために視点からの距離、ポリゴン数、詳細度を制御する
2-4-4 平滑化処理
- 3次元ディジタイザ (3Dスキャナ)
- ノイズまみれになるので平滑化する
2-4-5 パラメータ化
uvマッピング的な話
-
パラメータ化
- ポリゴン曲面上の各店をテクスチャ上の点(u,v)と対応付ける
2-4-6 電子透かし
メッシュの位相情報に透かしを埋め込む
2-4-7 形状検索
- 「手」とかを検索できると作業が捗る
2-5 そのほかの形状生成手法
2-5-1 ボクセル
-
ユースケース
- CTやMRTなど
- 原子シミュレーション
2-5-2 八分木
- すべて同じ正方形・立方体で表現するのは無駄
- バルク部分は大きなもの、小さな特徴部分は細かな正方形/立方体で表現
2-5-3 メタボール
ポテンシャル場っぽいやつの等値面を切り出す感じのやつ
2-5-4 陰関数表現
- メタボールの一般化
-
放射基底関数
- ポテンシャル場っぽいやつ
-
マーチングキューブ法
- 等値面の抽出法
- キューブ: 隣接8ボクセルの中心点からなる立方体
- キューブの頂点の値と「等値面をなす値」との大小関係でキューブ内の等値面をなす三角形パッチパターンを決定する
2-5-5 フラクタル
-
自己相似性を利用して自然物を表現できる
- 例: 中点変位法を利用して山岳形状を作る