プログラム実習
(総合科目)2000 6/27
情報科学科 西田 友是
練習問題を行なうに当たっては、マウスの機能の有無、背景や線の色の変更、画面サイズの変更、見る方向の変更などを試みて、下記のように自分なりのプログラムに修正して下さい。
・HTMLファイルで描画する2端点の座標を指定できるように変更してみる。
・乱数を使用して2端点の座標を生成し、複数の線分をスクリーン中に描画する。なお、生成した端点の座標がスクリーン内になるように制限すること。
プログラミング課題
下記課題のプログラミングを行ないなさい。ただし、課題2と3はどちらかを選択してよい。なお、課題2,3以外で3次元CGの適当なプログラムを作成するのでもよい。
1.ガスケットの描画において、例では線画で描かれるが、3角形内を色を付けて塗りつぶすように変更せよ。
ただし、分割後の中央の3角形ではなく、3隅の3角形を塗りつぶす(例えば赤色で)ものとする。ヒント;
・オリジナルでは、中央の3角形を再帰的に描画する形式なので、このまま
drawPolygonをfillPolygonにするのみでは実現できない。2.一価関数の隠線消去のプログラムにおいて、次の条件を満たすように改良せよ。
3)
ヒント:
・視点位置により、描かせる曲線の順番を変更できるようにする(視点に近い順に曲線を描画すれ
ばよい)。
・正規分布(ガウス分布)を表現する関数を中心位置をずらせて重ねればよい。
・標高がある値より大きい場合は線の色を変更すればよい。山岳の上部に積雪がある場合を想定すればよい。
3.多面体のワイヤーフレーム表示において、次の条件を満たすように改良せよ。
3)多面体を描画する際に辺の2度描きを避けるように改良せよ。
ヒント;
提出方法;下記にソースプログラムとHTMLファイルを添付してメイルする。
nis@is.s.u-tokyo.ac.jp
アプレットの実行状況を評価し易くするため、各自のディレクトリに実行可能なファイルを置いてくれることを歓迎する。また、プログラムの修正点等を説明する文も付けること。この際、他人が読めるようにファイルの属性を変更しておき、そのファイル名も連絡すること。
締め切り: 平成12年 8月2日19時
前回配布資料の訂正
1)
下記ディレクトリからJavaソースおよびHTMLファイルをコピーして練習して下さい。ecc ~knis1482/sougou/source/
Java ソース |
HTML |
|
Bresenham の直線描画 |
BresenS.java 、Bresen.java |
BresenS.html, Bresen.html |
ガスケットの表示 |
gasket.java |
gasket.html |
一価関数曲面の表示 |
hidfunc.java |
hidfunc.html |
多面体のワイヤーフレーム表示 |
wire.java |
wire.html |
また、練習課題に関する最新情報は
~knis1482/index.html をブラウザーで起動して参考にして下さい。