Name
perspective()
Description
Sets a perspective projection applying foreshortening, making distant objects appear smaller than closer ones. The parameters define a viewing volume with the shape of truncated pyramid. Objects near to the front of the volume appear their actual size, while farther objects appear smaller. This projection simulates the perspective of the world more accurately than orthographic projection. The version of perspective without parameters sets the default perspective and the version with four parameters allows the programmer to set the area precisely. The default values are: perspective(PI/3.0, width/height, cameraZ/10.0, cameraZ*10.0) where cameraZ is ((height/2.0) / tan(PI*60.0/360.0))
Examples
// Re-creates the default perspective size(400, 400, P3D); noFill(); float fov = PI/3.0; float cameraZ = (height/2.0) / tan(fov/2.0); perspective(fov, float(width)/float(height), cameraZ/10.0, cameraZ*10.0); translate(200, 200, 0); rotateX(-PI/6); rotateY(PI/3); box(180);
Syntax
perspective()
perspective(fovy, aspect, zNear, zFar)
Parameters
fovy
(float)
field-of-view angle (in radians) for vertical directionaspect
(float)
ratio of width to heightzNear
(float)
z-position of nearest clipping planezFar
(float)
z-position of the farthest clipping plane
Return
void
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.