ビジュアル情報処理 ch2 モデリング

CG検定勉強メモ資格勉強

出典: 

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 フラクタル

  • 自己相似性を利用して自然物を表現できる

    • 例: 中点変位法を利用して山岳形状を作る