A collection of generative weavings by Annie Blazejack, Peter Boyer, Geddes Levenson, and Alex Rubinsteyn

Woven fabric emerges from a series of binary choices as horizontal threads go over or under vertical threads. These decisions are systematic, giving rise to an infinite variety of patterns.

In essence, weaving is a practice of meticulous matrix multiplication calculated in threads.

We construct each Perpetua image, just like many weavers do, as the product of three binary matrices (the “treadling”, “tie-up”, and “threading”). This kind of design schematic is called a weaving draft and it allows us to converse with traditional weaving patterns and symbols while also extending into alien weavings that would be physically impossible to produce. 

Our project grounds computational generative art in this historical arc: 

  1. Weavers throughout history have designed generative art

  2. Weavers invented proto-computational weaving machines

  3. Weaving machines inspired modern computers

  4. Modern computer programs design weavings

 

Collect

An edition of 320 Perpetua outputs was released on the ArtBlocks platform on March 24th, 2022. Get yours on OpenSea.

The weaving generator has four 'Archetypes,' which are four different tunings of the algorithm to produce distinct kinds of images. Each archetype was devised by a different member of our four member collective.

Hypnos weavings are dense and luxurious, with intricate, psychedelic repetitions. The threading and treadling patterns are long and sinuous spline strolls, lazy random walks, Laplace and Gauss curves.

Mythos weavings use pictorial tie-ups, matrices of zeroes and ones that you can see as ascii illustrations if you inspect our source code. These images interact with our generative process to fuel a huge range of outputs, most of which are unrecognizable mutations of their source, but sometimes you’ll see something you recognize.

Maze weavings are created with a generative tie-up, a kind of project-within-a-project that creates mazes.

Control weavings sometimes look more traditional, with grids and plaids. Like maze, Control has a generative tie-up, cellular automata Rule 54. Control will generate the perfect wallpaper to decorate a mission control room in a Soviet sci-fi novel written in 1950 but set in 2050.

Weaving is the interlacing of vertical (warp) and horizontal (weft) threads.

A loom holds warp threads in tension so that a weaver can lift and lower them in different combinations.

The temporary space created between raised and lowered warp threads is called a shed. You can just - whoosh - shuttle your weft thread through that shed, tighten it up against all your previously woven rows, and move along.

Most mechanical looms have four or eight or some other number of Harnesses (also called shafts) that can lift and lower groups of warp threads. Imagine we have two harnesses, and we alternate threading between them. One shaft lifts all the even numbered threads, and the other lifts the odds. As we add more harnesses, the possible shed combinations we have to choose from expands very quickly.

Each Perpetua image is formed from a computationally generated “weaving draft”. This notation describes precisely how a loom is configured along with the series of steps that must be applied to produce a weaving.

A weaving draft looks like this. The three matrices are called the Threading (top bar), the Tie-up (upper right corner), and the Treadling (right side column). The bottom left part of the image is called the Drawdown, and that’s a kind of preview of what your weaving will look like.

The threading matrix describes which warp threads should be threaded through each harness.

Each thread must pass through just one heddle on one harness, so each column of the tie-up needs to have a 1 in exactly one row, and all the other rows of that column are zeroes.

The treadling matrix describes the route each weft thread will take as it passes over and under warp threads. Put differently,

The treadling matrix is instructions about the order in which a weaver should press floor pedals to raise different harnesses.

Floor looms have pedals that allow the weaver to lift and lower various combinations of harnesses (groups of warp threads.) 

The tie-up matrix describes which harnesses should be lifted by each pedal.

It  has a row for every harness and a column for every pedal. 

Each pedal is tied to multiple harnesses, and multiple pedals can lift the same harness.

The tie-up matrices in our weaving drafts sometimes contain embedded illustrations. (You can see them when you look at our code as a big zoomed-out block.) These images interact with our generative process to fuel a huge range of outputs, most of which are unrecognizable mutations of their source, but sometimes you’ll see something you recognize.

The Four Illustrated Tie-Ups:

  • Spiders are the original weavers, and perhaps the cleverest. Many cultures from around the world have spider-weaver myths.

  • A snake is a line like a thread. A snake’s path follows a weaver’s shuttle: undulating under and over warp threads.

  • The moon is often a symbol for femininity, cycles and tides. Weaving attains its beauty and strength from repeated motions, repeating patterns.

  • Waves are vast and timeless and seamlessly connected to all other waves. 

