Zbuffer法による隠面消去表示


  • 複数の多面体あるいは多角形近似の曲面を Zbuffer法で隠面消去し、表示します。
  • 表示モードは陰影表示(Shading)と線画(LineDrawing)があり下部で選択し、reDrawボタンを押して下さい。
  • 見る方向は、ウィンドウ内でマウスをドラッグして変更できます(視点移動は線画モードで行われる)
  • また、視点位置は、 上部で視点の方向θとφ、および距離Rを入力し reDrawボタンを押すとことによっても変更できます。
  • 下部で表示させたい多面体/曲面データ(teapot等)を選択してreadボタンを押すと物体が表示されます(必要に応じて表示倍率を入力し、reDrawボタンを押す)。
  • 光の方向は固定してあり、各面の輝度はランバートの余弦則で計算されています。
    s
by T.Nishita & Fujie

補足説明:

・曲面の場合、Bezier曲面を入力し、それを多角形化して表示しています(ステータスバーに曲面数及び多角形数カが表示される)。
・Zbuffer法は多角形同志が゛干渉してる場合でも処理可能です。2つの球が干渉しているデータや teapotはその例です。
・鏡面反射成分の計算は省略しています。
・投影法は、透視投影を利用しています。従ってRの値を小さくすると形が崩れるので注意してください。


Javaの目次に戻る