Generative Art.js Weave.js P5.js Randomness Noise Perlin Noise Home

What is Generative Art?

Generative Art is basically programming a computer to create a piece of art using rules and formulas with a pinch of "controlled randomness" to make it unique.
In this project we use p5.js as a platform to create art. Feel free to explore the different aspects this project revolves around.

Try Weave.js Here

Weave.js

Weave.js is a sketch from scratch using p5.js heavily inspired by WeaveSilk. This sketch is the main feature of this project as it uses and utilizes almost all of the subtopics that are discussed below.
This sketch is a kaleidoscope that uses bezier curves as the brush and are generated using noise for smooth transitions in-between frames which as a result creates unique and beautiful patterns.

What is p5.js

p5.js is a JavaScript library for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else!. We can create all type of generative art design using p5.js.

Download p5.js

Randomness

"Controlled" randomness eh? It may sound contradictory, but if you are an artist or an art historian, you know that artists have always sought ways to introduce randomness into their work to stimulate their creativity. You can see the result of using random() function in the image. We dont user random() for generative art
That's where Noise comes in the play. More about noise below.

Noise

If you have used random() function, you must be familiar to how random it can get. Noise is also a random function but it remains smooth and organic.
The noise() function in p5.js utilizes perlin noise. More about perlin noise below.

What is perlin noise?

Created by Ken Perlin, Perlin noise was invented for applications which required semi-random variations with continuous and smooth trajectories. It's used in all sorts of applications, such as creating terrains and realistic looking textures for video games.

See how perlin noise works