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,011 Comments


Enh Consulting
Enh Consulting
3 hours ago

Really enjoyed how this tutorial makes kinetic generative art approachable by breaking down the use of rotating pendulums, loops, arrays, and object-oriented programming in p5.js. It’s a great example of how simple rules and small variations can produce dynamic visual experiences. Exploring creative coding like this also highlights how technology can combine structured logic with experimentation, which is an interesting perspective when considering AI consulting services in dubai and the wider role of emerging technologies in creative and business applications.👍

Like

Rose Kk
Rose Kk
5 hours ago

Hi, I’m an IELTS aspirant passionate about improving my English communication skills and achieving a high band score. I completed IELTS Coaching in Tirupur, where I developed practical skills in listening, reading, writing, and speaking. I enjoy strengthening my language proficiency, learning effective exam strategies, and building the confidence needed to perform well in the IELTS exam.


Like

Jack Smith
Jack Smith
6 hours ago

Looks like you’ve got a great collection! The designs are sleek and stylish. The Spirit Airlines Orlando Office provides customer support and travel assistance for passengers traveling with Spirit Airlines from Orlando and surrounding areas. The office can assist travelers with flight reservations, ticket bookings, itinerary changes, cancellations, and fare-related inquiries. Passengers can also seek information about baggage allowances, check-in procedures, seat selection, flight schedules, and other airline travel policies. Travelers requiring special assistance, including wheelchair services, medical accommodations, or other special travel requests, can arrange the necessary services through the airline before departure.

Like

Willam Smith
Willam Smith
7 hours ago

Really enjoyed how this tutorial breaks down kinetic generative art into approachable steps. The use of rotating pendulums is a great example of how small variations in movement can create something visually memorable. It also made me think about how creativity and personalization add meaning in completely different areas, even when choosing corporate diwali gifts for a team. Whether it’s digital art or thoughtful gifting, the details and personal touches often make the final experience stand out.

Like

ragavi
ragavi
2 days ago

Hi, I recently learned about Robotic Process Automation (RPA) and found it to be a valuable technology for automating repetitive business tasks. It helps improve productivity, reduce errors, and save time across various processes. The concepts were easy to understand, and I gained insight into features such as workflow automation and system integration. Exploring RPA Training in Chennai helped me understand how RPA is used in real-world projects. FITA Academy provided useful learning resources and practical knowledge that made the topic more approachable.


Like

©2023 by Generative Hut.

bottom of page