23 March 2012

27 Video of presentation

I did a short presentation a couple of days ago at a meeting of CODE Creatives (a gathering of Manchester Metropolitan Univeristy staff and post-graduate researchers interested in the use of code based design). You can see me waving my arms about and wearing a loud shirt here*. The presentation is very much based on the abstract I wrote to help structure my formal PhD proposal (the RD1).
*I almost always do both.

26 Repeatless 0001: Ten Cell Sateen v005

Repeatless0001_TenCellSateen005a Repeatless0001_TenCellSateen005, Animated gif of Processing code running 200 times
Title: Repeatless 0001: Ten Cell Sateen v005
Size: 200px x 800px (two 200px x 200px section shown)
Method: Processing / Photoshop
This is a new version of the same cellular automata model as posts 23 to 25 (including the rotate of post 25). However, this version looks to model something else as well; how the design would look as if it was coming out of a digital printer.
The code is my first foray into writing code that runs continuously in Processing. It took a while to get the hang of how to do this*. The bit where the image is added ended up being simpler that the previous versions; it is always added in the row at the top of the image and the animation moves it down.
The code runs indefinitely, but saves the first 200 cycles as an image. The images show two runs, each run made into an animated GIF in Photoshop.

*Note to self: You're learning how to do something new. It will be difficult. Other people don't care.

16 March 2012

25 Repeatless 0001: Ten Cell Sateen v004

Title: Repeatless 0001: Ten Cell Sateen v004
Size: 800px x 800px (four runs shown)
Method: Processing
A new version of the previous post. This rotates each cell image by a random amount. Sateen repeats (definition at the end of this post) are generally multidirectional*, so this random rotation is intended to create the suggestion that the resulting image could be viewed from any angle.
I've solved the problems with how to handle the rotate described in the last post. Rather than Layers and Free Transforms, I'm now thinking in terms of co-ordinate matrices and stacks...

*A multidirectional repeat is one that works when viewed from any angle – in other words, it has no noticeable top, bottom, left or right. (This is normally achieved by rotating the elements that make up the design to a variety of different angles.) Favoured by cost-conscious manufacturers because pattern blocks can be placed anywhere and at any angle on the fabric – that is, packed together to achieve as little wastage as possible.

24 Repeatless 0001: Ten Cell Sateen v003

Title: Repeatless 0001: Ten Cell Sateen v003
Size: 800px x 800px (four runs shown)
Method: Processing
This is the same basic cellular automata model as the previous two posts (22 and 23), but the code loads a small image (the quartered circle), instead of filling the cell with black. (The colours are taken from an old design of mine.)
The next step is to work out a way of rotating the individual images randomly. My initial attempts to do this don't work and have highlighted the effect that working with a particular bit of software over long periods of time can have. I'm so used to working with Photoshop®, I assume that anything "pasted" into an image will be on it's own new Layer and if it is rotated, it will by default rotate around its centre. Coding in Processing means working with image content in a completely different way; I realise how Photoshop®'s Layers and Free Transform function have entrenched the way I think of moving stuff around.

9 March 2012

23 Repeatless 0001: Ten Cell Sateen v002

Title: Repeatless 0001: Ten Cell Sateen v002
Size: 100px x 400px (four runs shown)
Method: Processing
The next version of the process started in previous post. The code randomly places a 10px x 10px black cell in one 10px column of each 10px row but not in the same column as any of the previous 5 cells. The intention here is to use a cellular automata model to create a sateen-style pattern (there's a definition of sateen repeat at the end of a previous post). A cell cannot go black unless the five cells above it are clear.
The coding is done with a couple of one-dimensional arrays. The first holds the positions a black cell could occupy (those with five or more empty cells above) and the second has the positions that cannot be used (because there are four or less empty cells above it). As each row gets its new black cell, both arrays update to reflect the subsequent row's black cell possibilities.
The code operates on a similar principle to the code in the Gordon image, although it was written from scratch in order to develop my Processing skills. I'm dipping into Reas, C; Fry, B (2007) (1) and the Processing website to do this. Getting info on using the ArrayList command was tricky; the Array command's Functions seem too basic (but I could be missing something) and I missed the posibilities of arrays in Javascript. At some point, I think using two dimensional arrays will offer a more elegant way of coding, but I did a bit of research into Turing machines as part of this and found it useful to think of a one-dimensional array as the tape in such an idea model.
(1) Reas, C; Fry, B (2007) Processing: a programming handbook for visual designers and artists The MIT Press, Cambridge (Massachusetts)

22 Repeatless 0001: Ten Cell Sateen v001

Title: Repeatless 0001: Ten Cell Sateen v001
Size: 100px x 400px (four runs shown)
Method: Processing
First attempt at working with Processing. The code randomly places a 10px x 10px black cell in one 10px column of each 10px row of a 100px by 400px workspace.
This is the initial step in creating code that does a similar thing in Processing to what the Gordon code did in ExtendScript / Javascript for Photoshop.