情報科学演習V 1期 課題
プログラミング課題
インタラクテイブ性のあるプログラムが理想であり、それを遠隔地でも評価するにはJavaで作成すると効果的であるの
で、可能な人はできるだけJavaを試みて下さい(この場合画像サイズは300x300以下でもよい)。 X-WindowあるいはOpenGLを用い
てスクリーン上に表示する方法でもよい。この際、出力例がカラー画像の場合、それを評価して欲しい人は、自分のホ
ームページに画像を置いて見れるようにしても良い。
なお、課題2,3は選択してよい。
課題1 3次Hermit曲線を表示するプログラムを作成せよ。
- 2端点とそれらの点での傾きを入力する。
- 曲線はパラメータを微小幅増分してプロットする(曲線の分割数を入力)。
課題 2 Bezier曲線を組み合わせてアウトラインフォントを表示するプログラムを作成せよ。
- 最初にBezier曲線を1本描画する関数を作成し、それを組み合わせてアウトラインを描画する。
- スムーズな曲線が得られるように、制御点の並び方に注意すること。
- 小文字の ”a”や”i”など、1文字以上の簡単な例を作成すること。
課題 3 Bezier曲面を表示するプログラムを作成せよ。
- 最初にBezier曲線を描画する関数を作成し、それを組み合わせて曲面を描画する。
- 3次元曲面であるが、正投影した2次元曲面を表示すればよい(正面図や平面図)。
- 等パラメータ曲線を格子状に描画する(分割数を入力)
- ティーポットのデータは下記からダウンロードして下さい。
/~nis/junk/lecture/tpot.dat
データは32曲面パッチで構成され、各パッチは4x4個の制御点の3次元データで与えられている。
参考
- Java の場合;
- C言語の場合;
これらの課題において、画像をセーブすることが必要になるが、保存の画像形式およびそのプログラムは下記を参考にして下さい。
/~nis/junk/ppm.html
- 参考資料
- [1] "Parametric Cubic Curves" (Foly, "Introduction to Computer Graphics",Addison Wesley, p.229-357 )
- [2] 中前、西田 「3次元コンピュータグラフックス」昭晃堂
締切: 6月8日(木曜)17時まで
結果は印字(ソースリストと表示結果)して提出か、メイルにファイルを添付、あるいは各自のホームページに置いてメイル連絡すること。
連絡先: email: nis@is.s.u-tokyo.ac.jp
電話:内線2-4106 (西田研究室)
/~nis/