On this page I’ve collected 5 of by own responses to pages in Klee and Kandinsky, each page is answered by a page of fairly carefully documented code and some thoughts for further extension. You’ll also want to be looking at this documentation here as well, to begin to make sense of how drawing is being done in Field.
But! a warning first. This page is fun if you want to get something on the screen and then play with it a little, or if you want to see something complex for some kind of inspiration. Writing one of these “in one go” isn’t something that I would do and, more importantly, isn’t something that I could do. Rather, these were all made incremementally, in really small steps.
you have a small idea (based on a page),
you figure out how you might tell the computer what that idea is,
you are incrementally expressing that idea and refining it,
you are getting a little lost,
you find the moment when something unexpected, unforeseen and perhaps unforeseeable occurs.
At this point, you can play freely with your system’s parameters, and sketch the potential of the system that you have built — and then, perhaps, push it towards animation, and long duration form.
I cannot stress the benefits of approaching computation incrementally enough. If there’s one meta-cognitive lesson that you should grasp it is that surviving the encounter with computation depends on your ability to make small, well tested, understood moves, discovering mistakes and missteps quickly. Don’t let these “complete” examples on this page fool you: not one of these lines of code was written in this order and almost none of them worked first time.
“An active line on a walk…”
Pedagogical Sketchbook, Paul Klee, pg. 16
Some points of departure
Think about:
Other modulation ‘shapes’ (not just a circle)
Other ways of thickening the line — try drawing multiple thin lines
Other, less simple, versions of ‘hair’
Scale ‘direction’ by something gestural
Turn this into an animation with _.wait() and _.redraw()
See if you can build pg. 18, figure 6 with a similar approach.
“exotropic treatment”
The Thinking Eye, Paul Klee, pg. 52
Some points of departure
Endotropic – turn this code into something that points inwards rather than outwards.
Shape – try a different control shape.
Process – edit this code so that it draws the process as it unfolds (use _.wait() and _.redraw()).
Noise – modify the distribution of noise along the line.
“…the pull from outside in”
The Thinking Eye, Paul Klee, pg. 28 (but see also pg. 48)
Some points of departure
Constrain — the angles differently, right now there are random?
Distribute — modify the distribution of over-strokes.
Animate — Build a drawing animation with _.redraw() and _.wait()
Disorder — Do something other than a grid.
“…progressively spatial…”
The Thinking Eye, Paul Klee, pg. 31
Some points of departure
shape — try a different input shape
randomize — every ‘Math.random()’ marks a random distribution that might be worth manipulating
decorate — the tours further: build a reason to ‘curveTo’ rather than ‘lineTo’
animate — turn this into an animation with _.wait() and _.redraw()