📄 perspective.pde
字号:
/** * Perspective. * * Move the mouse left and right to change the field of view (fov). * Click to modify the aspect ratio. The perspective() function * 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. */void setup() { size(640, 360, P3D); noStroke();}void draw() { lights(); background(204); float cameraY = height/2.0; float fov = mouseX/float(width) * PI/2; float cameraZ = cameraY / tan(fov / 2.0); float aspect = float(width)/float(height); if (mousePressed) { aspect = aspect / 2.0; } perspective(fov, aspect, cameraZ/10.0, cameraZ*10.0); translate(width/2+30, height/2, 0); rotateX(-PI/6); rotateY(PI/3 + mouseY/float(height) * PI); box(45); translate(0, 0, -50); box(30);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -