[[cg:start|CG用語集トップ]] > [[cg:fundamentals:start|第1章 基礎・座標・色・ディジタル画像]] ====== 回転 ====== ===== 概要 ===== 回転は、図形をある中心のまわりに指定した角度だけ回す[[cg:fundamentals:geometric_transformation|幾何学的変換]]である。2次元では、回転中心、回転角、回転方向によって変換後の位置が決まる。基本例では原点を中心にした回転を考えるが、原点以外を中心に回す場合は、[[cg:fundamentals:translation|平行移動]]と組み合わせた[[cg:fundamentals:composite_transformation|合成変換]]として扱える。 {{:cg:figures:chapter01:fig_1_14_rotation_example.png?600|回転の例}} ===== 詳しい説明 ===== 回転では、図形を構成する各点が、中心からの距離を保ったまま角度だけ変化する。したがって、回転によって図形の大きさや形は基本的に変わらない。ただし、位置と向きは変わる。2次元では反時計回りを正の回転として扱うことが多いが、座標系や実装環境によって見え方が変わることもある。 原点を中心に回転する場合は基本変換として扱いやすい。一方、任意の点を中心に回転したい場合は、まず中心を原点へ移す平行移動を行い、回転してから元の位置へ戻す。この流れは、複数の基本変換を順番に適用する合成変換の代表例である。 {{:cg:figures:chapter01:fig_1_19_composite_transform_rotation_about_non_origin.png?600|合成変換による原点以外での回転の例}} ===== CG制作との関係 ===== CG制作では、モデルや図形の向きを変える操作として回転が使われる。キャラクターの向き、カメラの角度、背景パーツの配置、模様の反復など、多くの場面で回転が関係する。回転中心が意図と違うと、モデルがその場で回らず、大きく円を描いて動くように見えることがある。 ===== ゲーム開発との関係 ===== ゲーム開発では、プレイヤーの向き変更、弾の発射方向、敵が目標を見る処理、カメラ回転などに関係する。2Dでは角度を使って向きを変え、3Dでは軸まわりの回転として扱う。回転中心と変換順序を間違えると、表示位置や移動方向がずれる原因になる。 ===== 制作・実装での例 ===== プレイヤーを90度単位で向きを変える処理は、回転として考えられる。原点から離れた場所にある図形をその場で回したい場合、単純に原点中心で回転すると位置まで大きく変わる。その場合は、平行移動と回転を組み合わせて中心を調整する。 ===== 検定対策ポイント ===== 回転は、中心のまわりに角度を変える変換である。[[cg:fundamentals:translation|平行移動]]とは違って向きが変わり、[[cg:fundamentals:scaling|拡大・縮小]]とは違って大きさは基本的に保たれる。原点中心の回転と、原点以外を中心にした回転を[[cg:fundamentals:composite_transformation|合成変換]]で実現する考え方を押さえる。 ===== 関連用語 ===== * [[cg:fundamentals:geometric_transformation|幾何学的変換]] * [[cg:fundamentals:translation|平行移動]] * [[cg:fundamentals:composite_transformation|合成変換]] * [[cg:fundamentals:two_dimensional_affine_transformation|2次元アフィン変換]] * [[cg:fundamentals:coordinates|座標]] ===== タグ ===== * CGエンジニア検定 * 第1章 ---- [[cg:fundamentals:start|← 第1章 基礎・座標・色・ディジタル画像 の目次に戻る]] [[cg:start|← CG用語集トップに戻る]]