📅  最后修改于: 2023-12-03 14:45:00.098000             🧑  作者: Mango
P5 是一种基于 JavaScript 的创意编码库,它可以帮助开发者创建艺术作品、交互式图形和动态图像等等。其中,旋转是在 P5 中常用的一种动画效果,可以用于创建旋转的图形和动画。
在 P5 中,可以使用 rotate()
函数来实现旋转效果。这个函数包含一个参数,表示旋转的角度,单位是弧度(radian)。在函数调用后,P5 中所有的图形都会被旋转。
下面是一个简单的使用 rotate()
函数的例子:
var angle = 0;
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
translate(200, 200); // 将坐标系移到画布中心
rotate(angle); // 旋转角度
rectMode(CENTER); // 使用中心点对齐模式
rect(0, 0, 100, 100); // 画矩形
angle += 0.05; // 每次增加旋转角度
}
这里我们定义了一个 angle
变量表示旋转角度,将画布中心进行平移,然后在 draw()
函数中不断改变 angle
变量,从而实现了不断旋转的效果。
需要注意的是,rotate()
函数会影响到之后的所有图形绘制。所以如果你想让某个图形不旋转的话,需要在绘制前使用 push()
和 pop()
函数来保存和恢复画布的状态:
// 绘制不旋转的矩形
push(); // 保存画布状态
rotate(-angle); // 取负数,取消旋转
rect(0, 0, 100, 100);
pop(); // 恢复画布状态
旋转效果在 P5 中可以用于实现很多有趣的效果,比如:
等等。
以下是其中一个例子,演示了如何创建一个旋转的 3D 立方体:
var angleX = 0;
var angleY = 0;
var boxSize = 100;
function setup() {
createCanvas(400, 400, WEBGL);
}
function draw() {
background(220);
rotateX(angleX);
rotateY(angleY);
box(boxSize);
angleX += 0.02;
angleY += 0.03;
}
这里我们使用 WEBGL
模式来创建画布,然后利用 rotateX()
和 rotateY()
函数实现了立方体的旋转效果。改变 angleX
和 angleY
变量的值,即可控制立方体的旋转速度和方向。
通过 rotate()
函数,我们可以在 P5 中实现简单和复杂的旋转效果。结合其他图形和动画效果,可以创建出非常有趣和炫酷的艺术作品和交互界面。有了基础的旋转知识,你可以进一步发掘 P5 的编程魅力。