fabric
textile
woven
Stir

Stir

written by Francesco Force...

26 Sep 2023250 EDITIONS
1.99 TEZ

The idea for this project comes from some hand-woven swatches that I made a couple of years ago. Doing those samples was very time consuming and I though that I could made them really fast with code. I always experiment with techniques to see if I can find new possibilities, but not always the project goes on, or sometimes it can pass a long time before I use it, this is what happened with those samples.

This summer, during a holyday in Sri-Lanka, I found a book about weaving patterns. Seeing the black and white patterns for the weaving, I immediatly though that it will be something that I should code. I started coding it in the airport during my way back.

Weaving book.
Weaving book.
Weaving patterns.
Weaving patterns.

I though that It will be very easy to code and read the patterns as binary matrices of 0 and 1 and then make the code read the 1 as warp and the 0 as weft.

patterns.push([                         
  [0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0],
  [1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0],
  [0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1],
  [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0],
  [0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0],
  [1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0],
  [0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1],
  [1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0],
  [0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0],
  [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0],
  [0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1],
  [1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0]
]);

patterns.push([                         
  [0, 1],
  [1, 0]
]);

patterns.push([                         
  [0, 0, 0, 0, 1],
  [0, 0, 0, 1, 0],
  [0, 0, 1, 0, 0],
  [0, 1, 0, 0, 0],
  [1, 0, 0, 0, 0]
]);

patterns.push([                         
  [1, 0, 0, 0, 1],
  [0, 0, 1, 0, 0],
  [0, 0, 1, 0, 0],
  [0, 0, 1, 0, 0],
  [1, 0, 0, 0, 1]
]);

I selected some patterns from the book, some from traditional weaving, and then create some more by myself. I modified the patterns until I reached a good balance between tradition and something more contemporary. To mix the patterns together it's been used a grid of perlin noise, where depending on the value, a different pattern is picked. The code then unify the single squares in the longer blocks depending on the weaving.

Debug view of the code, showing a perlin noise flow field and the application of different woven patterns depending on the flow field.
Debug view of the code, showing a perlin noise flow field and the application of different woven patterns depending on the flow field.
Generated woven pattern.
Generated woven pattern.
Debug view of the different blocks that creates the weave.
Debug view of the different blocks that creates the weave.

I wanted this project not just to be a tool to generate mixtures of patterns, but to generate images that are finished artworks, so I though that it will be consistent with the idea of blending tradition with contemporary, to make them computer-painted. The idea is to make them realistic enough that at first glance they look almost like a photography of a fabric or embroidery, but at a second glance you start to see that is just an image, a raffiguration of something, and if you see closely, you see that is been painted. To do this, the flow field is been distorted to emulate a piece of cloth, and many brushes of color are applied with slightly different color brightness to emulate a threedimensional shading. I like the idea that looks like something real but then you realize that is not.

Morphed flow field.
Morphed flow field.
Final output.
Final output.
Detail of the painting.
Detail of the painting.

This collection mixes different modes and colors to create the outputs. The choice of colors and modes is been made, selecting from the possibilities tried, with the aim to create a variety of different pieces, each one that looks unique but consistent with the whole collection. The colors are inspired from nature and artificial colors, again to enchance the fact that in this collection are present and can cohexist two things that are usually though as opposites: natural/artificial, traditional/contemporary, photography/painting, 2d/3d, computer-generated/handmade, real/unreal.

project name project name project name

stay ahead with our newsletter

receive news on exclusive drops, releases, product updates, and more

feedback