p5.js中的perspective()函数用于为3D草图中的相机定义透视投影。
靠近照相机的对象以实际大小显示,而距离照相机较远的对象则小于实际大小。这被称为透视。该函数的参数定义了具有截头棱锥形状的查看量。可以使用给定的参数设置视场,宽高比,近和远剪切平面。
用法:
perspective([fovy], [aspect], [near], [far])
参数:该函数接受上述和以下所述的四个参数:
- fovy:这是一个数字,它定义了从底部到顶部看到的摄像机视锥的垂直视场。这是一个可选参数。
- aspect:这是一个定义相机平截头体纵横比的数字。这是一个可选参数。
- near:这个数字定义了平截头体在平面附近的长度。这是一个可选参数。
- far:这是定义平截头远平面长度的数字。这是一个可选参数。
以下示例说明了p5.js中的perspective()函数:
例:
Javascript
function setup() {
createCanvas(600, 400, WEBGL);
}
function draw() {
background(175);
// Map the fov to the mouse x-axis
let fov = map(mouseX, 0, width, 0, PI);
let cZ = (height/2.0) / tan((PI/3)/2.0);
// Set the perspective to the fov
perspective(fov, float(width)/float(height),
cZ/10.0, cZ*10.0);
ambientLight(255);
rotateZ(frameCount * 0.02);
rotateX(frameCount * 0.02);
noStroke();
normalMaterial();
box(100, 100, 100);
}
输出:
相关用法
- CSS perspective属性用法及代码示例
- CSS perspective-origin属性用法及代码示例
- HTML Style perspective用法及代码示例
- CSS perspective()用法及代码示例
- Lodash _.method()用法及代码示例
- Node.js Http2ServerRequest.method用法及代码示例
- Node.js http.IncomingMessage.method用法及代码示例
- Javascript dataView.getInt16()用法及代码示例
- Javascript RegExp toString()用法及代码示例
- Node.js URLSearchParams.has()用法及代码示例
- JavaScript Math cosh()用法及代码示例
- HTML DOM isEqualNode()用法及代码示例
- JavaScript Date toLocaleTimeString()用法及代码示例
- Node.js crypto.createHash()用法及代码示例
- Node.js writeStream.clearLine()用法及代码示例
- Node.js fs.link()用法及代码示例
- JavaScript Math random()用法及代码示例
- JavaScript Math round()用法及代码示例
- Javascript toString()用法及代码示例
- Javascript Number.isInteger( )用法及代码示例
- Javascript Number.isFinite()用法及代码示例
注:本文由纯净天空筛选整理自_sh_pallavi大神的英文原创作品 p5.js perspective() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。