計算機科学実験及演習4「コンピュータグラフィックス(CG)」(2002年度)
情報工学教室,
亀田能成の担当授業, 
亀田能成のホーム
2002/10/04,2004/08/14
本ページでは、
京都大学工学部情報学科計算機科学コース3回生後期前半
(2002/10/03-2002/11/14)の期間、行われるコンピュータグラフィックスの
実験/演習について説明します。
対象学生は計算機科学コースの3回生相当(の3分の1)です。
詳細は下記のオンラインテキストに譲りますが、
本実験/演習の最終目的は最近のCGにおける
レンダリング技術の学習・習得・実践です。
- 担当
 亀田(kameda@media.kyoto-u.ac.jp / KUINS:9069)
 角所(kakusho@media.kyoto-u.ac.jp)
 メールアドレスが計算機科学コースの通常と
異なるので注意すること。
 
- TA
 山肩(yamakata@mm.media.kyoto-u.ac.jp / KUINS:9065)
 メールアドレスが計算機科学コースの通常と
異なるので注意すること。
 
- 日程
 10/3(木),4(金),10(木),11(金),17(木),18(金),24(木),25(金),31(木)
 11/1(金),7(木),8(金),14(木)
 
本演習履修者に対しては、下記の課題についてレポートを提出してもらうと共
に、途中で課題進捗状況の報告をしてもらいます。なお、第1課題から第3課
題までは必修課題です。必修課題の内容が実現できることが履修最低ラインと
想定しています。また、メールによる報告であっても報告書の形式を要求しま
す。口語調のようなくだけた文体、支離滅裂な文章等については大幅減点しま
す。答案を書くのと同じ気持ちで書いて下さい。また、課題内容は予定です。
進捗状況次第で変更をするかもしれません。第4課題以降はしなくても(出来
なくても)構いません。
なお、レポートには課題内容、作成したプログラムのアルゴリズムの概要、実
行結果、工夫点、問題点等について記述すること。説明の上で必要ない部分の
ソースファイルは添付しないこと。プログラム作成以外の課題については、調
べたことや考えたことをまとめて記述すること。
- 第1課題
  
  - 期限
 [2000/10/18, 17:00]
- 課題内容
 
      - 3Dポリゴンデータを透視投影により投影した
          PPM画像を生成するプログラムを作成すること。
	  
	  - 3Dポリゴンデータはプログラム内部で定数で与える。
	      可能ならばランダム数値発生にする。
	      頂点の座標を標準エラー出力に出力すること。
	  
- PPM画像の大きさは,256×256画素とする.
	  
- カメラ位置:(x,y,z) = (0.0,  0.0,  0.0)
 カメラ方向:(x,y,z) = (0.0,  0.0, -1.0)
 カメラ焦点距離: 256.0
 を仮定する.以下の課題でも特に指定がなければ同様とする.
- ポリゴンには拡散反射によるシェーディングか、
	      ポリゴンごとに異なる単色(疑似カラー)をつけること。
	  
- 隠面処理、Zバッファ処理は行わなくてよい。
	  
 
- 多角形ポリゴンにおいて頂点が同一平面上にない場合、
          それを平面分割するアルゴリズムを考察せよ。
	  ただし、分割後の平面の分割状態が元の平面の近似となるように
	  すること。
      
- ラスタスキャンによるアルゴリズムについて、
          並列可能性について論ぜよ。
	  
      
 
- 報告方法
 Subject: Report1 として 
	le4cg@mm.media.kyoto-u.ac.jp
	までTeXでレポートを作成の上、pdfをメール添付で送付すること。
	宛先間違い等による未着などについては一切考慮しないので間違えぬよう。
	(システム障害は除く。)
- 実演考課
 2002/10/18の9:00から7,8名ほど実演をしてもらいます。
 
 
- 第2課題
  
  - 期限
 [2002/11/1, 17:00]
