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.



Great article! Hot Dip Galvanizing in Malaysia is an excellent solution for protecting steel structures from corrosion and extending their service life. The durable zinc coating provides long-lasting performance, making it ideal for construction, infrastructure, and industrial applications. Thanks for sharing this valuable information.
I’m a passionate full stack developer who loves building clean, responsive, and user-friendly web applications. I enjoy working across both front-end and back-end, turning ideas into fully functional products. After completing a Full Stack Developer Course in Chennai, I’ve strengthened my skills in modern frameworks and continue learning new technologies to create efficient, scalable digital experiences.
I never thought I could quit tobacco after so many years, but Shree Ramnath Foundation made it possible. Their Tobacco addiction treatment in Mumbai gave me the right guidance and constant support. The staff was caring, and I always felt comfortable. I'm now tobacco-free and truly grateful for their help.
This is an insightful and well-structured post. The concepts are explained in a simple and clear manner, making it easy for readers to understand. For anyone aiming to build a career in Data Analytics, having a strong foundation is essential. Data Analytics Courses in Coimbatore offer practical exposure and help learners tackle real-world data challenges.Thanks for sharing such valuable information—looking forward to more updates!
Fantastic tutorial! I really enjoyed how you broke down the concepts behind kinetic generative art into simple, easy-to-follow steps. The explanations, combined with the p5.js examples, make it approachable even for beginners while still offering valuable insights for experienced creators. Tutorials like this inspire readers to experiment, learn, and create unique digital artwork. It's always refreshing to see content that encourages creativity through coding. On a different note, creativity also plays a huge role in celebrating special occasions. This Raksha Bandhan, personalized rakhi for brothers can make the festival even more memorable by adding a personal touch. Pairing them with thoughtfully curated rakhi gift hampers for brother is a wonderful way to express love and appreciation while creating lasting memories with family.:::👍