エキスパート 2章 (座標変換)

解説

ベーシックとの違い

  • 暗記系問題よりも頭を使う問題が多い
  • 特有の分野の問題
    • 3次元座標変換
    • オイラー操作の具体的な問題
    • 座標の合成
    • フィルタ
    • 可視化

2-2 3次元変換

平行移動
図形を \(x, y, z\) 軸方向にそれぞれ \(t_x, t_y, t_z\) 移動させる変換は以下のように表わされる
\( \begin{pmatrix} x' \\ y' \\ z' \\ 1 \end{pmatrix} = \begin{pmatrix} 1 & 0 & 0 & t_x\cr 0 & 1 & 0 & t_y\cr 0 & 0 & 1 & t_z\cr 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \\ 1 \end{pmatrix} \)

拡大・縮小
原点を中心に図形を \(x, y, z\) 軸方向にそれぞれ \(s_x, s_y, s_z\) 倍に拡大あるいは縮小する変換は以下のように表わされる
\( \begin{pmatrix} x' \\ y' \\ z' \\ 1 \end{pmatrix} = \begin{pmatrix} s_x & 0 & 0 & 0\cr 0 & s_y & 0 & 0\cr 0 & 0 & s_z & 0\cr 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \\ 1 \end{pmatrix} \)

回転
以下のいずれも軸の正方向から原点を見たときに反時計回りを回転の正方向とする
x軸まわりに図形を \(\theta\) 回転させる変換は以下のように表わされる
\( \begin{pmatrix} x' \\ y' \\ z' \\ 1 \end{pmatrix} = \begin{pmatrix} 1 & 0 & 0 & 0\cr 0 & \cos\theta & -\sin\theta & 0\cr 0 & \sin\theta & \cos\theta & 0\cr 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \\ 1 \end{pmatrix} \)

y軸まわりに図形を \(\theta\) 回転させる変換は以下のように表わされる
\( \begin{pmatrix} x' \\ y' \\ z' \\ 1 \end{pmatrix} = \begin{pmatrix} \cos\theta & 0 & \sin\theta & 0\cr 0 & 1 & 0 & 0\cr -\sin\theta & 0 & \cos\theta & 0\cr 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \\ 1 \end{pmatrix} \)

z軸まわりに図形を \(\theta\) 回転させる変換は以下のように表わされる
\( \begin{pmatrix} x' \\ y' \\ z' \\ 1 \end{pmatrix} = \begin{pmatrix} \cos\theta & -\sin\theta & 0 & 0\cr \sin\theta & \cos\theta & 0 & 0\cr 0 & 0 & 1 & 0\cr 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \\ 1 \end{pmatrix} \)

z軸まわりの回転の行列の1, 2行目、1, 2列目の並びは2次元回転の行列と同じ。
x軸まわりの回転の行列は、z軸まわりの回転の行列の1~3行目を下にずらして3行目を一番上に移動させ、1~3列目を右にずらして3列目を一番左に移動させれば得られる。
y軸まわりの回転の行列も同様にしてx軸まわりの回転の行列をもとにずらせば得られる。
このほかに鏡映とスキューの変換行列もあるが、少なくとも2018年後期からはそれらにかかわる問題は出題されていない

変換の合成
続けて行われる複数の変換は、変換行列の積で表わされる
後から行われる変換の行列を左、先に行われる変換の行列を右にして行列の積を計算する。
一般に、行列の積は左右の位置によって結果が変わるので順番に注意が必要。
(行列の積の計算の方法が不安な場合は、「行列 積」などで検索して方法を確認する)

例 (x方向に1移動し、y軸まわりに90°回転する)
\( \begin{pmatrix} x' \\ y' \\ z' \\ 1 \end{pmatrix} = \begin{pmatrix} 0 & 0 & 1 & 0\cr 0 & 1 & 0 & 0\cr -1 & 0 & 0 & 0\cr 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} 1 & 0 & 0 & 1\cr 0 & 1 & 0 & 0\cr 0 & 0 & 1 & 0\cr 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \\ 1 \end{pmatrix} \) \( = \begin{pmatrix} 0 & 0 & 1 & 0\cr 0 & 1 & 0 & 0\cr -1 & 0 & 0 & -1\cr 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \\ 1 \end{pmatrix} \)

過去問を使った学習

2022年度前期 第2問

  1. CG-ARTS検定の過去問のページから2022年度前期の「CGエンジニア エキスパート」の過去問をダウンロードして開く。
  2. そのファイルの第2問のページを表示する (これに似た問題が毎年出題される。全40問中4問、10%分の点数に相当する)。
  3. 解答・解説のページ の2022年度前期の「2」のリンクを開き、正解と解き方を確認する。

課題

  1. 配布された課題の解答用紙に学籍番号と氏名を記入する。
  2. 一番上の「2021年度後期 第2問」の4つの空欄に設問のインデックス (a~d) を記入する。
  3. 過去問のファイル (2021_2.pdf) を開き、第2問を解いてマークする。このときテキストを参照したり、検索したりしてもよい。

  4. 解答・解説のページを見て採点し、a~dのところに○×、間違えたものには正解を赤でマークして、問題名の欄に正解数を書く。
    (この図は説明用のものなので、実際の正解とは異なる)

  5. 間違えた問題について解答・解説のページの説明とテキストの対応部分を確認する。
    この授業の時間中に課題すべてを完了させることは想定されていない。急いで最後まで完了させようとしないこと。
    正解率、どこまで進んだかは成績には一切影響しない。考え方を理解することが正解率の向上につながる。
    上記の解答・解説のページの説明に疑問がある場合は直接質問する。

  6. 以降の問題について2~5の手順を同様に行う。
  7. 授業終了時に解答用紙を提出する。

戻る

inserted by FC2 system