練習課題


2005, 8/12 西田
Javaでかかれた例題を参考に、JavaまたはC言語を用いて練習(簡単な修正で動作)を行い。その後課題に挑戦してください。

練習問題を行なうに当たっては、マウスの機能の有無、背景や線の色の変更、画面サイズの変更、見る方向の変更などを試みて、下記のように自分なりのプログラムに修正して下さい。

  1. Bresenhamの直線描画:
  2. ガスケットの描画;

 


プログラミング課題

  インタラクテイブ性のあるプログラムが理想であり、それを遠隔地でも評価するにはJavaで作成すると効果的であるの で、可能な人はできるだけJavaを試みて下さい(この場合画像サイズは300x300以下でもよい)。 OpenGLを用い てスクリーン上に表示する方法でもよい。この際、出力例がカラー画像の場合、それを評価して欲しい人は、自分のホ ームページに画像を置いて見れるようにしても良い。 課題3と4はいずれかを選択してもいい。


課題1. 2端点P1P2を結ぶ直線に対する下記のプログラムを作成せよ。

課題2. 直線のクリッピングのプログラムを作成せよ。

課題3. 凸多角形と線分の交差判定プログラムを作成せよ。

課題4 キーフレームアニメーションを作成せよ

レポート :プログラミングがどうしても困難な場合は下記のレポート提出のこと。



参考


締切: 8月22日(月曜)17時まで
各自のホームページに置いてメイル連絡するか、ファイルを添付してメイルする。

連絡先: email: nis@is.s.u-tokyo.ac.jp
/~nis/ 

本課題の公開URL: /~nis/lecture/ShuRep01.html


  例題解説
・ 例題1:ブレゼンハムの直線描画
   (マウスで2端点指定,増分法)
  プログラム例   Applet例,  (簡略版; プログラム例1   Applet例1)
   /~nis/javaexampl/javtool/Bresen.html
・ 例題2:シルビンスキーのギャスケット
   (自己相似、再帰法)
 プログラム例,  Applet例
・ 例題3:3Dデータのワイヤーフレームモデルの表示
   (データ構造、透視変換)
  プログラム例   Applet例
・ 例題4:一価関数の隠線表示
 プログラム例,  Applet例
   /~nis/javaexampl/curve/hidfunc.htm
・例題実習
    (参考; JavaGraphics基本例; プログラム例1,  Applet例 , プログラム例2,   Applet例 )