[[cg:start|CG用語集トップ]] > [[cg:fundamentals:start|第1章 基礎・座標・色・ディジタル画像]] ====== 平行移動 ====== ===== 概要 ===== 平行移動は、図形の形、大きさ、向きを変えずに、すべての点を同じ距離だけ移動する[[cg:fundamentals:geometric_transformation|幾何学的変換]]である。2次元では、x方向にどれだけ動かすか、y方向にどれだけ動かすかを指定して考える。座標値に移動量を加えるだけなので直感的に理解しやすいが、[[cg:fundamentals:composite_transformation|合成変換]]では回転中心を変更するためにも使われる重要な基本変換である。 {{:cg:figures:chapter01:fig_1_12_translation_example.png?600|平行移動の例}} ===== 詳しい説明 ===== 平行移動では、図形を構成するすべての点に同じ移動量を加える。たとえば、ある点の座標が(x, y)で、x方向にa、y方向にbだけ移動するなら、移動後の点は(x+a, y+b)のように考えられる。図形内のすべての点が同じだけ動くため、図形の大きさや角度、向きは変わらない。 この変換は単純に位置を変えるだけでなく、他の変換を使いやすくする役割も持つ。たとえば、原点以外の点を中心に[[cg:fundamentals:rotation|回転]]したい場合、いったん対象の中心を原点へ移動し、回転してから元の位置へ戻す、という組み合わせが使える。このように、平行移動は合成変換の中でも基本となる操作である。 {{:cg:figures:chapter01:fig_1_19_composite_transform_rotation_about_non_origin.png?600|合成変換による原点以外での回転の例}} ===== CG制作との関係 ===== CG制作では、モデルや図形を別の場所へ移す操作として平行移動が使われる。複数のオブジェクトを並べる、背景パーツを配置する、カメラの見える範囲にモデルを移すなど、位置調整の多くは平行移動として説明できる。形状そのものを変えない点が特徴である。 ===== ゲーム開発との関係 ===== ゲーム開発では、キャラクターや弾の位置を毎フレーム更新する処理が平行移動に対応する。たとえばx座標に速度を加算すれば、右方向へ移動する。3Dゲームでも、モデルをワールド空間の別の位置に配置する処理は平行移動の考え方と関係する。 ===== 制作・実装での例 ===== 2Dゲームで `x += 5` のように座標を変えると、キャラクターは右へ平行移動する。ジャンプや弾の移動も、毎フレームの座標更新として考えられる。ただし、回転や拡大縮小が入る場合は、平行移動だけでなく他の変換との組み合わせとして整理する。 ===== 検定対策ポイント ===== 平行移動は、形や大きさを変えずに位置だけを変える変換である。[[cg:fundamentals:rotation|回転]]は向きが変わり、[[cg:fundamentals:scaling|拡大・縮小]]は大きさが変わるため、選択肢では何が変化しているかを見る。合成変換では、平行移動が回転中心を変えるために使われる点も重要である。 ===== 関連用語 ===== * [[cg:fundamentals:geometric_transformation|幾何学的変換]] * [[cg:fundamentals:composite_transformation|合成変換]] * [[cg:fundamentals:two_dimensional_affine_transformation|2次元アフィン変換]] * [[cg:fundamentals:coordinates|座標]] * [[cg:fundamentals:modeling_transformation|モデリング変換]] ===== タグ ===== * CGエンジニア検定 * 第1章 ---- [[cg:fundamentals:start|← 第1章 基礎・座標・色・ディジタル画像 の目次に戻る]] [[cg:start|← CG用語集トップに戻る]]