2020年秋学期 - CGとCADの数理 / GEOMETRIC MODELING AND COMPUTER GRAPHICS
|
C2114 CGとCADの数理 GEOMETRIC MODELING AND COMPUTER GRAPHICS |
先端科目-環境情報系 Advanced Subjects - Series of Environment And Information Studies 2 単位 |
| 実施形態 | 完全オンライン |
| 開催日程 | 秋学期 月曜日6時限 |
| 担当教員 | 中野 亜希人(ナカノ アキト) |
| 関連科目 |
前提科目(推奨): B4004 前提科目(関連): C2075,C2077 |
| 開講場所 | SFC |
| 授業形態 | 講義、実習・演習 |
| 履修者制限 |
履修人数を制限する Only the selected students can take this course. |
| 履修条件 | |
| 使用言語 | 日本語 |
| 連絡先 | akito@sfc.keio.ac.jp |
| 授業ホームページ | |
| 同一科目 | |
| 学生が利用する予定機材/ソフト等 |
Mac PCを毎回持参すること |
| 設置学部・研究科 | 総合政策・環境情報学部 |
| 大学院プロジェクト名 | |
| 大学院プロジェクトサブメンバー | |
| ゲストスピーカーの人数 | 0 |
| 履修選抜・課題タイプ=テキスト登録可 | false |
| 履修選抜・選抜課題タイプ=ファイル登録可 | false |
| GIGAサティフィケート対象 | |
| 最終更新日 | 2020/07/28 01:13:19 |
科目概要
1963年にアイバン・サザランドが開発したSketchpadはコンピュータと人間との対話方式を革新的に変えた、CG/CADシステム(以下、CG/CAD)の先駆けです。コンピュータの技術的発展と共にCG/CADは、現実世界の光や剛体、流体の物理シミュレーションを視覚化する媒体に留まらず、仮想世界のゲームやアート、映画において独自の表現を発明してきました。本講義「CGとCADの数理」では、このような高度な応用への深化を考慮しながら、2/3次元CG/CADの数理的な理解と汎用的なアルゴリズムによる実践を主題とします。
授業シラバス
主題と目標/授業の手法など
1963年にアイバン・サザランドが開発したSketchpadはコンピュータと人間との対話方式を革新的に変えた、CG/CADシステム(以下、CG/CAD)の先駆けです。コンピュータの技術的発展と共にCG/CADは、現実世界の光や剛体、流体の物理シミュレーションを視覚化する媒体に留まらず、仮想世界のゲームやアート、映画において独自の表現を発明してきました。本講義「CGとCADの数理」では、このような高度な応用への深化を考慮しながら、2/3次元CG/CADの数理的な理解と汎用的なアルゴリズムによる実践を主題とします。
プログラミング言語の文法よりもCG/CADの数理的な理解と汎用的なアルゴリズムによる実践に注力するため、講義では直感的なプログラミング文法を持つオープンソースの開発環境 Processing を使用します。プログラミングの初心者の方も歓迎します。
講義は、毎回の冒頭でプログラムの雛形を配布し、スライドによるCG/CADの数理の解説とコーディングを往来して進めます。
教材・参考文献
鳥谷浩志, 千代倉弘明. 3次元CADの基礎と応用, 1995, 228p.
提出課題・試験・成績評価の方法など
毎回の小課題、中間課題、最終課題で成績を付けます。
履修上の注意
授業計画
第1回 CG/CADの歴史
第1回では、研究や作品例を紹介しながらCG/CADの歴史を概観し、その誕生と隆盛、今後の展開に目を向けます。
後半に、本講義を履修する上での注意事項、本講義の概要、成績の付け方、Processingの導入方法を説明します。
第2回 プリミティブ形状
CG/CADにおけるプリミティブ形状は、頂点と稜線と面で構成されたポリゴンで構成されます。後半では、ポリゴンを組み合わせて正多面体を描画します。
第3回 ベクトル
3次元空間の位置は一般に(x,y,z)の3次元ベクトルで表されます。第3回では、線形代数の基礎としてベクトルについて概説します。その理解を深めるため、CG/CADへの利用を念頭とした3次元ベクトルの四則演算を実装します。
第4回 ベジエ曲線
パラメトリックな曲線表現としてまずベジエ曲線を解説します。Bernstein既定関数や、その二項定理からの導出、閉包性といったベジエ曲線の数理を解説します。
第5回 曲率
曲線の曲がり具合の指標となる曲率の計算を、ベジエ曲線を題材に学習します。具体的には、ベジエ曲線の一階微分、二階微分の計算結果から弧長や動標構を求め、曲率円を描画します。
第6回 次数上げと接続
より局所的な曲線形状の操作には、既にある曲線の形状を変えずに、曲線の自由度を上げる必要があります。つまり、曲線の形状を変えずに制御点を増やす必要があります。後半では、複数への分割やその接続のアルゴリズムも解説します。
第7回 B-Spline曲線
ベジエ曲線は、制御点の移動が曲線全体に影響を与えますが、B−Spline曲線はこの影響は局所的なためより細かな形状操作が可能です。第7回では、B-Spline基底関数やノットベクトルについて学習し、B-Spline曲線の数理を理解します。
第8回 NURBS曲線
第7回のB−Spline曲線を発展させ、制御点が重み(ウェイト)を持つNon-Uniform Rational B-Splines(NURBS)を解説します。
第9回 パラメトリックな曲面
第4回、第5回で既習したベジエ曲線を曲面に発展させます。
第10回 行列
ベクトルをアフィン変換(移動、回転、拡大・縮小)する為に、CG/CADでは4x4の同次座標表現が多用されます。第7回では、行列の未経験者を念頭にした解説も加えて、行列によるベクトル操作を解説します。
第11回 メタボール
陰関数曲面をレンダリングする為に、マーチング・スクエア(Marching Squares)法やマーチング・キューブス(Marching Cubes)法について解説します。実社会での応用例についても触れます。
第12回 3次元物体の表示
第7回からは3次元CG/CADへ展開するために、3次元座標系(右手座標系)を導入し、ワールド座標系、カメラ座標系、スクリーン座標系への変換、陰面処理を解説します。
第13回 レイトレーシング
第12回では、レイトレーシングいう、Ray(光線)をTracing(追跡する)事で3次元物体を描画する古典的なレンダリング手法を解説します。
第14回 シェーディング
CG/CADでは、影と陰は区別されます。第9回では後者の、光源が物体に落とす陰影モデルについて、具体的にランバートモデル、グーローモデル、フォンモデルの数理を解説します。
第15回 最終発表会
講義内容を振り返るとともに、今後のCG/CADの動向について触れます。
15回目に相当するその他の授業計画
課題・レポート