講師:北原格(講義)・亀田能成(実習)
TA:江夏・大河原
連絡先:ic2qa[at]image.esys.tsukuba.ac.jp
教室:3L201(座学)、3L504(実習)
期間:春C、秋C
時間:木曜1、2時限目(8:40-9:55, 10:10-11:25)
単位:2単位
本講義(計算機序論2)は2012年度2学期に、
筑波大学理工学群工学システム学類
(知的工学システム・機能工学システム主専攻)の2年生を
想定して開講されます。
受講にあたっては、
2年生配当の「計算機序論1」「プログラミング序論」
の知識が必須になります。
(その単位が本講義単位取得の前提になっているわけではありません。)
また、本講義の内容は 3年生期配当の「データ構造とアルゴリズム」 の履修に役立ちます。
なお、本ページは、「計算機序論2」のうち亀田能成が担当する実習について情報提供しています。
北原先生分の講義情報については、moodle上の当該科目を参照すること。
本年度(2013年度)履修生に直接関係あるわけではありませんが、2014年度から本授業はこの名前での単独開講は無くなります。
全日程のうち、講義と実習が概ね半々行われる予定です。
実習は原則として全て3L504(計算機室)で行います。
年/月/日 | 回 | 内容 |
2013/12/26 | 秋01 | 亀田 |
2014/01/09 | 秋02 | 亀田 |
2014/01/23 | 秋03 | 亀田 |
2014/01/30 | 秋04 | 亀田 |
2014/02/06 | 秋05 | 亀田 |
この資料では、計算機序論2に限らずこれまでの工学システム学類の授業と幾分被っているところがあります。
本授業履修生以外の学生が、この資料だけでも独習がある程度できるようにとの配慮からです。
もうすでに知っているというところは飛ばして読んでください。
OpenGLを用いたC言語によるCGプログラミング
1. プログラミング基礎復習 -- "Hello ESYS" 再び --
1.1. ぞんざいなHello ESYS
1.2. 上品なHello ESYS
1.3. 至極丁寧なHello ESYS
1.4. 知っていると便利なマクロ
2. ファイルの開き方
2.1. ファイルのぞんざいな開き方
2.2. ファイルの上品な開き方
2.3. bashとの連携
3. 関数利用によるプログラムの構造化
3.1. 簡易電卓プログラムの設計
3.2. fgets()の試運転
3.3. sscanf()の試運転
3.4. 簡易電卓
4. 分割したファイルでのプログラミング
4.1. C言語プログラムのソースファイル分割
4.2. 簡易電卓・分割コンパイル版
4.3. 簡易電卓・自家製ライブラリの製作と利用
5. Eclipse CDT (C Development Tooling) 入門
5.1. 作業概念
5.1.1. 2種類のパースペクティブと2種類の実行ファイル
5.1.2. プロジェクト
5.1.3. ワークスペース
5.2. フォルダとファイルの配置
5.2.1. ワークスペース
5.2.2. プロジェクト
5.2.3. ソースファイル
5.2.4. 実行ファイルと実行時カレントディレクトリ
5.2.5. その他
5.3. はじめてのeclipse
5.3.1. eclipseの起動とワークスペースの設定
5.3.2. eclipseの初期設定
5.4. はじめてのプロジェクト - Hello Eclipse -
5.4.1. プロジェクト概要の決定
5.4.2. 新規プロジェクトの登録
5.4.3. 新規ソースファイルの作成
5.4.4. デバッグ用実行ファイルの作成
5.4.5. 実行時デバッグの設定
5.4.6. 実行時デバッグ
5.4.7. ステップ実行(ステップイン、ステップオーバー)
5.4.8. デバッグの再実行
5.4.9. 通し実行(Run, Break point)
5.4.10. C/C++パースペクティブに戻る前に - デバッグ実行の終了 -
5.4.11. パースペクティブの切り替え
5.4.12. デバッグ用実行ファイルの動作確認
5.4.13. リリース用実行ファイルの生成
5.5. プロジェクトへの外部ソースファイルの持ち込み - Hello ESYS again -
5.5.1. プロジェクトの概要
5.5.2. 新規プロジェクトの登録
5.5.3. 外からのソースファイルの取り込みとデバッグ・実行
5.6. プロジェクトへの外部ソースファイル群の持ち込み - 簡易電卓の分割ソースファイル群 -
5.6.1. プロジェクトの概要
5.6.2. 新規プロジェクトの登録
5.6.3. 外からの分割ソースファイル群の取り込みとデバッグ・実行
5.7. プロジェクトへの外部ソースファイル群の持ち込み - ファイルを開くプログラム -
5.7.1. プロジェクトの概要
5.7.2. 新規プロジェクトの登録
5.7.3. 外からのソースファイルの取り込み
5.7.4. 起動時引数(オプション)を伴う実行時デバッグの構成
5.7.5. eclipse:デバッグパースペクティブでの配列変数の読み方と、文字列の配列というargvの構造
5.8. 補足資料
6. OpenGLプログラミング入門
6.1. はじめてのOpenGL - プログラムの枠だけ -
6.2. はじめてのOpenGL - バッファを切り替えよう -
6.3. はじめてのOpenGL - バッファ切替の確認 -
6.4. はじめてのOpenGL - バッファを時間で切り替え -
6.5. はじめてのOpenGL - 直交投影カメラ -
6.6. はじめてのOpenGL - 線画物体を描画 -
6.7. はじめてのOpenGL - 周期的動作 -
6.8. はじめてのOpenGL - マイクロ秒オーダの計測 -
6.9. はじめてのOpenGL - コードクリーニング -
7. GLUTを用いたプログラムの構造化
7.1. プログラムの構造設計
7.2. ファイル分割
7.3. ファイル分割に伴う修正
7.4. イベントの追加(キーボード)
7.5. イベントの追加(ロゴの拡大縮小)
8. GLUTを用いたCGの移動と回転
8.1. OpenGLライブラリが使う行列
8.2. 初めての移動
8.3. OpenGLでの行列操作の実際
8.4. 多段階の行列操作
9. 透視投影
9.1. 透視投影の導入(暫定)
9.2. 透視投影の導入(正式)
9.3. 透視投影下での回転と移動
10. ファイルからの3DCGモデル読込
10.1. ファイルのオープン・クローズ
10.2. モデルデータのファイルからの読込
11. 3DCGモデルの表示
11.1. プログラム同居
11.2. プログラム統合
11.3. プログラム完全統合
11.4. ポリゴン表示
11.5. ポリゴン表示・Depth付
講義の進捗を加味して、講義前後に掲載します。
課題については、課題1〜課題5の5回とも必須課題部分を提出することが単位取得のための絶対必要条件です。 提出洩れのないように厳に注意してください。
・課題1〜5全ての必須課題部分を提出し、その上で本「演習」について60点以上の評価を得ること。
・春Cで60点未満の者は、秋Cの演習で60点以上を得ても授業全体としては不合格のD判定です。
・春Cで60点未満の者でも、秋Cの演習を履修することはできます。
・シラバス(知的工学システム主専攻)
・シラバス(機能工学システム主専攻)
2つは同一のものです。