- 課題内容
 
      - VRML形式のファイルを読み込み、Zバッファ処理・隠面処理を行いつつ
          拡散反射を用いて透視投影により投影したPPM画像を生成する
	  プログラムを作成すること。
	  
	  - VRML 形式はテキストに記述してあるサブセットのみを考慮す
	      ればよい。ファイルの読み込みには,
	      既存のルーチンを
	      使用してよい。
 VRMLファイルは、
	      これらが利用できる。
- 光源方向 :(x,y,z) = (1.0, -1.0, -2.0)
 光源明るさ:(r,g,b) = (1.0,  1.0,  1.0)
 光源モデル:平行光源
 を仮定する。以下の課題でも特に指定がなければ同様とする。
	      この他に色々な種類・位置の光源を指定できるようにしてもよい。
- 拡散反射モデルに基づき、コンスタントシェーディングにより
	      ポリゴンを描画すること。
	  
- Zバッファ処理、隠面処理を行うこと。
          
 
- 
	  n bit の整数で表現された Z バッファでは、
	  正しい表示が行われない場合がある。
	  それがどのような場合か述べよ。
	  また,それに対処する手法について述べよ。
          
          
      
 
- 報告方法
 Subject: Report2 として 
	le4cg@mm.media.kyoto-u.ac.jp
	までTeXでレポートを作成の上、pdfをメール添付で送付すること。
- 実演考課
 2002/11/1の9:00から7,8名ほど実演をしてもらいます。
	までTeXでレポートを作成の上、pdfをメール添付で送付すること。
	宛先間違い等による未着などについては一切考慮しないので間違えぬよう。
	(システム障害は除く。)
 
 
- 第3課題
  
  - 期限
 [2002/11/20, 17:00](水曜日であることに注意)
- 課題内容
 
      - VRML 形式のファイルを読み込み、コンスタントシェーディングにより
          ポリゴンを描画して、PPM画像に出力するプログラムを作成すること。
	  
	  - 拡散反射・鏡面反射・環境光によるシェーディングを行うこと。
	  
 
 
- 報告方法
 Subject: Report3 として 
	le4cg@mm.media.kyoto-u.ac.jp
	までTeXでレポートを作成の上、pdfをメール添付で送付すること。
- 実演考課
 2002/11/14の13:00から7,8名ほど実演をしてもらいます。
	(日程変更の可能性あり。)
 
 
- 第4課題
  
  - 課題内容
 様々なシェーディング技法とプログラムの拡張を行う。
      - グーローシェーディング
      
- フォーンシェーディング
      
- テキスチャマッピング
      
- カメラ焦点距離の自由な指定
      
- 画像サイズの自由な指定
      
- カメラ位置の自由な指定
      
- 物体位置・向きの自由な指定
      
- 物体位置に応じたカメラ方向の自動最適化
      
- 光源の自由な指定
      
- 点光源による照明
      
- 並行投影
      
 
- 報告方法
 Subject: ExtraReport4 として 
	le4cg@mm.media.kyoto-u.ac.jp
	へ報告を送ること。TeX形式でなくてよい。
	どの機能を実現したかと、実現方法の要約と工夫点を述べること。
 
- 実演考課
 希望者に応ずる。
 
 
- 第5課題
  
  - 課題内容
 Xlib/OpenGL等によるXクライアント化を行う。
- 報告方法
 Subject: ExtraReport5 として 
	le4cg@mm.media.kyoto-u.ac.jp
	へ報告を送ること。TeX形式でなくてよい。
	実現方法の要約と工夫点を述べること。
 
- 実演考課
 希望者に応ずる。
 
 
- 第6課題
  
  - 課題内容
 環境マッピングを行う。
- 報告方法
 Subject: ExtraReport6 として 
	le4cg@mm.media.kyoto-u.ac.jp
	へ報告を送ること。TeX形式でなくてよい。
	実現方法の要約と工夫点を述べること。
 
- 実演考課
 希望者に応ずる。
 
 
<kameda@media.kyoto-u.ac.jp>