コンピュータグラフィックス特論 課題(2011年度)

下記のプログラミング課題において4問中少なくとも3問を提出せよ。

プログラミング課題

インタラクティブ性のあるプログラムが理想であり、 それを遠隔地でも評価するにはJavaで作成すると効果的であるので、可能な人はできるだけJavaを試みて下さい(この場合画像サイズは300x300以下でもよい)。 C言語とOpenGLを用いて表示する方法でもよい。 この際、出力例がカラー画像の場合、それを評価して欲しい人は、自分のホームページに画像を置いて見れるようにしてもよい。

課題 1 Bezier曲線の描画プログラムを作成せよ。


課題 2 n次のBezier曲線と線分の交点を求めるプログラムを作成せよ


課題 3 フラクタル(自己相似性)の考え方を用いて、線画によって自然物を描画するプログラムを2つ以上作成せよ 。


課題4  マウスドラッグによって色鉛筆風のストローク生成ができる簡易ペイントツールを作成せよ。

参考文献

[1] 「コンピュータグラフィックス」、 CGARTS(画像情報教育振興協会)
[2] /~nis/CG/cgtxt/cg2/cg026.htm#cg26
[3] Creating Colored Pencil Style Images by Drawing Strokes Based on Boundaries of Regions

参照URL

Webでの本課題公開 : (訂正がある場合があるので、提出前に再度下記を見ること) /~nis/junk/lecture/VisRep11.html
本講義のサイト /~nis/junk/cg_lectur.html

注:プログラミングが困難な学生は,下記のレポート課題を提出しても構いません。

課題1 3次元の座標変換に関し、x軸に関して30度回転した後、y軸に関して45度回転する変換マトリックスを求めよ。また、、y軸に関して45度回転した後、x軸に関して30度回転する変換マトリックスを求めよ。これらの2つの変換マトリックスは同じかどうか議論せよ。
課題2 直線Lとn次Bezier曲線との距離はn次Bzier曲線となることを示せ。また、Bezier曲線の各頂点への基底関数は合計すると常に1になることを示せ。
課題3 代表的な隠面消去の方法を3つ以上挙げ、その基本的な方法と特徴をのべよ(取り上げた方法の比較も含む)。
課題4 単純な例(球が1つの場合)でのレートレーシングに関して計算法を記述せよ。球の中心をPc、半径をr、視点の位置をPv、視線の方向をベクトルVとすると、レイと球の交点Qを求める式を抽出し、その交点Qでの反射方向ベクトルRと屈折方向ベクトルTの算出式を書け。
課題5 下記の中から有用なCGの要素技術を2つを選びその技術内容を述べよ(可能なら開発者名も、計1ページ以上とする)。
フラクタル、NURBS,ボリュームレンダリング、Bスプライン曲線、ラジオシテイ法、バンプマッピング、マンデルブロー集合、サブサーフェススキャタリング、イメージベースレンダリング、レイキャスティング


締切: 2月16日(木曜)23:00!

結果(プログラムソース、実行形式、結果画像、レポート)は各自のホームページに置くか、メイルに添付して下さい。メイルの際はTAの石川 ishi@nis-lab.is.s.u-tokyo.ac.jp にもccして下さい。

連絡先:email: nis@is.s.u-tokyo.ac.jp 電話: 03-5841-4106 (西田研究室):
/~nis/ 
注: 2月16日(課題締切日ですが課題にプラスになる)講演会(テキサス大のBajaj教授)に参加し,その内容要旨および感想をA4程度で書いて提出すると配慮します。