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.


759 Comments


Aditi Gupta
Aditi Gupta
20 hours ago

Personally I have seen that design launch their product in 3 different time zones. So what does that mean? They do it without making every other Zoom call. Does it work evenly? An High-Performance Remote Team works accordingly and follows the sun model approach while making communication on Slack and  Notion. Rather than wasting time on meeting, each of the activities will be tracked accordingly and therefore reducing the need for video chat. While one team is sleeping in a country, the other team works.

Like

Nirmala Devi
Nirmala Devi
21 hours ago

Kinetic generative art tutorials are a great way to explore how motion, algorithms, and creativity come together. Learning how code can produce evolving visual patterns is both technically engaging and artistically inspiring. It shows how programming isn’t just functional but also expressive. For those interested in strengthening their coding foundation behind such creative projects, structured learning options like Java Training in Chennai can also help build strong programming fundamentals.


Like

Aisha Khan
Aisha Khan
a day ago

Great insights in the project workflow section. Smart use of digital tools like fabrication management software in dubai can really improve construction efficiency and tracking.

Like

YogKulam
YogKulam
4 days ago

A Yoga Therapy Online Course offers a thoughtful and structured way to understand how yogic principles can be applied to support physical, mental, and emotional well-being in a modern lifestyle. Designed for yoga practitioners, wellness professionals, and beginners alike, such a course typically blends traditional yogic wisdom with contemporary therapeutic approaches, helping learners explore posture adaptation, breath awareness, relaxation techniques, and mindfulness practices in a practical and ethical manner. Through guided learning, students gain insight into how yoga therapy can complement healthy routines by encouraging body awareness, stress management, improved mobility, and emotional balance, while respecting individual limitations. An online format allows participants to learn at their own pace, revisit concepts, and reflect deeply on case-based examples without the pressure of…

Like

Jhon Smith
Jhon Smith
5 days ago

sad

Like

©2023 by Generative Hut.

bottom of page