top of page

Kinetic Generative Art Tutorial

Writer: Pierre PaslierPierre Paslier

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.


 
 
 

82 Comments



Max Н
Max Н
10 hours ago

Guten Nachmittag, ich bin auf der Suche nach einer Firma, die sich auf das Schreiben von Bachelor- und Masterarbeiten sowie Forschungsarbeiten und vielen weiteren akademischen Texten spezialisiert hat. Es wäre hilfreich, wenn jemand eine zuverlässige und professionelle Firma empfehlen könnte, die solche Dienstleistungen anbietet. Ich suche nach einer Firma, die qualitativ hochwertige Arbeiten liefert und auch individuelle Anpassungen entsprechend den spezifischen Anforderungen der jeweiligen akademischen Institution vornimmt.

Like
Max Н
Max Н
10 hours ago
Replying to

Herzlichen Dank!

Like

NEERAJ MISHRA
NEERAJ MISHRA
11 hours ago

The best research journal among IJSRET, IJSET, IJRTSSH, ABCD Index, and IJNREFM depends on your research goals, indexing requirements, and journal credibility. Here's a comparison to help you decide:

The ABCD Index is an indexing platform that lists and categorizes research journals across various disciplines. It helps researchers, academicians, and institutions verify the credibility of journals before submission.

Key Features of ABCD Index

  • Journal Indexing: Lists academic and research journals based on their quality.

  • Categories: Covers fields like Science, Engineering, Medicine, Social Sciences, Management, etc.

  • Verification: Helps authors identify whether a journal is credible or predatory.

  • Journal Ranking: Provides journal rankings based on different criteria.

  • Publication Support: May offer guidance on selecting appropriate journals for publishing.

Like

Shirley William
Shirley William
7 days ago

Such a beautiful way to describe two different things at a time. I never considered that this topic could be so deep until reading yours! I want to draw attention that we are also seeking your guidance on blue agate crystal, as we work on it. If you have any information or suggestions about the topic, please send us your feedback. We are eagerly waiting for your further blog.

Like

Shirley William
Shirley William
7 days ago

Thank you for sharing such valuable insights! I've been looking for information on this topic for ages, and your post is exactly what I needed. As I am fresher and looking for some guidance on what is an amethyst used for, I have none other than you in my mind for some information and suggestions. Have a look at our website and share your feedback and tips with us. Waiting for your blogs!

Like

©2023 by Generative Hut.

bottom of page