List of Figures

Chapter 1. Generative Art: In Theory and Practice

Figure 1.1. Tube Clock (2009)

Figure 1.2. Brian Eno’s Discreet Music album included a diagram on the sleeve explaining the synthesizer and tape-loop feedback system by which the music had been produced.

Figure 1.3. Lady Quark by Manfred Mohr (1972), one of the earliest algorists (generative artists who work with computers). Mohr wrote his own software in order to explore his art.

Figure 1.4. The ZX Spectrum: the machine I learned to program on. It was the cutting edge of British home computing circa 1982: 48 KB RAM, no hard disk, and no mouse. The lack of a visual operating system meant you had to learn basic programming skills just to be able to load a game.

Chapter 2. Processing: A Programming Language for Artists

Figure 2.1. Processing.org: an invaluable resource for tutorials, reference, and discourse. It’s also the place to download the latest version of Processing.

Figure 2.2. (Left) The empty PDE window: the first thing you’ll see when you download and run Processing

Figure 2.3. (Right) Hello World. The output window shows the result of your commands.

Figure 2.4. The PDE with your new script

Figure 2.5. The output window showing the result of the commands you’ve just written

Figure 2.6. Commands such as stroke, fill and strokeWeight set the drawing style before a shape is drawn.

Figure 2.7. A circle drawn using a frame loop. When you run the script, the circle grows from a diameter of 10 to 400.

Figure 2.8. Circles within circles, a loop within a loop

Figure 2.9. By not clearing the frame every time you redraw, you can create subtle fades using alpha values.

Figure 2.10. Demonstrating the for loop in action

Figure 2.11. The toolbar

Figure 2.12. The script folder (sketch), containing the script (.pde) and an exported applet folder

Chapter 3. The Wrong Way to Draw a Line

Figure 3.1. The correct way to draw a line

Figure 3.2. A rather uninteresting random line

Figure 3.3. Introducing randomness to the y position

Figure 3.4. Random variance looks better than plain randomness.

Figure 3.5. Perlin noise: a possible output of listing 3.1

Figure 3.6. Perlin noise, with ynoise increment of 0.03 for every x pixel

Figure 3.7. A sine curve

Figure 3.8. A cosine curve. Not too dissimilar from a sine curve.

Figure 3.9. A line constructed from the return values of sin cubed

Figure 3.10. sin cubed, with a soupçon of noise

Figure 3.11. The customRandom function in action. It isn’t quite as random as random.

Chapter 4. The Wrong Way to Draw a Circle

Figure 4.1. All the trig I’ve ever needed fits on the back of a postcard.

Figure 4.2. Drawing a circle using trigonometry: the output of listing 4.1

Figure 4.3. A few minor tweaks, and the circle becomes a spiral.

Figure 4.4. The spiral, with noise. Is that a butterfly in the middle there?

Figure 4.5. The spiral code turned up to 11

Figure 4.6. Spiral Stairs (2009)

Figure 4.7. The output of listing 4.5: a custom variance to the circumference, based on sine

Figure 4.8. Another custom variance based on powers of sine

Figure 4.9. You can see the source code for this animation at http://abandonedart.org/?p=549. It uses a simple custom noise function much like you’ve created in this section.

Figure 4.10. Wave Clock (2009)

Figure 4.11. A circle constructed by drawing lines from a point on the circumference to its opposite edge

Figure 4.12. Fade effect added by incrementing the stroke color as the line rotates

Figure 4.13. Perlin noise variance added to the radius value

Figure 4.14. Perlin noise variance added to the rotation speed/direction

Figure 4.15. Outputs from the completed system: Wave Clock (2009)

Chapter 5. Adding Dimensions

Figure 5.1. Perlin noise in 2D, visualized as alpha values

Figure 5.2. 2D Perlin noise visualized as squares of varying size

Figure 5.3. 2D Perlin noise visualized using rotation

Figure 5.4. 2D Perlin noise as little fluffy clouds

Figure 5.5. A sphere drawn using OpenGL

Figure 5.6. Two-dimensional noise, three-dimensional perspective

Figure 5.7. Three-dimensional noise: a cloud in a box

