Home > Article > Web Front-end > Creating a Dynamic Geometric Animation in ps
In this tutorial, you will learn how to create a dynamic and colorful geometric animation using p5.js. This animation symbolizes the idea that "the world is full of fabulous and incredible people doing wonderful things." The shapes will move randomly across the canvas, changing colors and creating a visually captivating effect.
Download p5.js:
Create a New Project:
Let’s start by setting up the basic structure of our p5.js sketch. This includes defining the setup() and draw() functions.
function setup() { createCanvas(windowWidth, windowHeight); noStroke(); // Disable stroke for the shapes } function draw() { background(30, 30, 60, 25); // Dark background with transparency }
Explanation:
createCanvas(windowWidth, windowHeight);: This sets the canvas size to match your browser window.
noStroke();: This removes the border from the shapes we will create.
background(30, 30, 60, 25);: This sets the background color to a dark blue with some transparency, creating a trailing effect for the shapes.
Now, let’s add the code to create random shapes with varying colors, positions, and sizes.
function draw() { background(30, 30, 60, 25); // Dark background with transparency for (let i = 0; i < 5; i++) { let x = random(width); let y = random(height); let size = random(20, 80); let colorR = random(255); let colorG = random(255); let colorB = random(255); let shapeType = random(['ellipse', 'rect', 'triangle']); fill(colorR, colorG, colorB, 150); // Set fill color with some transparency if (shapeType === 'ellipse') { ellipse(x, y, size, size); } else if (shapeType === 'rect') { rect(x, y, size, size); } else if (shapeType === 'triangle') { triangle(x, y, x + size, y, x + size / 2, y - size); } } }
Explanation:
Randomized Variables:
Shape Types:
To make sure the canvas resizes with the window, add the following function:
function windowResized() { resizeCanvas(windowWidth, windowHeight); }
The above is the detailed content of Creating a Dynamic Geometric Animation in ps. For more information, please follow other related articles on the PHP Chinese website!