26 January 2016

36 Repeatless0004_SilverCell

I'm currently working on a new iteration of the Repeatless code, with the working title of SilverCell. This involves my first proper foray into object oriented programming, which means a complete re-write. There will be a considerably extended algorithm driving the whole thing; the resultant code will be more adaptable to the image library it works with. Once the code is done, I'll be working on a new series of such libraries for SilverCell to use. Here's a couple of screen grabs of early prototypes:

Test section of output working with very simple circle, rectangle and cross images. The code has only just started to run, so the bottom section hasn't been populated with any imagery.

Another test, this time a little longer into a run, so the entire space is full of imagery. At this stage of development, there is no interaction between the different motifs within the design.

16 April 2015

35 Repeatless0003_ClothofGold animated version

These two videos show the Cloth of Gold code in action, simulating the output of a potentially infinte length of fabric from a digital printer. The first is a three minute run, at a relatively slow frame rate:

And if you're feeling less patient, the second is a one minute run with a faster frame rate:

34 Paper available online

Over the last year or so, I've given three conference papers. In la-de-da proper referencing format these are:
Russell, A. (2014) “Repeatless: combining science, technology and design to re-think print and pattern for the future.’ In The University of Huddersfield. Proceedings of Transition: re-thinking textiles and surfaces. The University of Huddersfield, Huddersfield, 26th-27th November 2014. Miles, J., Harris, J. and Sinha, P. (eds.) Huddersfield: The University of Huddersfield e-prints repository.
Russell, A. (2014) 'Repeatless: transforming surface pattern with generative design.' In Textile and Design Laboratory and Colab. Proceedings of Shapeshifting: A Conference on Transformative Paradigms of Fashion and Textile Design. Auckland University of Technology, Auckland, 13th-15th April 2014. Jospeh, F., Smith, M., Smitheram, M. and Hamon, J. (eds.) Auckland: Textile and Design Laboratory and Colab at the Auckland University of Technology.
Russell, A. (2013) ‘Repeatless: the use of digital technology to extend the possibilities of printed textile design.’ In TexEng Software Ltd., The Fiber Society, The Textile Institute and TechniTex Faraday Ltd.. Proceedings of First International Conference on Digital Technologies for the Textile Industries. Manchester University, Manchester, 5th-6th September 2013. Hearle, J., Chen, X., Clarke, N and McCarthy, B. (eds.) Manchester: TexEng Software Ltd..
The Shapeshifting one is available here.

25 October 2013

33 Seamless show

Cloth of Gold (as a digital projection) is featured in the ‘Seamless: The Digital in Design’ exhibition of works at the Museum of Architecture and Design (MAO) MAO in Ljubljana, Slovenia, from 19 September to 3 November 2013, co-curated by Dr Annie Shaw and Fabrizio Cocchiarella. There's a TV interview with Dr. Shaw that features Cloth of Gold in action here (I'm possibly not entirely reliably informed that this is the Slovenian version of 'The One Show').

32 Cloth of Gold

Title: Repeatless0003_ClothOfGold_01
Size: 1435px x 820px
Method: Processing, photographs and drawings edited in Photoshop
A couple of stills from the first version of Cloth Of Gold. The code runs continuously, arranging 80 or so motifs/design elements on a way that means they never repeat, but draw on the history of pattern design.

31 Difficult fun

Title: Sketchbook pages
Size: A4
Method: Pencil, paper, highlighters, blood, sweat, tears
These are a few pages from the sketchbook that I developed the new code for Cloth Of Gold in. It's not object oriented yet (see previous post) and I've returned to using cellular automata, but the outputs have started to inch in the right direction quality-wise. It was an extraordinarily difficult thing to do, but that also made it very rewarding. The code is based on algorithms I developed to model the print/pattern design process. I was expecting to do everything sat in from of a computer, but quickly discovered it was far better to start everything off in a sketchbook.

12 October 2012

30 Pick up the pieces, put them back differently

