Kinetic Generative Art Tutorial
- Pierre Paslier
- Jun 3, 2023
- 2 min read
Tutorial Intro
Welcome to this tutorial where we're going to explore the mesmerizing world of generative art, inspired by the kinetic sculptures of artists like Reuben Margolin. We'll use p5.js, a powerful JavaScript library that makes coding visual and interactive elements on the web accessible to everyone.
Our goal is to create a digital artwork with a series of rotating pendulums, each varying in speed and size, to simulate the motion seen in kinetic sculptures. The final result is a beautiful, ever-changing pattern that reflects the dynamic essence of kinetic art.
This tutorial is beginner-friendly, so don't worry if you're new to p5.js or programming in general. We'll walk through each line of code step by step, explaining the concepts as we go along.
By the end of this tutorial, not only will you have created a piece of generative art, but you will also have gained a deeper understanding of loops, arrays, and object-oriented programming in p5.js. You'll be equipped with the knowledge to create your own unique generative artworks. So, let's dive in and start coding!
Generative Art Code
let pendulums = [];
let pendulumCount = 40;
function setup() {
createCanvas(windowWidth, windowHeight);
for(let i = 0; i < pendulumCount; i++){
pendulums[i] = new Pendulum(i);
}
}
function draw() {
blendMode(NORMAL);
background(255 );
translate(width / 2, height / 2);
for(let i = 0; i < pendulumCount; i++){
pendulums[i].display();
pendulums[i].update();
}
}
class Pendulum {
constructor(n){
this.angle = 0;
this.angleSpeed = 0.01 + n * 0.004;
this.radius = 30 + n * 6;
}
update() {
this.angle += this.angleSpeed;
}
display(){
let x = this.radius * cos(this.angle);
let y = this.radius * sin(this.angle);
stroke(0,100);
line(0, 0, x, y);
fill(0);
ellipse(x, y, 5, 5);
}
}
That's it! Hope you've enjoyed learning about this particular piece and make sure to check out the other free tutorials on generativehut.com.
A compelling overview of new science offering better solutions.
Read more: www.delveinsight.com
Turkish Airlines Office New York plays an essential role in connecting passengers to Istanbul Airport, the airline’s central hub. From there, travelers can access over 300 destinations across Europe, Asia, Africa, and the Middle East. For many passengers in New York, the office is the first step in planning smooth, multi-destination trips that showcase Turkish Airlines’ reputation for comfort and global connectivity.
If you're navigating Workers Compensation Board Sylvan Lake claims, our clinic provides specialized WCB-approved physiotherapy and rehabilitation services tailored for injured workers. We focus on restoring function, managing pain, and ensuring a safe return to work. Backed by experienced therapists and compassionate care, our clinic helps you recover efficiently. Book your WCB physiotherapy session today and take the first step toward effective recovery.
Travelers in Doha looking for personalized assistance can turn to the Flydubai Airlines Doha Office. The office supports passengers with flight bookings, reservation confirmations, and ticket modifications. Its approachable staff make sure travelers understand baggage rules, check-in processes, and any important travel updates.
Lottery news always grabs attention. Stories of winners and exciting jackpots make people dream. The live lottery feels like a casino moment when the dealer reveals the final card. Everyone waits for lottery today updates, hoping their ticket shines. With online lottery, millions can join from anywhere, anytime. Comments on forums often show mixed emotions: joy, envy, and endless hope. One player said, “Even if I don’t win, the thrill keeps me alive.” That’s the magic of the lottery—it fuels imagination. Whether it’s about yesterday’s jackpot or tomorrow’s draw, the buzz never really ends.