コンピュータグラフィックス(CG)の処理技術の理論とアルゴリズムを理解し、OpenGLを利用したC言語プログラミングによるCGの取り扱いと図形処理の実践ができるようになることを目標とする。講義および試験のレベルはCGエンジニア検定のエキスパート程度とする。
概要:
3次元コンピュータグラフィックス(3DCG)の基本的な技術について理論とアルゴリズムを学習するとともに、実際に3DCGの制作を行う場合に必要な実践的グラフィックス処理技術を、C言語とOpenGLを利用したプログラミング演習によって習得する。また、CGで多用される行列計算や、CGと関連が深い画像処理技術の一部についても基本的技術の学習とMATLAB(もしくはOctave)を用いたプログラミング演習を通じて修得する。
授業の進め方・方法:
3DCG制作の基礎的手法を座学で学び、実際にグラフィックスライブラリOpenGLを用いたC言語プログラミング演習で実践する。座学中心で講義を進め、理解を深めるための課題演習(プログラミング)を適宜行う。この科目は学修単位科目であり、授業内容を確実に身につけるために予習復習が必須である(特に、教科書に記述されている内容は授業ごとに各自で1時間程度(年間合計30時間)の予習・復習がなされているものとして講義を進める)。また、行列計算を多用するため、線形代数の基礎的内容を復習しておくことが望ましい。
注意点:
学年末評価は、定期試験の得点・レポートの得点・総合演習課題の得点をそれぞれ60%・20%・20%の比率で合算して算出する。レポートおよび総合演習課題は実践力に関する評価を行うための根拠となるため、これらの提出が一部でもなされない場合には原則として学年末評価を行わない。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス・導入 |
視覚特性などの視覚情報処理における基礎的事項、CGの主要な歴史、知的財産権についての知識を修得する。
|
2週 |
ディジタルカメラモデル、CGシステム |
CGと画像処理の違い、ディジタルカメラモデル、CG制作システムの基本的構成についての知識を修得する。
|
3週 |
視覚に訴えるグラフィックス |
イメージベーストレンダリング、ノンフォトリアリスティックレンダリング、可視化についての知識を修得する。
|
4週 |
ディジタル画像とその表現 (1) |
ディジタル画像の基礎的事項、色空間、画像の生成と描画について、プログラミングを行いながら実践的知識を修得する。
|
5週 |
ディジタル画像とその表現 (2) |
画素ごとの濃淡変換と色変換についてプログラミングを行いながら実践的知識を修得する。
|
6週 |
ディジタル画像とその表現 (3) |
領域に基づく画像変換(空間フィルタリング・幾何学変換)についてプログラミングを行いながら実践的知識を修得する。
|
7週 |
グラフィックス表示の基礎 (1) |
OpenGLに関する基礎的事項、開発環境の構築を行う。
|
8週 |
中間試験 |
これまでに学習した内容の理解度を確認する。
|
2ndQ |
9週 |
グラフィックス表示の基礎 (2) |
OpenGLに関する基礎的演習を行い、ライブラリの基本的な利用方法を修得する。
|
10週 |
2次元座標変換 (1) |
CGにおける座標系、アフィン変換について、プログラミングを行いながら実践的知識を修得する。
|
11週 |
2次元座標変換 (2) |
2次元座標系における各種変換について、プログラミングを行いながら実践的知識を修得する。
|
12週 |
3次元座標変換(1) |
3次元座標系における各種変換についてプログラミングを行いながら実践的知識を修得する。
|
13週 |
3次元座標変換(2) |
3次元座標系における各種変換に関して、プログラミングを行いながら実践的知識を修得する。
|
14週 |
投影 |
3次元物体の投影原理と性質、ビューイングパイプラインについて理論的知識を修得する。
|
15週 |
期末試験 |
これまでに学習した内容の理解度を確認する。
|
16週 |
答案返却など |
答案返却と解説を行う。
|
後期 |
3rdQ |
1週 |
モデリング(1) |
CGで利用される各種モデリング手法について、それらの特性と実用におけるメリット・デメリットを理解する。
|
2週 |
モデリング(2) |
曲線・曲面の表現方法、パラメトリック曲線・曲面について理論的知識を修得する。
|
3週 |
モデリング(3) |
ポリゴン曲面について
|
4週 |
モデリング(4) |
ボクセル、フラクタル、メタボール、パーティクルなどの表現手法について理論的知識を修得する。
|
5週 |
レンダリング (1) |
リアリスティックレンダリングのための基礎的事項について講義とプログラミング演習を通じて理解する。
|
6週 |
レンダリング (2) |
隠面消去法、シェーディングの基礎的事項について講義とプログラミング演習を通じて理解する。
|
7週 |
レンダリング (3) |
陰影表現、照明モデル、テクスチャマッピングについて講義とプログラミング演習を通じて理解する。
|
8週 |
中間試験 |
これまでに学習した内容の理解度を確認する
|
4thQ |
9週 |
レンダリング (4) |
テクスチャマッピングの応用、バンプマッピングなどについて講義とプログラミング演習を通じて理解する。
|
10週 |
アニメーション (1) |
アニメーション技術の基礎的事項について講義とプログラミング演習を通じて理解する。
|
11週 |
アニメーション (2) |
アニメーションに関して、講義とプログラミング演習を通じて理解する。
|
12週 |
CG制作総合演習 (1) |
ここまでに修得した内容を用いたオリジナルCG作品の企画と制作を行う。
|
13週 |
CG制作総合演習 (2) |
ここまでに修得した内容を用いたオリジナルCG作品の制作を行う。
|
14週 |
CG制作総合演習 (3) |
ここまでに修得した内容を用いたオリジナルCG作品の制作および成果のまとめを行う。
|
15週 |
期末試験 |
総合演習で制作した作品の報告を行う。
|
16週 |
答案返却など |
総合演習のレポート作成、総括を行う。
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 数学 | 数学 | 数学 | 整式の加減乗除の計算や、式の展開ができる。 | 3 | |
角を弧度法で表現することができる。 | 3 | |
三角関数の性質を理解し、グラフをかくことができる。 | 3 | |
加法定理および加法定理から導出される公式等を使うことができる。 | 3 | |
三角関数を含む簡単な方程式を解くことができる。 | 3 | |
2点間の距離を求めることができる。 | 3 | |
内分点の座標を求めることができる。 | 3 | |
2つの直線の平行・垂直条件を利用して、直線の方程式を求めることができる。 | 3 | |
簡単な場合について、円の方程式を求めることができる。 | 3 | |
ベクトルの定義を理解し、ベクトルの基本的な計算(和・差・定数倍)ができ、大きさを求めることができる。 | 3 | |
平面および空間ベクトルの成分表示ができ、成分表示を利用して簡単な計算ができる。 | 3 | |
平面および空間ベクトルの内積を求めることができる。 | 3 | |
問題を解くために、ベクトルの平行・垂直条件を利用することができる。 | 3 | |
空間内の直線・平面・球の方程式を求めることができる(必要に応じてベクトル方程式も扱う)。 | 3 | |
行列の定義を理解し、行列の和・差・スカラーとの積、行列の積を求めることができる。 | 3 | |
逆行列の定義を理解し、2次の正方行列の逆行列を求めることができる。 | 3 | |
行列式の定義および性質を理解し、基本的な行列式の値を求めることができる。 | 3 | |
線形変換の定義を理解し、線形変換を表す行列を求めることができる。 | 3 | |
合成変換や逆変換を表す行列を求めることができる。 | 3 | |
平面内の回転に対応する線形変換を表す行列を求めることができる。 | 3 | |
専門的能力 | 分野別の専門工学 | 情報系分野 | その他の学習内容 | メディア情報の主要な表現形式や処理技法について説明できる。 | 4 | |