evolutionary graphics - class 04 2014

82
VART3227 volutionary Graphics lass 04: Algorithmic Graphics

Upload: bryan-chung

Post on 16-Apr-2017

739 views

Category:

Education


3 download

TRANSCRIPT

Slide 1

VART3227Evolutionary GraphicsClass 04: Algorithmic Graphics

Todays scheduleMore examples from geometryAlgorithm and computer graphicsNatural objects simulation

Algorithmic artThe autonomous processes produce visual arts.The processes themselves may be viewed as meta-artworks.

NOT concerned with software, such as Illustrator, Photoshop, that facilitate human artists to produce artworks.

Algorithmic artBefore the computing age, we had

Kinetic artConceptual artProcess artDrawing machines

Kinetic Art Alexander Calder

Conceptual Art Sol Lewitt

Process Art Jackson Pollock

Drawing machine

Natural patterns

The art of pendulum

Particles Daito Manabe

More geometry flower

More geometry pine

More geometry Fibonnaci numbers

More geometry Shell

More geometry Shell and spiral

More geometry Shell and spiral

More geometry Another shell

More geometry Golden section

More geometry Golden triangle

More geometry Golden triangle

More geometry Golden triangle

More geometry Golden triangle and spiral

More geometry Golden triangle and spiral

Poster example

Poster example

Algorithmic artAlgorithm a precisely detailed procedure for carrying out a task.

Here is a drawing task

Identify two random points on a 100 unit square plane.Draw a line connecting these two points.

Algorithmic art

Algorithmic artAlgorithmic art examples

Julius Guest

Kerry Strand

Georg Nees

Georg Nees

Frieder Nake

Manfred Mohr

Zdenek Sykora

Harmonograph

Harold Cohen, Aaron

Algorithmic artAlgorithmic art exercises with Context Free Art

Spiral exercisestartshape MyShape

CF::Background = [b -1] shape MyShape {Spiral [h 60 sat 1 b 1]} shape Spiral {Dots []}

shape Dots {CIRCLE []}

Spiral exercise

Spiral exercise first recursionstartshape MyShape

CF::Background = [b -1] shape MyShape {Spiral [h 60 sat 1 b 1]} shape Spiral {Dots []}

shape Dots {CIRCLE []Dots [x 5 r 20 s 0.95 b -0.1 a -0.05]}

Spiral exercise

Spiral exercise second recursionstartshape MyShape

CF::Background = [b -1] shape MyShape {Spiral {h 60 sat 1 b 1}} shape Spiral {Dots []Spiral [x 3 y 2 r 89 s 0.99 h 0.01 sat 1 b 1]}

shape Dots {CIRCLE []Dots [x 5 r 20 s 0.95 b -0.1 a -0.05]}

Spiral exercise

Spiral exercise third recursionstartshape MyShape

CF::Background = [b -1] shape MyShape {Shape1 []}

shape Shape1 {Spiral [h 60 sat 1 b 1]Shape1 [x 0.5 y 0.5 r 8 s 0.9]} shape Spiral {Dots []Spiral [x 3 y 2 r 89 s 0.99 h 0.01 sat 1 b 1]}

shape Dots {CIRCLE []Dots [x 5 r 20 s 0.95 b -0.1 a -0.05]}

Spiral exercise

Spiral exercise randomnessshape Dots {CIRCLE []Dots [x 5 r 13 s 0.95 b -0.1 a -0.03]}

shape Dots {CIRCLE []Dots [x 5 r 21 s 0.95 b -0.15 a -0.05]}

Spiral exercise randomness

Spiral exercise more randomness

Spiral exercise more randomness

Fireworks exampleFirst, we can analyze the structure of fireworks.

Fireworks examplestartshape Fireworks

CF::Background = [b -1]

shape Fireworks {Fire []}

shape Fire {Part [h 60]}

shape Part {CIRCLE [sat 1 b 1]}

Fireworks example

Fireworks example first recursionstartshape Fireworks

CF::Background = [b -1]

shape Fireworks {Fire []}

