参考 scale()

scale()

缩放坐标系。

默认情况下,形状以其原始比例绘制。一个宽度为 50 像素的矩形在 100 像素宽的画布上看起来占据了一半的宽度。 scale() 函数可以缩小或拉伸坐标系,使形状以不同的大小呈现。有两种方式可以使用参数来调用 scale(),以设置缩放因子。

第一种调用 scale() 的方式使用数字来设置缩放量。第一个参数 s 设置每个轴的缩放量。例如,调用 scale(2) 将 x 轴、y 轴和 z 轴拉伸 2 倍。接下来的两个参数 yz 是可选的。它们设置 y 轴和 z 轴的缩放量。例如,调用 scale(2, 0.5, 1) 将 x 轴拉伸 2 倍,y 轴缩小 0.5 倍,z 轴保持不变。

第二种调用 scale() 的方式使用一个 p5.Vector 对象来设置缩放因子。例如,调用 scale(myVector) 使用 myVector 的 x、y 和 z 分量来设置沿 x、y 和 z 轴的缩放量。这样做与调用 scale(myVector.x, myVector.y, myVector.z) 是一样的。

默认情况下,转换会累积。例如,连续两次调用 scale(1) 与调用一次 scale(2) 效果相同。可以使用 push()pop() 函数将转换隔离到不同的绘图组中。

注意:转换会在绘制循环的开始处重置。在 draw() 函数中调用 scale(2) 不会导致形状持续增长。

示例

语法

scale(s, [y], [z])
scale(scales)

参数

s
数字|p5.Vector|数字[]:

沿着正 x 轴缩放的量。

y
数字:

沿着正 y 轴缩放的量。默认为 s

z
数字: 沿着正 z 轴缩放的量。默认为 y

scales
p5.Vector|数字[]:

应使用其分量来进行缩放的向量。

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

相关参考