ビジュアル情報論課題

 

 プログラミングを習っていない学生もあるので、次のような選択課題とする。プログラミング可能な学生は、下記のプログラミング課題3問を提出する(例えば課題1、課題2の(2)、課題3の(2)の組み合わせ)。また、プログラミングが困難な学生はレポート課題の全問を提出すること。


T プログラミング課題

 X-Windowを用いてスクリーン上に表示するのが理想であるが、X-windowを使用方法は知らなくてもできる方法とする。すなわち、スクリーンを想定した配列を準備し、それに輝度情報を書き込み、準備したツールで可視化する。画像サイズは500400程度とする。ただし、プログラムリストと結果のハードコピー(PostScript形式にし印字)を提出すること。 なお、インタラクテイブ性を遠隔地でも評価するにはJavaで作成すると効果的であるので、可能な人は挑戦して見てください(この場合画像サイズは300300以下でもよい)。あるいは、出力例がカラー画像の場合、それを評価して欲しい人は、自分のホームページにおいて見れるようようにしても良い。

課題1. 2次元多角形の走査変換(scan conversion)のプログラムを作成せよ。

 

課題2. データ作成の例として、次のいずれかを選択し、線画(ワイヤーフレーム表示)で表示せよ。

(1) 3次Bezier曲面を作成し、それを4辺形に分割(1つの曲面をmxmに分割)せよ。

(2) フラクタルを用いて山を作成せよ。

 

課題3. 次のいずれかの方法で、3次元物体を隠面消去して表示せよ。

(1) Zバッファ法を用いた隠面消去プログラムを作成せよ。

(2)多角形で構成される3次元物体に対するレイトレーシングプログラムを作成せよ

 

(3) 球および楕円体に対するレイトレーシングプログラムを作成せよ。

 

注:


U レポート課題

 1. 隠面消去の方法を分類し、その特徴を述べよ。

 2. 3次元物体を3角形に集合で表現する場合のレイトレーシング法において、視線と3角形の交差判定の方法を算出せよ。また、交点での法線ベクトル、反射方向の求め方も算出せよ。なお、視点位置をPv、視線の単位ベクトルをV、3角形の構成頂点をPi(,i=1,2,3)として求めよ。 視線と3角形を含む平面との交点が3角形内部にあるかどうかの判定は、2次元に投影後でも3次元空間で行ってもよい。

 3. Gouraud(グロー)のスムースシェーディングは、2頂点での輝度を線形補間する方法を組み合わせて、多角形内の任意の点での輝度を求める。この方法の場合、多角形を回転(例えば45度)すると、多角形内の同一点での輝度が変化してしまうことを数式を用いて説明せよ。

4. 光の相互反射を計算することによって、リアルな画像を生成するRadiosity法が注目されている。この方法は100を超える論文が発表されるほどであるが、可能な範囲でいいが最近提案された方法を調査分類せよ(学会誌やWebで調査)。


 締切: 817日(月曜)  学科事務室に提出(担当 安住)
連絡先:
email: nis@eml.hiroshima-u.ac.jp
電話:0849-30-2001(西田研究室直通)
http://www.eml.hiroshima-u.ac.jp/~nis 

参考:
Webでの課題公開
http://www.eml.hiroshima-u.ac.jp/~nis/junk/TouRep98.html
表示プログラム例:
http://www.eml.hiroshima-u.ac.jp/~nis/javaexampl/zbuf/ZbufSurf.html
http://www.eml.hiroshima-u.ac.jp/~nis/javaexampl/tpot.html
下記で紹介しているCDROM中のデータを利用してもよい。
http://www.eml.hiroshima-u.ac.jp/~nis/cgtext.htm
複雑理工学専攻
http://www.k.u-tokyo.ac.jp/complex/labs.htm


付録1:Bezier曲面の例

原点中心の半径1の球である。 球のデータは上記のWebから入手可能(こちら)です。