shape Fire {Part [h 60]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.9 s 0.9 r 4 h 0.9 a -0.01]}

Fireworks example

Fireworks example randomnessstartshape Fireworks

CF::Background = [b -1]

shape Fireworks {Fire []}

shape Fire {Part [h 60]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.9 s 0.9 r 4 h 0.9 a -0.01]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.7 s 0.9 r -4 h 0.7 a -0.02]}

Fireworks example randomness

Fireworks example randomnessstartshape Fireworks

CF::Background = [b -1]

shape Fireworks {Fire []}

shape Fire {Part [h 60]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.9 s 0.99 r 4 h 0.9 a -0.01]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.7 s 0.99 r -4 h 0.7 a -0.02]}

Fireworks example randomness

Fireworks example repetitionstartshape Fireworks

CF::Background = [b -1]

shape Fireworks {Fire []}

shape Fire {loop 10 [s 0.99] Part [x 1 r 5 h 60]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.9 s 0.99 r 4 h 0.9 a -0.01]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.7 s 0.99 r -4 h 0.7 a -0.02]}

Fireworks example repetition

Fireworks example repetition & randomnessstartshape Fireworks

CF::Background = [b -1]

shape Fireworks {Fire []}

shape Fire {loop 10 [s 0.99] Part [x 1 r 5 h 60]}

shape Fire {loop 10 [s 0.99] Part [x 1.5 r -5 h 40]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.9 s 0.99 r 4 h 0.9 a -0.01]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.7 s 0.99 r -4 h 0.7 a -0.02]}

Fireworks example repetition & randomness

Fireworks example final touchstartshape Fireworks

CF::Background = [b -1]

shape Fireworks {Fire []}

shape Fire {loop 100 [s 0.999] Part [x 1 r 5 h 60]}

shape Fire {loop 100 [s 0.999] Part [x 1.5 r -5 h 40]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.9 s 0.99 r 4 h 0.9 a -0.01]}

shape Part {CIRCLE [sat 1 b 1]Part [y 0.7 s 0.99 r -4 h 1.2 a -0.02]}

Fireworks example final touch

Cloud examplestartshape MyCloud

CF::Background = [h 220 sat 1 b 1]

shape MyCloud {Draw []}

shape Draw {SQUARE [b 1]}

shape Draw {CIRCLE [b 1]}

Cloud example

Cloud examplestartshape MyCloud

CF::Background = [h 220 sat 1 b 1]

shape MyCloud {Cloud [a -1]}

shape Cloud {Draw []Cloud [a 0.01 s 0.8]}

shape Draw {SQUARE [b 1]}

shape Draw {CIRCLE [b 1]}

Cloud example

Cloud examplestartshape MyCloud

CF::Background = [h 220 sat 1 b 1]

shape MyCloud {Cloud [a -1]}

shape Cloud {Draw []Rotate [s 0.8]}

shape Rotate {Cloud [r 15 a 0.01]}

shape Draw {SQUARE [b 1]}

shape Draw {CIRCLE [b 1]}

Cloud example

Cloud example - randomnessshape Rotate {Cloud [r 15]}

shape Rotate {Cloud [r -15]}

Cloud example second recursionshape Cloud {Draw []Rotate [s 0.7]Side {}}

shape Side {Draw []Cloud [x 1 a 0.01]}

shape Side {}

Cloud example second recursion

Cloud example third recursionshape Cloud {Draw []Move [s 0.7]Side []}

shape Move {Draw []Rotate [y 1]}

shape Move {Draw []Rotate [y -1]}

Cloud example second recursion

Cloud example more randomnessshape Siderule 20% {Draw []Cloud [x 1 a 0.003]}

rule 20% {Draw []Cloud [x -1 a 0.003]}

rule 60% {}

Cloud example second recursion

Cloud example final touchshape MyCloud {loop 4 [x 1] MakeCloud [a -1]}

shape MakeCloud {Side [y 0.5]}

shape MakeCloud {Side [y -0.5]}

Cloud example second recursion

Exercise