ベーシック 1章 (座標変換)

解説

1-3 ビジュアル情報処理の幾何学的モデル

以下の説明では、いずれも変換前の座標を \((x, y)\)、変換後の座標を\((x', y')\) とする

[1] 平行移動
\(x\) 軸方向に \(t_x\)、\(y\) 軸方向に \(t_y\) 移動する変換 (テキスト(1.1)式)
\( \begin{eqnarray} \left\{ \begin{array}{l} x'=x+t_x \\ y'=y+t_y \end{array} \right. \end{eqnarray} \)

\(t_x>0\) なら右に、\(t_x<0\) なら左に移動する
\(t_y>0\) なら上に、\(t_y<0\) なら下に移動する

[2] 拡大・縮小
\(x\) 軸方向に \(s_x\) 倍、\(y\) 軸方向に \(s_y\) 倍に拡大または縮小する変換 (テキスト(1.2)式)
\( \begin{eqnarray} \left\{ \begin{array}{l} x'=s_xx \\ y'=s_yy \end{array} \right. \end{eqnarray} \)

\(s_x>1\) なら横に広がり、\(0<s_x<1\) なら横に狭くなる。\(s_x<0\) だと左右反転する
\(s_y>1\) なら縦に広がり、\(0<s_y<1\) なら縦に狭くなる。\(s_y<0\) だと上下反転する

[3] 回転
原点を中心に反時計回りに \(\theta\) 回転する変換 (テキスト(1.3)式)
\( \begin{eqnarray} \left\{ \begin{array}{l} x'=x\cos\theta-y\sin\theta \\ y'=x\sin\theta+y\cos\theta \end{array} \right. \end{eqnarray} \)

少なくとも「\(x', y'\) のどちらも \(x, y, \sin\theta, \cos\theta\) の組み合わせ」だということだけは覚えておく。
\(\theta=0, 90\) のケースを考えれば係数は特定できる。
選択肢が変換の式で、「以下のうち回転させるものはどれか」のように出題されることも多い。

[4] 鏡映
以下の式はテキストの表1.1にまとめられている
\(x\) 軸に関する鏡映
\( \begin{eqnarray} \left\{ \begin{array}{l} x'=x \\ y'=-y \end{array} \right. \end{eqnarray} \)

\(y\) 軸に関する鏡映
\( \begin{eqnarray} \left\{ \begin{array}{l} x'=-x \\ y'=y \end{array} \right. \end{eqnarray} \)

直線 \(y=x\) に関する鏡映
\( \begin{eqnarray} \left\{ \begin{array}{l} x'=y \\ y'=x \end{array} \right. \end{eqnarray} \)

\(x\) 軸に関する鏡映 → 上下反転 → \(y\) の符号が逆になる
\(y\) 軸に関する鏡映 → 左右反転 → \(x\) の符号が逆になる
直線 \(y=x\) に関する鏡映 → \(x\) と \(y\) が入れ替わる

[5] スキュー (せん断)
以下の式はテキストの表1.2にまとめられている
\(x\) 軸方向のスキュー
\( \begin{eqnarray} \left\{ \begin{array}{l} x'=x+ay \\ y'=y \end{array} \right. \end{eqnarray} \)

\(y\) 軸方向のスキュー
\( \begin{eqnarray} \left\{ \begin{array}{l} x'=x \\ y'=y+bx \end{array} \right. \end{eqnarray} \)

\(x\) 軸方向のスキューでは \(y\) 座標は変わらない
\(y\) 軸方向のスキューでは \(x\) 座標は変わらない
(テキスト図1.18参照)

[1]~[5]の組み合わせ
  • 変換の組み合わせの問題が毎年出題される
    • 「変換A」「変換B」「変換C」の順に行った結果はどれか (4つの図から正解を選ぶ)
    • 元の図がこのようになるにはどのような変換をすればよいか (4つの合成変換から正解を選ぶ)
    (図を描いてみると確実)
    (有り得ない選択肢を候補から外して考えるのも有効)
投影変換
  • 投影:3Dから2Dに落とすこと
    • 透視投影:遠近感を再現(近い→大, 遠い→小)
    • 平行投影:遠近感なし(歪みがない)

    参考サイト でPキーを押した状態が透視投影、Oキーを押した状態が平行投影になる。画面左側が「カメラからどう見えるか」にあたる。

過去問を使った学習

2022年度前期 第25問

  1. CG-ARTS検定の過去問のページから2022年度前期の「CGエンジニア ベーシック」の過去問をダウンロードして開く。
  2. そのファイルの第25問のページを表示する (これに似た問題が毎年出題される。全40問中4問、10%分の点数に相当する)。
    a.
    図1の円の中心は (0, 2) にある。これを①式の \(x, y\) に入れると、\(x', y'\) は (0, 1)になる → イ
    単純に縦横とも1/2にする変換 → 横に半分、縦に半分につぶす変換だと考えてもよい。
    b.
    右下の頂点が(-3, 1)から(4, -3)に移動する。つまり、\(x\) 方向に7, \(y\) 方向に-4移動する → 正解はイ
    c.
    図形C'は図形Cを原点を中心に時計回り90°回転させたもの → テキスト(1.3)式で \(\theta\) に-90°を入れる
    → \(\cos(-90)=0, \sin(-90)=-1\) なので \(x'=y, y'=-x\) → エが正解
    (直線 \(y=x\) に関する鏡映の形にも見えるが、その式 (\(x'=y, y'=x\)) は選択肢にない。そう見えるのは図形Cが左右対称なため)
    d.
    図7は図6を左右反転させたもの。つまり \(y\) 軸に関する鏡映 → ウが正解
    以上の解説は解答・解説のページからも参照できる。

課題

第1回と同様に、1回分(4つの設問)ごとに以下のことを行い、授業終了時に解答用紙を提出する。
  • テキストなどを参照しながら解く
  • 解答・解説のページを見て採点する (a~dのところに○×、間違えたものには正解を赤でマークして、問題名の欄に正解数を書く)
  • 間違えた問題について解答・解説のページの説明とテキストの対応部分を確認する

戻る

inserted by FC2 system