top of page

Kinetic Generative Art Tutorial

Writer: Pierre Paslier
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.


1,027 Comments


Deca Sales Daily
16 hours ago

Kinetic generative art is a great example of how simple rules can produce something much more complex once movement and variation are introduced. I like tutorials that show the process clearly enough that you can understand the logic behind the result rather than just copy the final effect.


That same approach is useful when studying practical qualifications. For someone working through NVQ Level 2 Slinger Signaller content, this practical guide can be a helpful way to revisit key responsibilities, communication points and site expectations without making the learning feel overly complicated.

Like

Yasmin Khan
a day ago

Very impressive work! The details are presented beautifully. Read More

Like

Rajeev Gupta
a day ago

Great post! Thank you for sharing such valuable and practical information. The insights are easy to understand and very useful for anyone interested in beverage innovation. A professional drink consultant can make a significant difference in developing high-quality, market-ready beverages. Keep sharing such useful content!

Like

ALL SAFETY NETS
2 days ago

Really liked the work by ALL SAFETY NETS. The Window Mosquito Net in Mumbai was fitted neatly and doesn’t make the window look bulky. It’s a small addition, but it has made keeping the windows open much easier.


Like

dr.Riddhi Doshi
2 days ago

I was not very sure about egg freezing and had a lot of questions before starting. Dr Riddhi Doshi explained everything in a simple way and gave me a clear idea of what to expect. I found the consultation comfortable and helpful. If you are searching for an Egg Freezing Specialist in Mumbai, she is someone you can consider consulting.


Like

©2023 by Generative Hut.

bottom of page