課題3 2次元空間でテクスチャマッピングを行うプログラムを作成せよ。
プログラム作成環境 Java ver. 1.4.2_07 動作確認済みのブラウザ Java1.4.1以降をインストールしたIE,FireFox,Opera
2次元空間でのテクスチャマッピング処理を施すアプレット
オリジナル画像
- 使い方 - アプレット内で反時計回りに4つ点をクリックすると その4つの点を頂点とした四角形内に 右のオリジナルJPEG画像がテクスチャマッピングします。 さらにクリックするとアプレットがクリアされ、再度4点を指定できます。 3次元ポリゴンへのテクスチャマッピングを想定して、 各頂点が180度を超えない四角形を主な対象としてプログラムを書きました。 また、描画の際は画像中の最も近い点の 上下左右にあるピクセルの加重平均して線形フィルタリングを行っています。 なぜかこのアプレットは、ブラウザ上ではうまく動作せずおかしな結果がでるが、 appletviewerの方では正常に動作する、というケースが生じることがあります。 実際にこのプログラムを実行して有効性を確かめる場合は、 appletviewerで行うことをお勧めします。 ご了承ください。
Javaコード
(アプレットがうまく動作しない場合は、このコードをコンパイルしてください。)
サンプル画像(JPEG形式)
画像ファイルはJavaコードと同じフォルダにおいてください。
結果
絵をクリックすると、拡大して表示します。
小さくなりました。
横長になりました。
反時計回りに90度回転しました。
時計回りに90度回転しました。
左右反転しました。時計回りに頂点を指定するとこうなります。
左右反転した上で回転しました。
けっこうゆがんでいます。
左右反転、回転、歪みが加わっています。
Topページへ