top of page

Kinetic Generative Art Tutorial

Writer's picture: 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.


7,516 views48 comments

Recent Posts

See All

48 Comments


Maher
Maher
3 hours ago

Liquidity pools are essential to the DeFi ecosystem because they eliminate the inefficiencies associated with traditional order book systems, which were slow and required a significant amount of buyers and sellers. In a liquidity pool, instead of matching individual buy and sell orders, assets are pooled together in a smart contract, allowing for seamless and constant liquidity https://paybis.com/blog/glossary/liquidity-pool/. This approach ensures that users can trade assets without needing counterparties in real-time. By contributing to a liquidity pool, you can earn rewards in the form of transaction fees, becoming an active participant in the decentralized financial system. Paybis provides a platform where users can easily engage with DeFi and explore various opportunities, making it a great place to start your journey…

Like

Liza Martin
Liza Martin
5 days ago

Case Study Assignment Help At MakeAssignmentHelp, students can avail themselves of comprehensive case study assignment help. Their team of experienced writers provides well-researched and detailed solutions for case study assignments. By analyzing the key concepts and applying theoretical frameworks, they deliver high-quality assignments that meet academic standards. The experts offer customized assistance, making sure that each assignment reflects a deep understanding of the subject matter. MakeAssignmentHelp helps students in overcoming the challenges of case study writing, ensuring they receive top grades with minimal stress.

Like

Atulya Hotels
Atulya Hotels
5 days ago

As your trusted travel agency, we highly recommend Atulya Hotel, the best hotel in India, for an exceptional amenities day. We provide all services. Experience top-tier services, comfortable rooms, and luxurious crafts for discerning travelers. Book through us today to enjoy the unmatched hospitality of Atulya Hotel and make your trip to India truly unforgettable.

Website:-   https://www.atulyahotels.com/

Like

Airlines Office World
Airlines Office World
6 days ago

Hartsfield-Jackson TSA wait times can vary throughout the day and depending on the season at Atlanta’s busiest airport. During peak travel times, such as holidays or busy summer months, Hartsfield-Jackson TSA wait times can be longer, often exceeding 30 minutes. However, during off-peak hours, the wait times are typically shorter, ranging from 10 to 20 minutes. Travelers can stay updated on real-time Hartsfield-Jackson TSA wait times by checking the airport's website or using apps that track security line durations. For a faster experience, TSA PreCheck is available to eligible travelers, helping to reduce Hartsfield-Jackson TSA wait times significantly. It’s always advisable to arrive at least two hours before a domestic flight to allow enough time for security procedures.


Like

lily marg
lily marg
7 days ago

A farmers insurance little rock provides personalized insurance solutions to protect what matters most to you. Whether you need auto, home, life, renters, or business insurance, they offer tailored coverage options to fit your unique needs and budget. Backed by the trusted Farmers Insurance brand, these agents combine local expertise with exceptional customer service, ensuring you understand your policy and feel confident in your coverage. Conveniently located in Anniston, they are dedicated to helping individuals, families, and businesses safeguard their assets and plan for the future. Contact an Anniston Farmers Insurance Agent today for a customized insurance quote.

Edited
Like
bottom of page