GDV P.2.3.4 Drawing with dynamic brushes

This is the text I copied from the Generative Design book: ‘A virtual rubber band becomes a dynamic paint brush, as arbitrary basic elements are strung together like pearls on a string between brushstrokes and a lazy agent. The tension between the two poles defines the size and position of the elements when drawing. A graphic element is dragged on one end by the mouse. The opposite end moves sluggishly in the direction of the mouse. Depending on the drawing speed and set inertia, the original elements are depicted as stretched to their limits or virtually unchanged. The width of the element remains the same.’ And here is the original program where I started with.

This time my work progressed very different compared to the previous sessions. Maybe it was because there was a week of vacation in between. When I started to run the original program I forgot to think of it. I just started to make variations. This program gives you so much possibilities that it is difficult to stop making variations. And I did not even change the svg-files. So that took me a while and I ended up with 103 images. I have put all the images on a Flickr summary page which you can find here.

And here is the main page on the loftmatic site:

Because I made a lot of images I almost forgot to think about changing the program itself. The first thing I did was importing my own svg files. in this case they are very simple but when it works with these files I am sure that it works with more complex ones. In the program when float elementStretch is called I multiplied mouseX * 2. That’s all. Oh… key number 9  does have an svg-file attached but its black. So you will not get any feedback.

In the line where float varyAngle = atan2 is called I divided OppositePole by 2. Still a black svg-file attached to key 9.

I changed the svg file. So now key 9 gives feedback. It’s reminding me at the ‘Prounen’ El Lissitzky made around the 1920’s (which is not bad at all). Although I think that it needs much more refinement to get any closer. In the line with float varyAngle I multiplied OppositePole_Y and OppositePole_X * 2.

In the line with float varyAngle I still left multiplied OppositePole_Y and OppositePole_X * 2 unchanged. And I added one random rotation between 0 and 360. Then its repeating the shape with ModuleSize divided by 2.

In this last sketch I removed PI in the rotate varyAngle line. The rest is the same as in the original program.

Although this was a very short session it was very useful. Especially because this program is simple. You can make a lot of variations without changing a lot in the code.

Henk Lamers


Comments? Leave a reply.

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s