Following a discussion at a supervisory meeting, I've decided to hang the coding I do on a particular range of behavioural modelling: flocking, swarms and attraction/repulsion. There are some very pragmatic reasons for doing this, such as the fact that it's less explored by designers than say, evolutionary art or modelling natural form*. There are some less pragmatic ones too. Firstly,  a rural childhood that may be part of the reason I'd generally rather watch birds flocking than most television. I do my best not to be superstitious, but catching sight of flocks of birds in the evening does appear to be a good omen whenever I've been making big decisions. In the very unlikely event that I'm ever on Desert Island Discs, a daily murmuration of starlings going to roost would be my luxury. Secondly, Chris Reynolds' Boids simulation, which is one of my longest standing web browser bookmarks, and probably a good example of how if things bump around in your brain for long enough, you find a use for them. Finally, as I start to compile a definition of terms, the fact that flocking means something entirely different in the world of printed textiles (what some people might call curry house wallpaper).
This has meant letting go of the models I've been using to structure my code so far and taking the plunge with Object Oriented Programming. Unlike my previous attempts, which I've been able to do by essentially mapping existing (if extraordinarily rusty) coding or mathematical skills on Processing, this has involved learning how to work in a new way. Simply put, the elements that make up the designs will be the Objects; their arrangement will be determined by code (in programming terms, the Methods in the Object's Class). Unlike the work so far, where I'm been able to get to the bit where I actually have some kind of visual output fairly quickly, this will take longer - so apologies for the lack of an image. You could watch this.
Been a while.
*or that my Director of Studies suggested it.

4 May 2012

29 Repeatless 0002: Noah Sateen v002 (Hellibore)

Title: Repeatless 0002: Noah Sateen v002 (Hellibore)
Size: Three sections shown; top is 3760px x 3760px, middle is 1400px x 1400px, bottom is 600px x 600px
Method: Processing
This is essentially the same code as the previous post, but using more considered imagery in an attempt to get the design to look more beautiful (or at least locate it more firmly in the context of printed textile design).
There are three layers* to the image: a little block of dots goes on first, randomly coloured to a set palette, then a randomly sized and rotated image of a Hellibore flower (using the cellular automata derived positioning code as the previous post) and finally a modular circle pattern. The flowers are set to a transparency proportional to their size - the smaller they are, the more opaque the setting. This is intended to try and prevent any one flower from standing out too much. In a traditional repeat design, the designer would seek to try and make the imagery as balanced as possible - that is, prevent any one element from dominating and hence making the repeat easy to spot. Even though the design above doesn't repeat, I think it's important that a notion of balance is achieved.
I've attempted to create the image using a similar method as if I was working on an actual design brief. The spots and the circles are there to that end; they don't use the cellular automata code and feature purely to make the design look good**. The randomness settings have been tweaked to try and get a plausible (in commercial terms) design. I spent far longer tweaking the parameters to get a visual result that I was at least vaguely happy with than I did actually adapting the code to work with the new imagery. (I'm writing this a week later, and do feel a bit happier with the outcome that a week ago, when I thought it was a bit rubbish.)
This process raises loads of questions about the degree of control (and hence the complexity of the code, or at least, the time to fiddle with it) required to get a successful design. For example, in the bottom image above, the large flower towards the bottom left has a leaf and a petal that both have a horizontal edge. In repeat print terms, this is (generally) anathema; part of the trick of avoiding the repeat being noticeable is to ensure that there are no strong horizontals. Does this remain a consideration in a repeatless design? If so, then code needs to be developed to detect if this is happening, and if so, rotate the element as necessary.
Another question that has arisen is to do with the value of the cellular automata model. In the images above, the images worked better visually with the flowers set to up to 4 times the cell size; this rather negates the point of the model in the first place which is to ensure the elements aren't too close together - if two large images (that fill up to 16 cells each) are placed fairly close together, they may still overlap. Of course, the code could be rewritten to avoid this***, but should the imagery have been altered in a different way to ensure the model is adhered too?
Whilst the structure of the designs above is generative, the content is not - there's a library of 23 hellibore photos, 30 circles and 7 spots that the code randomly draws upon. One of the planned outcomes of this project is to develop some kind of interface that allows designers with no coding experience to develop repeatless designs. Whilst I am interested in developing some designs that are entriely generative, it will be important to create code that does work with existing imagery if the experience is to be shared.
*I'm trying to avoid working as if I'm in Photoshop, but the nomenclature sticks...
**I realise that this is in the eye of the beholder, but without making any great claims for my aesthetic judgement, I'd hope that having done this professionally for some time gives me some kind of perspective borne out of experience.
***In programming terms, the next thing I'm aiming to get to grips with is code that responds to what's already in the image, not just that places it to an initially fixed set of conditions. 

20 April 2012

28 Repeatless 0002: Noah Sateen v001

Title: Repeatless 0002: Noah Sateen v001
Size: 400px x 800px (snapshots of two runs shown)
Method: Processing
Two images (chosen at random from 11 files created in Photoshop) are placed in random positions in each row of a 20 column design, at least 8 cells apart. Each image cannot have another image in the same column below it for 5 subsequent rows or in the cells diagonally below it for 1 subsequent row.
It feels like I'm getting to grips with Processing now. After a wasted few hours trying to adapt the Ten Cell Sateen code to do this, I started again from scratch. Short term pain, long term gain. The new code uses functions, so the bit that loops is only a few lines long. I've used Arrays (rather than ArrayLists); there was a bit of code I had been using that I'd found on a forum - it worked, but I didn't undertand why and that annoyed me. This prompted me to find a different way of using Arrays, which has resulted in (hopefully) much better way of doing it (and one I fully understand). I'm trying to make the code as modular as possible, prompted by a discussion with my supervisory team.
The images that Photoshop chooses I created very quickly, really just to check everything was working. I'm really happy with the code, but when I starting this project I was determined that the designs I created would (as far as possible) look beautiful and not just be interesting. I don't thing the images above meet that criteria. There's a big sense of achievement in getting the code running as planned, but the content falls into the interesting-not-beautiful catagory. I'm pleased with it, but I doubt it would have much interest in a professional design context.
This highlights another area to explore - how the content is created. It could be made in advance (as with the above), generated by the code or a combination of the two. I'm interested in all of these; the first of the three could allow designers without coding knowledge to generate repeatless pattern.

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.