Figure 5.8. The source code for Haunted Fishtank (Abandoned Artwork #49), available at http://abandonedart.org/?p=449, is similar to the system you’ve developed in this section.

Figure 5.9. Spiraling around a sphere

Figure 5.10. Frosti (2010). A video work created by applying Perlin noise to a deconstructed sphere: http://vimeo.com/9712740

Chapter 6. Emergence

Figure 6.1. A murmation of starlings over Brighton’s West Pier, photographed by Kevin Meredith (http://lomokev.com). Low-level rules creating higher-level organization.

Figure 6.2. Blonde Boids (Abandoned Artwork #4) was my adaptation of Dan Shiffman’s adaptation of Craig Reynolds Boids code.

Figure 6.3. The output of listing 6.1: randomly generated circles

Figure 6.4. The circles are following a simple behavior you’ve programmed. But in the interaction between the circles, a new, emergent complexity is apparent.

Figure 6.5. Removing the original behavior, all you have left are the emergent patterns, which are far more interesting.

Figure 6.6. It took 170 circle objects to create this. I can only guess how many actual circles are on the screen.

Figure 6.7. The emergent circles, abstracted further using a softer line and traces

Chapter 7. Autonomy

Figure 7.1. A cellular automata grid

Figure 7.2. Conway’s Game of Life after 100 iterations

Figure 7.3. Triangle height and rotation depend on the age of a cell. Triangle width is the neighbor count. The color of the shape is mixed using a combination of the two.

Figure 7.4. Circle size is determined by neighbor count. Lines and their rotations are determined by cell age.

Figure 7.5. The Vichniac Vote rule after 3 iterations, 11 iterations, 41 iterations, and 166 iterations

Figure 7.6. The Brian’s Brain behavior after 19 iterations

Figure 7.7. The customized wave rule after 6, 26, 49, and 69 iterations

Figure 7.8. Single-pixel-sized cells produce more subtle (but more processor-intensive) patterns.

Figure 7.9. The “blue marble” photograph of Earth taken by Apollo 17, December 1972

Figure 7.10. Colour Economy by Jeremy Thorp (2008)

Figure 7.11. Aaron Koblin’s Flight Patterns (2005): visualization of the flight paths of aircraft crossing North America

Figure 7.12. Lunar Lander, the classic arcade game re-created in ActionScript

Figure 7.13. Lunar Lander Trails (2010), by Seb Lee-Delisle: the actions of a many autonomous human agents

Chapter 8. Fractals

Figure 8.1. After experimenting with fractal structures, you’ll start to notice self-similar recursion everywhere. This illustration is from Ernst Haeckel’s 1904 book Kunstformen der Natur (Artforms of Nature)

Figure 8.2. Mandelbulb by Tom Beddard (2009), www.subblue.com: a 3D version of the Mandelbrot fractal. See Beddard’s site or www.skytopia.com/project/fractal/mandelbulb.html for the math.

Figure 8.3. Ghost Ferns (photographed by Flickr user L’eau Bleue:) fractal structures in nature

Figure 8.4. The beginnings of a fractal tree

Figure 8.5. Space clockwork: the beginnings of an animated fractal, spinning like a dervish

Figure 8.6. Turning it up a little: four children, seven levels. I hope you’re coding along so you can see this structure moving.

Figure 8.7. 3 children, 10 levels

Figure 8.8. A finer line, six levels, and seven children

Figure 8.9. Seven children, seven levels: about as far as I could push it and expect it to animate

Figure 8.10. Sutcliffe Pentagons

Figure 8.11. Just in case you don’t know what a regular pentagon looks like

Figure 8.12. Calculating the midpoints of the sides

Figure 8.13. Project struts toward the opposite points

Figure 8.14. A recursive pentagon

Figure 8.15. Strut factors -1 through to +2

Figure 8.16. Eight sides: a Sutcliffe Octagon?

Figure 8.17. A 32-sided structure

Figure 8.18. Angle step of 133, through 1024 degrees

Figure 8.19. The system is resilient enough to work with irregular and incomplete shapes.

Figure 8.20. A number of abandonedart.org applications of the Sutcliffe Pentagon

Figure 8.21. Patterns generated using the Vicniac Vote rule from chapter 7

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.128.105