- Processing
- p5.js
- Processing.py
- Processing for Android
- Processing for Pi

- Processing Foundation

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

Name | ### perspective()
Examples |
    // Re-creates the default perspective
    size(100, 100, 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(50, 50, 0);
    rotateX(-PI/6);
    rotateY(PI/3);
    box(45);
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));
Syntax |
    perspective()
    perspective(fovy, aspect, zNear, zFar)
Parameters |
fovy | float: field-of-view angle (in radians) for vertical direction
aspect | float: ratio of width to height
zNear | float: z-position of nearest clipping plane
zFar | float: z-position of farthest clipping plane
Returns | void

Updated on January 1, 2021 03:38:08am EST
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.