概要:
CGの進歩は著しく、ゲームや映画など我々の身近な日常に深く浸透してきており、工学の世界ではこれらのソフトウェアを利用、開発する機会が多くなってきている。本講義ではCGの基礎となる座標変換やシェーディング、投影変換を学び、ソフトウェアを利用する際の基本技術を習得する。また、講義で得た知識をより深めるため、OpenGLを利用したプログラミング演習を実施し、実際に簡単な3次元CGを作成する。
なおこの科目は企業で数値制御機器のGUI開発を担当していた教員がその経験を活かし、3次元でのCG技術の基礎について講義形式で授業を行うものである。
授業の進め方・方法:
授業は講義を中心に適宜学習内容について講義を行う。前期においては座標計算が主となるため、電卓を持参する必要がある。また、座標計算には演習を多く取り入れる。後期においては、シェーディングや隠面処理、マッピングなどのレンダリング技術について解説を行う。講義中心であるため、講義の終わりにはプログラミング課題を実施することにより、学習した内容の実装を行う。この時、描画用のライブラリとしてOpenGLを用いる。課題には標準目標を設定し、発展課題を実施したものには加点する。
注意点:
1.評価については、評価割合に従って行います。ただし、適宜再試や追加課題を課し、加点することがあります。
2.中間試験を授業時間内に実施することがあります。
3.前後期試験を各40%で合計80%、課題レポート20%とする。評価基準については授業目標(C2-3)が60%以上で、かつ全体で60点の場合に合格とする。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
オリエンテーション |
CGの現状や代表的なソフトウェアおよび授業の目的を説明できる。
|
2週 |
2次元CG(座標変換) |
スクリーン色とVRAMおよびディスプレイ座標の関係について説明できる。
|
3週 |
|
座標変換(座標変換とスクリーン座標,フレームバッファ)について説明できる。
|
4週 |
|
座標変換(物体の回転と移動)について説明できる。
|
5週 |
2次元座標変換演習 |
合成変換,合成行列と合成変換の演習を通じて、座標変換計算を行うことができる。
|
6週 |
3次元CG(座標変換) |
3次元での座標変換(平行移動,スケーリング,回転)について説明できる。
|
7週 |
|
オブジェクト変換(オブジェクト座標とワールド座標)について説明できる。
|
8週 |
|
視野変換(ビュー座標,スクリーン座標変換)について説明できる。
|
2ndQ |
9週 |
|
視野変換(合成行列)について説明できる。
|
10週 |
|
投影変換(並行投影と透視投影)について説明できる。
|
11週 |
3次元座標変換演習 |
3次元での座標変換の手順について具体的に説明できる。
|
12週 |
|
3次元での座標変換の演習を通じて3次元での座標変換計算を行うことができる。
|
13週 |
形状モデル |
形状モデルの種類の概要について説明できる。
|
14週 |
|
ワイヤーフレーム,サーフェイス,ソリッドモデルについて説明できる。
|
15週 |
まとめ |
前期での講義のまとめを行い、前期の概要を理解できる。
|
16週 |
|
|
後期 |
3rdQ |
1週 |
シェーディング |
照明モデルとシェーディング法概要とフラットシェーディングについて説明できる。
|
2週 |
|
スムースシェーディングについて説明できる。
|
3週 |
光源 |
光源の種類について説明できる。
|
4週 |
隠面処理 |
隠面処理に必要性と種類について説明できる。
|
5週 |
|
Z-Bufferについて説明できる。
|
6週 |
|
RayTracingとVolumeRenderingについて説明できる。
|
7週 |
マッピング |
テクスチャーマッピング,バンプマッピング,リフレクションマッピングについて説明できる。
|
8週 |
シャドウイング |
シャドウイング手法の種類について説明できる。
|
4thQ |
9週 |
演習Ⅰ(シェーディング) |
シェーディング演習(OpenGLの使い方)を通じてOpenGLを利用できる。
|
10週 |
|
シェーディング演習を通じて座標変換してワイヤーフレーム表示できる。
|
11週 |
|
シェーディング演習を通じてフラットシェーディングで立体を描画できる。
|
12週 |
演習Ⅱ(レイトレーシング) |
レイトレーシング演習を通じて公差判定計算ができる。
|
13週 |
|
レイトレーシング演習を通じて1つの球についてレイトレーシング表示ができる。
|
14週 |
|
レイトレーシング演習を通じて複数の球体のレイトレーシング表示ができる。
|
15週 |
まとめ |
後期での講義のまとめを行い、後期の概要を理解できる。
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 数学 | 数学 | 数学 | 三角比を理解し、簡単な場合について、三角比を求めることができる。 | 3 | 前3,前4,前5,前10 |
一般角の三角関数の値を求めることができる。 | 3 | 前3,前4,前5 |
角を弧度法で表現することができる。 | 3 | 前3 |
三角関数の性質を理解し、グラフをかくことができる。 | 3 | 前4 |
加法定理および加法定理から導出される公式等を使うことができる。 | 3 | 前4,前5 |
三角関数を含む簡単な方程式を解くことができる。 | 3 | 前4,前5 |
平面および空間ベクトルの内積を求めることができる。 | 3 | 前6,前7,前8,後9,後10,後11,後12,後13,後14 |
空間内の直線・平面・球の方程式を求めることができる(必要に応じてベクトル方程式も扱う)。 | 3 | 前6,前7,前8,後12,後13,後14 |
行列の定義を理解し、行列の和・差・スカラーとの積、行列の積を求めることができる。 | 3 | 前6,前7,前8,前9,後10,後11 |
逆行列の定義を理解し、2次の正方行列の逆行列を求めることができる。 | 3 | 前6,前7,前8,前9,後10,後11 |
行列式の定義および性質を理解し、基本的な行列式の値を求めることができる。 | 3 | 前6,前7,前8,前9,後10,後11 |
線形変換の定義を理解し、線形変換を表す行列を求めることができる。 | 3 | 前4,前5,前6,後10,後11 |
合成変換や逆変換を表す行列を求めることができる。 | 3 | 前5,前6,前7,前8,前9,前10,後10,後11 |
平面内の回転に対応する線形変換を表す行列を求めることができる。 | 3 | 前3,前4,前5,前6,前7,前8,前9,前10,後10,後11 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数の概念を説明できる。 | 4 | 後9,後10,後11,後12,後13,後14 |
データ型の概念を説明できる。 | 4 | 後9,後10,後11,後12,後13,後14 |
代入や演算子の概念を理解し、式を記述できる。 | 4 | 後9,後10,後11,後12,後13,後14 |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | 後9,後10,後11,後12,後14 |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | 後9,後10,後11,後12,後13,後14 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | 後9,後10,後11,後12,後13,後14 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | 後9,後10,後11,後12,後13,後14 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | 後9,後10,後11,後12,後13,後14 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 後9,後10,後11,後12,後13,後14 |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 3 | 後9,後10,後11,後12,後13,後14 |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 3 | 後9,後10,後11,後12,後13,後14 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | 後9,後10,後11,後12,後13,後14 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 3 | 後9,後10,後11,後12,後13,後14 |