Processing

PythonでProcessing Camera frustum()

パラメータで定義されたパースペクティブマトリックスを設定する。

frustum(フルスタム)とは、ピラミッドの頂点を切り落としたような幾何学的形状のこと。視聴者の目がピラミッドの頂点にあるとすると、フラスタムの6つの平面は、3Dビューをレンダリングする際のクリッピング平面として機能する。したがって、クリッピング平面の内側にある形状はレンダリングされて表示され、平面の外側にあるものは表示されない。

フラスタムを設定することで、シーンをレンダリングする際のパースペクティブを変更することができる。これは、多くの場合、 perspective() を使用することでより簡単に実現できる。

near の値は 0 より大きくなければならない(frustum の “ピラミッド” の点が視聴者の “後ろ” に収まらないため)。同様に、far値はnear値よりも大きくなければならない(フラスタムのfarの面はnearの面よりも視聴者から”遠く”になければならないため)。

glFrustumと同様に動作するが、現在のパースペクティブマトリックスを乗算するのではなく、それを消去する。

size(300, 300, P3D)
noFill()

background(204)
frustum(-40, 0, 0, 40, 40, 800)
rotateY(PI/6)
box(180)