The Four Generated Tie-ups:

  • Twill creates repeating patterns that are offset by a consistent number of threads in every row.

  • Random Bits instructs every loom pedal to lift a different combination of about half the harnesses.

  • Rule 54 is a cellular automaton. It starts with a sprinkling of ‘seed’ cells that affect neighboring grid cells according to a set of iterative rules.

  • Maze is a little program that generates mazes.

An Origin Story of Computers 

To weave is to make a series of choices about whether a horizontal weft thread goes over or under a vertical warp thread. This simple over/under question makes weavers the original algorithm nerds, testing every possible combination of on/off, 0/1. Weavers invented a binary language and they continue to explore the complex possibilities that arise from it, insisting upon patterns so dense and intricate that new machines were invented to make them. 

The first proto-computers were jacquard looms in the early 1800s programmed with punch cards to weave intricately patterned fabrics. With a Jacquard loom, the color and path of every thread is individually controlled and therefore any image can be woven. These looms mechanize a weaving process that would otherwise be stupidly laborious, allowing weavers to design and mass-produce complex patterns and images. 

But once you can weave any possible image, the essence of what makes something a good weaving - as opposed to just a good image that happens to be woven - gets muddied.

We’re interested in swapping roles: In our project, the computer is generating the design, but the design is made for a multi-shaft loom, and the actual weaving could be completed with a human body and pre-computer tools. That way, we set a natural limitation about what kind of patterns and designs belong within the realm of weaving.

What Makes A “Good” Weaving

 If we can encode almost any image into a weaving draft, how do we choose which images to make? Which are the “good” weavings?

Here are a few of our guidelines:

  1. Timeless - How does this design relate visually to both ancient weaving tradition and the current NFT aesthetic sensibility and also conjure up some kind of alien future?

  2. Subversive - Weavings are grids. A weaving design is made from specific over-or-under decisions for each cartesian intersection. How can weaving break the grid despite this constraint? How does it deploy elements like curves, diagonal repetitions, or extreme changes in scale?

  3. Weaveable - Can this image be woven by a human being with a non-computerized loom? (Even if it would take a really, really long time and an absurdly big loom?)

  4. Textured - Does the image make you want to run your fingertips gently across your computer screen?

  5. Memorable - Is there something about the image that sticks in your brain? If it is too chaotic, our minds won’t wrap around it. Anni Albers weighs in: “Intricacy and complexity are not, to my mind, high developments. Simplicity, rather, which is condensation, is the aim and the goal for which we should be heading. Simplicity is not simpleness but clarified vision - the reverse of the popular estimate.”

Weaving and Myths

 An origin story of weavers: Before weavers were women, they were spiders.

 Weavers spun and dyed and wove ancient fibers too frangible to survive through the millenia. These cloths protected our ancient ancestors from the sun, carried their food, strained their water, maybe even recorded their stories. It’s no wonder that woven fabric can be an evocative metaphor for many things:

Want to tell a story? You might “spin a yarn” or “weave a tale”. 

The three Greek Fates spin and cut the threads of destiny.

Norse Norns also weave threads to decide our fate:

Mightily wove they / the web of fate,

While Bralund's towns / were trembling all;

And there the golden / threads they wove,

And in the moon's hall / fast they made them. 

Even the interNET uses weaving as a metaphor to describe interconnection. 

Woven cloth is often used as a metaphor for communal strength - while each individual thread is fragile, when enough threads are woven together, they create strong fabric. This strength is non-hierarchical, no threads contribute more or less to the fabric’s overall durability.

It is elegant to return our computational powers to the very ancient problem of weaving. We are completing a cycle. Perhaps we are honoring the Fates, and our Ancestors, and Ariadne, and Spiders.

Weavers We Love

@knart Kate Nartker https://www.katenartker.com/

@weavingxcoding Weaving X Coding https://weavingxcoding.studio/

@penlandtextiles https://penland.org/workshops/textiles/

@marthaclippinger https://www.marthaclippinger.com/

@victoriamanganiello https://www.victoriamanganiello.com/

@alexandrakehayoglou https://alexandrakehayoglou.com/

@londonclothco https://london-cloth.com/

@anna.lucia.codes https://twitter.com/annaluciacodes

@deedsweaves https://www.diedrickbrackens.com/

@erinmriley https://erinmriley.com/

@jovenciodelapaz https://jovenciodelapaz.org/home

@praxisfiberworkshop https://praxisfiberworkshop.com/

@terrifriedman_studio http://www.terrifriedman.com/