Referencia perspective()

perspective()

Establece una proyección perspectiva para la cámara actual en un sketch (boceto) 3D.

En una proyección perspectiva, las formas que están más lejos de la cámara aparecen más pequeñas que las que están cerca de la cámara. Esta técnica, llamada perspectiva, crea escenas 3D realistas. Se aplica por defecto en modo WebGL.

perspective() cambia la perspectiva de la cámara al cambiar su campo de visión. El campo de visión de la cámara es un volumen de espacio que está visible desde la cámara. Su forma es una pirámide con su parte superior cortada. La cámara está donde debería estar la parte superior de la pirámide y mira hacia todo lo que hay entre la parte superior (plano cercano) y la parte inferior (plano lejano) del volumen.

El primer parámetro, fovy, es el campo de visión vertical de la cámara. Es un ángulo que describe la altura o ancho de la visión que la cámara tiene. Por ejemplo, llamar a perspective(0.5) establece el campo de visión vertical de la cámara a 0.5 radianes. Por defecto, fovy se calcula basado en la altura del boceto y la distancia predeterminada de la cámara al origen, que es 800. La fórmula para el fovy predeterminado es 2 * atan(altura / 2 / 800).

El segundo parámetro, aspect, es la relación de aspecto de la cámara. Es un número que describe la relación entre el ancho del plano superior y su altura. Por ejemplo, llamar a perspective(0.5, 1.5) establece el campo de visión de la cámara a 0.5 radianes y su relación de aspecto a 1.5, lo que haría que las formas aparezcan más estrechas en un lienzo cuadrado. Por defecto, aspecto está establecido a ancho / altura.

El tercer parámetro, near, es la distancia desde la cámara al plano cercano. Por ejemplo, llamar a perspective(0.5, 1.5, 100) establece el campo de visión de la cámara a 0.5 radianes, su relación de aspecto a 1.5, y coloca el plano cercano a 100 pixeles de la cámara. Cualquier forma dibujada a menos de 100 pixeles de la cámara no será visible. Por defecto, near está establecido a 0.1 * 800, lo que es un 1/10 de la distancia predeterminada entre la cámara y el origen.

El cuarto parámetro, far, es la distancia desde la cámara al plano lejano. Por ejemplo, llamar a perspective(0.5, 1.5, 100, 10000) establece el campo de visión de la cámara a 0.5 radianes, su relación de aspecto a 1.5, coloca el plano cercano a 100 pixeles de la cámara y el plano lejano a 10000 pixeles de la cámara. Cualquier forma dibujada más de 10000 pixeles de la cámara no será visible. Por defecto, far está establecido a 10 * 800, lo que es 10 veces la distancia predeterminada entre la cámara y el origen.

Nota: perspective() solo puede ser usado en el modo WebGL.

Ejemplos

Sintaxis

perspective([fovy], [aspect], [near], [far])

Parámetros

fovy
Number:

Campo de visión vertical del cono de visión de la cámara. Toma como valor por defecto 2 * atan(height / 2 / 800).

aspect
Number:

Relación de aspecto del cono de visión de la cámara. Toma como valor por defecto width / height.

near
Number:

Distancia desde la cámara al plano de recorte cercano. Toma como valor por defecto 0.1 * 800.

far
Number:

Distancia desde la cámara al plano de recorte lejano. Toma como valor por defecto 10 * 800.

Notice any errors or typos? Please let us know. Please feel free to edit src/webgl/p5.Camera.js and open a pull request!

Referencias Relacionadas