情報科学演習V 3期 課題
プログラミング課題
インタラクティブ性のあるプログラムが理想であり、それを遠隔でも評価するにはJavaで作成すると効果的であるの
で、可能な人はできるだけJavaを試みて下さい(この場合画像サイズは300x300以下でもよい)。 OpenGLあるいはX-Windowを用い
てスクリーン上に表示する方法でもよい。この際、出力例がカラー画像の場合、それを評価して欲しい人は、自分のホ
ームページに画像を置いて見れるようにしても良い。
ただし、課題3と課題4に関してはどちらかを選択してよい。
課題 1 ハイトフィールドデータの等高線を描画するプログラムを作成せよ。
- メッシュ状のデータをハイトフイールドとして与えるが、データとしては2こぶがあるデータを関数で定義する(資料[2]のFig.12.2参照)。これらの2つ山はガウス分布で与える。
- 地形データの等高線の例として、フラクタルの考え方(中点変位法)で、初期値を3x3または4x4点のみであたえ他の点はフラクタルを使って作成する 。
- 等高線はハイトフィールドの最大・最小値のあいだでn等分する(nのデフォルトは10)
- 上のハイトフィールド分布を標高に応じた色で与える(擬似カラー表現;資料[2]のFig.12.32参照)。高い部分が赤で低い部分が青で与える。
課題 2 ボクセル表現を多角形化して表示するプログラムを作成せよ。
課題 3 ボクセルデータをスプラッティング法で表示するプログラムを作成せよ。
- 課題 2と同じ密度分布データを利用せよ。
- 任意の位置から見た密度分布をスプラッティング法で可視化せよ。
課題 4 レイキャスティング法(配布資料[2]12.3.2)で表示するプログラムを作成せよ。
- データは関数で与えられる3次元形状(球、トーラス、メタボールなど)を利用せよ。
- 任意の位置から見た形状を可視化せよ。
- シェーディングの方法は、簡単に塗りつぶすのでもいいが、法線を計算してPhongモデルを適用せよ。光源の位置も可変とし平行光線または点光源とする。
参考
- Java の場合;
- C言語の場合;
これらの課題において、画像をセーブすることが必要になるが、保存の画像形式およびそのプログラムは下記を参考にして下さい。
/~nis/junk/ppm.html
- 参考資料
- [1] CGARTS,"CG標準テキストブック
- [2] 配布資料;"12 Visualization", in Interactive Computer Graphics, E. Angle, Addison Wesley
- [3] 中前、西田 「3次元コンピュータグラフックス」昭晃堂
締切: 8月8日(木曜)17時まで
結果(ソースリストと表示結果)は、メイルにファイルを添付、あるいは各自のホームページに置いてメイル連絡するか、または印字して提出のこと。
連絡先: email: nis@is.s.u-tokyo.ac.jp
電話:内線2-4106 (西田研究室)
/~nis/