[[cg:start|CG用語集トップ]] > [[cg:fundamentals:start|第1章 基礎・座標・色・ディジタル画像]] ====== 3次元アフィン変換 ====== ===== 概要 ===== 3次元アフィン変換は、3次元空間内の点や図形に対して、[[cg:fundamentals:translation|平行移動]]、[[cg:fundamentals:scaling|拡大・縮小]]、[[cg:fundamentals:rotation|回転]]、せん断などを行う変換である。[[cg:fundamentals:two_dimensional_affine_transformation|2次元アフィン変換]]を3D空間へ拡張した考え方で、複数の基本変換を[[cg:fundamentals:composite_transformation|合成変換]]として扱える。直線や平行関係を保つ変換であり、平行線が消点へ向かう[[cg:fundamentals:perspective_projection|透視投影]]とは性質が異なる。 {{:cg:figures:chapter01:fig_1_22_local_coordinate_system_examples.png?600|同じ図形を異なる位置や向きに描く場合}} ===== 詳しい説明 ===== 3Dモデルは、各頂点の位置を3次元座標で持っている。3次元アフィン変換は、その座標に対して移動、回転、拡大縮小などを行い、モデルの位置、向き、大きさを変えるための考え方である。たとえば、モデルを原点付近で作っておき、後からシーン内の別の場所へ配置する場合、モデルの各点に変換を適用してワールド空間の位置を決める。 アフィン変換の重要な性質は、直線が直線のまま、平行な直線が平行なまま保たれる点である。大きさや角度は変わることがあるが、直線が曲線になったり、平行線が1点に集まったりする変換ではない。そのため、遠近感を作る透視投影とは区別する必要がある。検定では、3次元アフィン変換を「3D空間で形を配置・変形するための基本変換群」として整理すると理解しやすい。 ===== CG制作との関係 ===== CG制作では、3Dモデルをシーン内へ配置するときに3次元アフィン変換の考え方が使われる。モデルを拡大縮小して大きさを合わせ、回転で向きを調整し、平行移動で目的の位置へ置く。形状を作る作業と、作った形状を空間内でどのように配置するかは別の段階として考えるとよい。 ===== ゲーム開発との関係 ===== ゲーム開発では、キャラクター、背景、小物、エフェクトなどの3Dモデルをワールド空間へ配置する処理に関係する。親子関係のある部品を組み合わせる場合や、当たり判定の位置をモデルに合わせる場合にも、移動・回転・拡大縮小の組み合わせを理解しておく必要がある。描画では、この変換の後に投影変換へ進む。 ===== 制作・実装での例 ===== 3Dモデルを「2倍に拡大して、Y軸方向に回転し、ワールド座標へ移動する」処理は、3次元アフィン変換の組み合わせとして整理できる。平行線は平行なまま保たれるため、遠くへ伸びる線が消点へ集まる透視投影とは別の処理である。 ===== 検定対策ポイント ===== 3次元アフィン変換は、2次元アフィン変換を3D空間に拡張した概念である。平行移動、拡大・縮小、回転などの基本変換とその合成を含む。直線性と平行性を保つ点を覚え、3Dを2D画像へ写す[[cg:fundamentals:projection_transformation|投影変換]]、特に透視投影とは区別する。 ===== 関連用語 ===== * [[cg:fundamentals:two_dimensional_affine_transformation|2次元アフィン変換]] * [[cg:fundamentals:composite_transformation|合成変換]] * [[cg:fundamentals:translation|平行移動]] * [[cg:fundamentals:scaling|拡大・縮小]] * [[cg:fundamentals:rotation|回転]] * [[cg:fundamentals:projection_transformation|投影変換]] * [[cg:fundamentals:perspective_projection|透視投影]] ===== タグ ===== * CGエンジニア検定 * 第1章 ---- [[cg:fundamentals:start|← 第1章 基礎・座標・色・ディジタル画像 の目次に戻る]] [[cg:start|← CG用語集トップに戻る]]