Kinetic Generative Art Tutorial

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.



Hi88 com mình thấy bạn bè nhắc hoài nên mình cũng vào thử cho biết, kiểu tò mò giao diện thôi chứ không có ngồi chơi hay đọc kỹ gì. Vừa mở lên cái mình để ý ngay là trang nhìn khá sáng sủa, bố cục chia thành từng khối rõ ràng nên lướt xuống không bị rối mắt. Mấy phần thông tin họ trình bày gọn gàng theo dạng cột bảng nên nhìn qua là hiểu đại khái, không phải căng mắt đọc chữ dài. Mình cũng thích cái menu đặt khá dễ thấy, bấm qua lại vài mục thấy phản hồi nhanh, không phải tìm vòng vòng. Nói chung cảm giác dùng nhẹ nhàng, nhất là cách họ…
https://ok8386.cx/ nói thật là mình vẫn hơi lăn tăn mấy trang kiểu này vì hay làm màu, nhưng vào nhìn một lúc thì thấy bố cục lại khá gọn, chữ nghĩa dễ đọc; mình chỉ xem lướt chứ không có ngồi khám phá sâu, chủ yếu để ý mấy phần điều hướng và cách họ bày thông tin cho người mới, kéo trang xuống cũng ổn, không bị giật giật nên đỡ khó chịu; menu đặt ở vị trí dễ thấy nên mình không phải đảo mắt tìm, kiểu muốn quay lại mục trước cũng nhanh; có một chỗ tiêu đề liên quan đăng ký kèm ưu đãi VIP 2026 được tách riêng ra nên nhìn phát nhận ra ngay,…
Professional HVAC tools can make air conditioning and refrigeration servicing more efficient. Products such as Appion refrigerant recovery machines, vacuum pumps, vacuum gauges, and core removal tools are useful for installation, maintenance, and repair work. Choosing reliable HVAC/R equipment helps technicians perform service tasks more effectively.
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…
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!