设置 3D 草图中当前摄像机的视锥体。
在锥形投影中,距离相机更远的形状比靠近相机的形状看起来更小。这种称为透视缩短的技术可以创建逼真的 3D 场景。
frustum()
通过改变其视锥体来改变相机的透视。视锥体是相机可见的空间体积。视锥体的形状是一个顶部被切掉的金字塔。相机放置在金字塔原来的顶部位置,并朝向金字塔的底部。它查看视锥体内的所有内容。
前四个参数 left
, right
, bottom
, 和 top
设置视锥体的左右个平面、底部平面和顶部平面的坐标。例如,调用 frustum(-100, 100, 200, -200)
创建一个宽度为 200 像素、高度为 400 像素的视锥体。默认情况下,这些坐标根据绘图的宽度和高度设置,如 ortho(-width / 20, width / 20, height / 20, -height / 20)
。
最后两个参数 near
和 far
设置视锥体近面和远面与相机的距离。例如,调用 ortho(-100, 100, 200, -200, 50, 1000)
创建一个宽度为 200 像素、高度为 400 像素的视锥体,距相机 50 像素开始,距相机 1,000 像素结束。默认情况下,近面设置为 0.1 * 800
,即相机与原点之间的默认距离的十分之一。far
设置为 10 * 800
,即相机与原点之间的默认距离的十倍。
注意:frustum()
只能在 WebGL 模式下使用。
示例
语法
frustum([left], [right], [bottom], [top], [near], [far])
参数
视锥体左侧平面的 x 坐标。默认为 -width / 20
。
视锥体右侧平面的 x 坐标。默认为 width / 20
。
视锥体底部平面的 y 坐标。默认为 height / 20
。
视锥体顶部平面的 y 坐标。默认为 -height / 20
。
视锥体近平面的 z 坐标。默认为 0.1 * 800
。
视锥体远平面的 z 坐标。默认为 10 * 800
。