Procedural Generation:

by patriciaispale in Workshop > Tools

3487 Views, 13 Favorites, 0 Comments

Procedural Generation:

Screen Shot 2018-02-28 at 6.05.30 PM.png
Screen Shot 2018-02-28 at 6.07.27 PM.png
Screen Shot 2018-02-28 at 6.01.47 PM.png
Screen Shot 2018-02-28 at 6.02.51 PM.png
Screen Shot 2018-02-28 at 6.03.43 PM.png
Screen Shot 2018-02-28 at 6.04.28 PM.png

Computing refers to procedural generation as a method of creating data using algorithms rather than a manual approach. Computer graphics calls it random generation and commonly uses it to create textures and 3D models. Video games are able to use this method to create large amounts of content in a game. Procedural generation has many advantages, including but not limited to smaller file sizes, larger amounts of content, and randomness for less predictable game play.

Anyone with a computer and curiosity can experiment with procedural generation. You do not need to be a mathematician or programmer. Using a computer to explore aesthetics is a powerful creative process. It is possible to learn a variety of tools and techniques for creating algorithmic images, generative art, parametric designs, and procedurally generated content.

This is an instructable about algorithmic images, generative art, and procedural generation. In this instructable, we will explore a creative process in which form is made by following defined processes. We will write instructions that a computer will follow to create images, animations, sounds, and sculptures.

There are many reasons you might want to use algorithmic methods. Some important ones include:

-exploring new aesthetics

-automating complex tasks

-enhancing variety

-creating dynamic, responsive content

We'll begin with a practice in the Sierpinski Triangle, a fractal. It is infinitely detailed and self-similar. There are many, many ways to generate a Sierpinski triangle. This is an important lesson in parametric design.

Note: This content was inspired by a Computational Form class taken at Parsons School of Design. If you're ever going to take one class in design school I hope it is like Comp Form. Design technology is easy and fun when taught through this lens.

Step 1: Draw an Up-pointing Equilateral Triangle That Fills Most of the Page.

brodo_001_180220-12.jpg

You'll need a basic paper and pencil or pen.

Step 2: Lightly Mark the Midpoint of Each Line of That Triangle.

brodo_001_180220-8.jpg

Set a timer for 2 minutes. This will be the time you have to complete the next steps. No cheating! :)

Step 3: Choose Any Empty, Up-pointing Triangle on the Page.

brodo_001_180220-3.jpg

Keep sketching.

Step 4: Go to Instruction 2.

brodo_001_180213-4.jpg

These instructions go on forever. This is why it's important to stick to the 2 minute timer rule. When 2 minutes is up, you're done.

So, Why Are We Doing This?

tri.jpg

Constructing the Sierpinski triangle teaches us about basic coding principles.

Take a look at the picture. As it turns out, most people will do this exercise very differently. Is your sketch exactly like any of these sketches? Probably not.

Here's why it matters. When humans follow instructions we have a huge amount of variety. Computers do not do this. When computers get instructions they follow them EXACTLY how they are entered.

This is why procedural generation is so great. It allows us to make things that make things. Instead of paper and pencil, we can explore a variety of programming languages, tools, and methods. We can create a variety of output: graphics, sounds, videos, animations, even 3D-printed objects.

The primary goals of this instructable is to introduce new ways of making and to encourage aesthetic investigation. The perspective used here should empower you to create and give you agency to make things you love. Go out there and apply procedural generation to your next project!

Feeling inspired? Get started making on these programming languages and tools:

Javascript

Processing

p5.js

paper.js

OpenSCAD