Visual情報論 課題(2002年度)
下記のプログラミング課題において5問中少なくとも4問
(課題3か課題4を選択)を提出せよ。
プログラミング課題
インタラクティブ性のあるプログラムが理想であり、それを遠隔地でも評価するには
Javaで作成すると効果的であるので、可能な人はできるだけJavaを試みて下さい(この場合画像サイズは300x300以下でもよい)。X-Windowを用いてスクリーン上に表示する方法でもよい。
この際、出力例がカラー画像の場合、それを評価して欲しい人は、自分のホームページに画像を置いて見れるようにしてもよい。
課題1
凸多角形のウィンドウに対する、任意の多角形のクリッピングのプログラムを作成せよ。
- クリッピングはウインドウを構成してるm凸多角形の各辺について、
逐次処理する方法を利用する。
この方法は配布資料[1](p.106 )を参照のこと。
- クリップされる形状はn多角形とし、会話的に頂点はマウスで入力するかファイルから読むこととする。
課題2
任意の2次元図形を4分木表現し、描画せよ。
- 教科書p.88を参照すること。
- マウスで入力した(またはファイルから読み込む)多角形を、スクリーンを再帰的に4分割し、適当な精度で領域を表現する。
- 形状は内部では4分木表現すること。
課題3
多角形で構成される3次元物体に対するレイトレーシングプログラムを作成せよ。
- 多面体または曲面は4角形または3角形の集合で表現されているものを対象とする。
- 視線と多角形を含む面との交点をまず算出し、その点が多角形の内部にあるかどうかを判定する。内外判定は2次元平面に投影して行う方法が
効率がよい。
- 3角形を対象にしたのは視線と3角形を含む平面との交点が3角形内部にあるかの判定が容易になるためである。 交差判定は教科書p.141を参照のこと。
- 反射(映り込み)も処理できるものとする。
課題4
球および楕円体に対するレイトレーシングプログラムを作成せよ。
課題5 Bスプライン曲線の描画プログラムを作成せよ。
JavaやX-windowを使用方法を勉強する時間のない場合は、次の方法でもよい。すなわち、スクリーンを想定した配列を準備し、それに輝度情報を書き込み、準備したツールで可視化する。画像サイズは500x400程度とする。ただし、プログラムリストと結果のハードコピー(PostScript形式にし印字)を提出すること。この際、画像をセーブすることが必要になるが、保存の画像形式およびそのプログラムは資料を参考にして下さい。
注:プログラミングが困難な学生は相談に応じてレポート課題を提出する方法も考慮します。
参考文献(図書)
- [1] 配布資料; 中前、西田 「3次元コンピュータグラフィックス」昭晃堂 (p.63 -109 )
- [2] /~nis/CG/cgtxt/cg2/cg026.htm#cg26
- [3] 「 技術編CG標準テキストブック」、 CGARTS(画像情報教育振興協会)
- 参照URL
- 締切
: 8月19日(月曜)
結果は各自のホームページに置くか、印字して事務室に提出、あるいはメイルに添付して下さい。
連絡先:email: nis@is.s.u-tokyo.ac.jp
電話:内線4106 (西田研究室)
/~nis/
西田友是
東京大学理学部 情報科学科
email: nis@is.s.u-tokyo.ac.jp