カメラにパースペクティブ投影を設定します。
パースペクティブ投影では、カメラから遠い形状は近い形状よりも小さく見えます。 この技術は遠近法と呼ばれ、リアルな3Dシーンを作成します。これはデフォルトで新しい p5.Camera
オブジェクトに適用されます。
myCamera.perspective()
は、カメラの視錐台を変更することで カメラのパースペクティブを変更します。視錐台はカメラから見える空間の体積です。 視錐台の形状は、上部が切り取られたピラミッドです。カメラは ピラミッドの上部があるべき場所に配置され、ピラミッドの底面に向けて 向けられます。視錐台内のすべてが見えます。
最初のパラメータfovy
は、カメラの垂直視野角です。 これは、カメラがどれだけ高く、または狭く見えるかを表す角度です。 例えば、myCamera.perspective(0.5)
を呼び出すと、カメラの垂直 視野角を0.5ラジアンに設定します。デフォルトでは、fovy
はスケッチの 高さとカメラのデフォルトのz座標(800)に基づいて計算されます。 デフォルトのfovy
の計算式は2 * atan(height / 2 / 800)
です。
2番目のパラメータaspect
は、カメラのアスペクト比です。 これは上面の幅と高さの比率を表す数値です。 例えば、myCamera.perspective(0.5, 1.5)
を呼び出すと、カメラの 視野角を0.5ラジアン、アスペクト比を1.5に設定し、正方形のキャンバスで 形状がより細く見えるようになります。デフォルトでは、aspect
は width / height
に設定されます。
3番目のパラメータnear
は、カメラからニアクリッピング面までの 距離です。例えば、myCamera.perspective(0.5, 1.5, 100)
を呼び出すと、 カメラの視野角を0.5ラジアン、アスペクト比を1.5に設定し、 ニアクリッピング面をカメラから100ピクセルの位置に配置します。カメラから 100ピクセル未満の距離に描画された形状は表示されません。デフォルトでは、near
は 0.1 * 800
に設定されており、これはカメラと原点の間のデフォルト距離の 1/10です。
4番目のパラメータfar
は、カメラからファークリッピング面までの 距離です。例えば、myCamera.perspective(0.5, 1.5, 100, 10000)
を呼び出すと、カメラの視野角を0.5ラジアン、アスペクト比を1.5に設定し、 ニアクリッピング面をカメラから100ピクセルの位置に、ファークリッピング面を カメラから10,000ピクセルの位置に配置します。カメラから10,000ピクセル以上 離れた場所に描画された形状は表示されません。デフォルトでは、far
は10 * 800
に 設定されており、これはカメラと原点の間のデフォルト距離の10倍です。
実例
シンタックス
perspective([fovy], [aspect], [near], [far])
パラメーター
カメラの視錐台の垂直視野角。デフォルトは 2 * atan(height / 2 / 800)
です。
カメラの視錐台のアスペクト比。デフォルトは width / height
です。
カメラからニアクリッピング面までの距離。 デフォルトは0.1 * 800
です。
カメラからファークリッピング面までの距離。 デフォルトは10 * 800
です。