旋转坐标系。
默认情况下,正 x 轴指向右侧,正 y 轴指向下方。rotate()
函数通过围绕原点旋转坐标系来改变这种方向。在调用 rotate()
之后绘制的所有内容都将呈现为旋转状态。
第一个参数 angle
是旋转的角度。例如,调用 rotate(1)
将坐标系顺时针旋转 1 弧度,约为 57 度。rotate()
根据当前的 angleMode() 解释角度值。
第二个参数 axis
是可选的。它用于定位 WebGL 模式中的 3D 旋转。如果传递了一个 p5.Vector,如 rotate(QUARTER_PI, myVector)
,那么坐标系将围绕 myVector
旋转 QUARTER_PI
弧度。如果传递了一个向量分量数组,如 rotate(QUARTER_PI, [1, 0, 0])
,那么坐标系将围绕具有分量 [1, 0, 0]
的向量旋转 QUARTER_PI
弧度。
默认情况下,转换会累积。例如,连续调用两次 rotate(1)
与调用一次 rotate(2)
效果相同。可以使用 push() 和 pop() 函数将转换隔离到不同的绘图组中。
注意:转换会在绘制循环的开始处重置。在 draw() 函数中调用 rotate(1)
不会导致形状旋转。
示例
语法
rotate(angle, [axis])
参数
旋转的角度,根据当前的 angleMode,可以指定为弧度或度数。
(在 3D 中)旋转的轴。
相关参考
applyMatrix
将转换矩阵应用于坐标系。 translate()、rotate() 和 scale() 之类的转换在幕后使用矩阵-向量乘法。名为矩阵的数字表对每个转换进行编码。然后矩阵中的值会与画布上的每个点相乘,这些点由向量表示。 applyMatrix() 允许一次应用多个转换。查看 Wikipedia 和 MDN 以获取有关转换的更多详细信息。 applyMatrix() 可以在二维和三维两种场景中调用 。 在二维模式下,参数 a、b、c、d、e 和 f 对应于以下转换矩阵中的元素: 数字可以个别传递,如 applyMatrix(2, 0, 0, 0, 2, 0)。也可以作为数组传递,如 applyMatrix([2, 0, 0, 0, 2, 0])。 在三维模式下,参数 a、b、c、d、e、f、g、h、i、j、k、l、m、n、o 和 p 对应于以下转换矩阵中的元素: 数字可以个别传递,如 applyMatrix(2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1)。也可以作为数组传递,如 applyMatrix([2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1])。 默认情况下,转换会累积。可以使用push() 和 pop() 函数将转换隔离到不同的绘图组中。 注意:转换会在绘制循环的开始处重置。在 draw() 函数中调用 applyMatrix() 不会导致形状连续变换。 .
resetMatrix
清除应用于坐标系的所有转换。 .
rotate
旋转坐标系。 默认情况下,正 x 轴指向右侧,正 y 轴指向下方。rotate() 函数通过围绕原点旋转坐标系来改变这种方向。在调用 rotate() 之后绘制的所有内容都将呈现为旋转状态。 第一个参数 angle 是旋转的角度。例如,调用 rotate(1) 将坐标系顺时针旋转 1 弧度,约为 57 度。rotate() 根据当前的 angleMode() 解释角度值。 第二个参数 axis 是可选的。它用于定位 WebGL 模式中的 3D 旋转。如果传递了一个 p5.Vector,如 rotate(QUARTER_PI, myVector),那么坐标系将围绕 myVector 旋转 QUARTER_PI 弧度。如果传递了一个向量分量数组,如 rotate(QUARTER_PI, [1, 0, 0]),那么坐标系将围绕具有分量 [1, 0, 0] 的向量旋转 QUARTER_PI 弧度。 默认情况下,转换会累积。例如,连续调用两次 rotate(1) 与调用一次 rotate(2) 效果相同。可以使用 push() 和 pop() 函数将转换隔离到不同的绘图组中。 注意:转换会在绘制循环的开始处重置。在 draw() 函数中调用 rotate(1) 不会导致形状旋转。 .
rotateX
在 WebGL 模式下,围绕 x 轴旋转坐标系。 参数 angle 是旋转的角度。例如,调用 rotateX(1) 会使坐标系围绕 x 轴旋转 1 弧度。rotateX() 根据当前的 angleMode() 解释角度值。 默认情况下,转换会累积。例如,连续调用两次 rotateX(1) 与调用一次 rotateX(2) 效果相同。可以使用 push() 和 pop() 函数将转换隔离到不同的绘图组中。 注意:转换会在绘制循环的开始处重置。在 draw() 函数中调用 rotateX(1) 不会导致形状旋转。 .