[[cg:start|CG用語集トップ]] > [[cg:fundamentals:start|第1章 基礎・座標・色・ディジタル画像]] ====== 拡大・縮小 ====== ===== 概要 ===== 拡大・縮小は、図形の各点の座標に倍率をかけて、図形の大きさを変える[[cg:fundamentals:geometric_transformation|幾何学的変換]]である。倍率が1より大きい場合は拡大、1より小さい場合は縮小になる。x方向とy方向で同じ倍率を使えば形の比率は保たれやすいが、軸ごとに異なる倍率を使うと、図形は横長や縦長に変形する。 {{:cg:figures:chapter01:fig_1_13_scaling_example.png?600|拡大・縮小の例}} ===== 詳しい説明 ===== 拡大・縮小では、図形を構成する点の座標を基準点からどれだけ離すか、または近づけるかを倍率で決める。基本例では原点を基準にして、x座標やy座標に倍率をかける。x方向に3倍、y方向に2倍のように指定すると、図形は横方向と縦方向で異なる大きさに変わる。 重要なのは、拡大・縮小には基準点があるという点である。原点を基準に拡大すると、図形は大きくなるだけでなく、原点から離れる方向にも移動したように見えることがある。図形の中心を基準に拡大したい場合は、[[cg:fundamentals:translation|平行移動]]と組み合わせる必要がある。したがって、拡大・縮小は単独の変換としてだけでなく、[[cg:fundamentals:composite_transformation|合成変換]]の一部として理解するとよい。 ===== CG制作との関係 ===== CG制作では、モデルや図形のサイズ調整に拡大・縮小が使われる。小物を大きく見せる、背景パーツのサイズを変える、ロゴや図形を引き伸ばすといった操作が該当する。軸ごとの倍率を変えると、元の形の比率が変わるため、意図しない変形に注意が必要である。 ===== ゲーム開発との関係 ===== ゲーム開発では、スプライトやUIを大きく表示する、敵のサイズを変える、エフェクトを時間とともに拡大する、といった処理に関係する。3Dモデルでも、ローカルスケールを変えることで表示サイズを変更できる。ただし、当たり判定や物理計算と見た目のスケールがずれる場合があるため、実装では注意が必要である。 ===== 制作・実装での例 ===== 選択中のUIボタンを1.2倍にして目立たせる処理は、拡大の例である。x方向だけを大きくすると、正方形は横長の長方形になり、円は楕円のように見える。モデルの中心ではなく原点を基準に拡大すると、見た目の位置も変わることがある。 ===== 検定対策ポイント ===== 拡大・縮小は、大きさを変える変換である。[[cg:fundamentals:translation|平行移動]]は位置だけを変え、[[cg:fundamentals:rotation|回転]]は中心のまわりに向きを変える。倍率が1より大きいか小さいか、軸ごとに同じ倍率か異なる倍率か、基準点がどこかを意識すると判断しやすい。 ===== 関連用語 ===== * [[cg:fundamentals:geometric_transformation|幾何学的変換]] * [[cg:fundamentals:translation|平行移動]] * [[cg:fundamentals:rotation|回転]] * [[cg:fundamentals:composite_transformation|合成変換]] * [[cg:fundamentals:two_dimensional_affine_transformation|2次元アフィン変換]] ===== タグ ===== * CGエンジニア検定 * 第1章 ---- [[cg:fundamentals:start|← 第1章 基礎・座標・色・ディジタル画像 の目次に戻る]] [[cg:start|← CG用語集トップに戻る]]