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


melaniemarshall6592
5 hours ago

hi88.com tối qua lúc nghỉ tay mình lướt thử vài phút, ban đầu cũng nghĩ chắc lại kiểu trang na ná nhau thôi; mà vào rồi thấy bố cục khá dễ nắm, mấy thứ quan trọng nằm ngay tầm mắt nên mình không phải dò qua dò lại nhiều; cái menu đặt chỗ dễ thấy, bấm qua lại giữa các mục cảm giác mượt và ít bị lạc; mình cũng thích cách họ chia nội dung thành các khối dạng thẻ nhìn gọn, kéo xuống vẫn biết mình đang xem phần nào, không bị rối chữ hay nhồi nhét quá; mình chỉ nói phần nhìn với cách sắp xếp thôi chứ không bàn gì khác, vì mình hay bỏ qua…

Like

Iqra SEO
5 days ago

Breathe Divinity offers unique and stylish streetwear clothing with bold designs. I really like the modern aesthetic and variety of apparel available on the website. Their collection is worth exploring for anyone interested in expressive fashion. Great platform for discovering distinctive clothing styles!

Like

Noah Bennett
Sep 24

I appreciate practical guides that explain what to check before changing router settings. 10.0.0.1 can be useful for accessing a router's administration interface on compatible equipment, but confirming the correct address and login details from the manufacturer is always a sensible first step.


Like

Suri Ji
Suri Ji
Sep 19

This game caught my attention because it offers easy gameplay with enough variety to keep things interesting. I liked how quickly I became comfortable with the controls and interface. Exploring the different features was enjoyable, and the visual design made the experience feel more polished. Overall, it is a simple and accessible game that works well for relaxed gaming whenever you have time.

jai club apk

Like

David Lewis
David Lewis
Sep 18

Great post with clear and simple explanations. It makes understanding treatments much easier. Content like this is very helpful for readers. Learning about antiworm medications can benefit those who want straightforward and trustworthy health information.

Like

©2023 by Generative Hut.

bottom of page