課題
下記のプログラミング課題3問(選択)を提出して下さい。
プログラミング課題
インタラクテイブ性のあるプログラムが理想であり、それを遠隔地でも評価するにはJavaで作成すると効果的であるの
で、可能な人はできるだけJavaを試みて下さい(この場合画像サイズは300x300以下でもよい)。 OpenGLあるいはX-Windowを用い
てスクリーン上に表示する方法でもよい。この際、出力例がカラー画像の場合、それを評価して欲しい人は、自分のホ
ームページに画像を置いて見れるようにしても良い。
課題1. 直線のクリッピングのプログラムを作成せよ。
- ウインドウは4辺形とし、コーヘンサザーランドの方法がいつの方法であるが、どんな方法でもいい。
- 線分はマウスで指定するのでもいいし、ファイルからデータをよむのでもいい。
課題2. 凸多角形の走査変換のプログラムを作成せよ。
- 走査線は下から上に移動するものとし、走査線と多角形の交点は増分法を用いて演算量が少なく算出せよ。
- 各頂点の色は異なることを許すものとし、多角形内はグローのスムーズシェーディングを用いて色を補間せよ。
課題3. 多角形のみで構成される面を考え、これらを隠面消去するプログラムを作成せよ。
課題4 球を陰影をつけて描画せよ。レイトレーシングを利用してもいいが、2次元の円の内部に奥行きや法線を適当な方法で計算して立体感を出すのでもいい。
- 陰影は平行光線とし、明るさを計算せよ。
- 鏡面反射光(ハイライト)を計算せよ。鏡面反射のモデルにはPhongのモデルを採用すること(教科書P.147参照)
Phongのモデルのnの値を変更した場合の結果の違いについて考察せよ。
- 物体の特性は環境光(ambient)・鏡面反射光(specular)・拡散反射光(diffuse)の係数で表される。
各係数を変化させた場合の結果画像を出力せよ。
図2 Phongの鏡面反射モデル
課題3と課題4はどちらかを選択するのでもいい。
レポート課題
3点Pa(0,1,0), Pb(1,0,0), Pc(0,0,1)を含む面の単位法線ベクトルを計算せよ。
下記のSteven A. Coons Awardの受賞者のうち2名を選び、かれらの業績やその手法を解説せよ(1ページ程度)。
http://www.siggraph.org/awards/
隠面消去の方法を分類し、それらの特徴を述べよ。
n次のBezier曲線とm次のBezier曲線を乗じるとBezier曲線になることを証明せよ。また、何次の曲線になるか?
直線Lとn次Bezier曲線との距離はn次Bzier曲線となることを示せ。
参考