How the pattern matrix prototype works
Since May, the first prototype of the pattern matrix is at work in our laboratory at the Museum for Plaster Casts at Königsplatz in Munich. Dave Griffiths already is working on enhancements that resulted from our first experiments with this digital tool for simulating weaving in structure as well as pattern. With this post, I demonstrate how the matrix works by explaining the setup and basic construction and presenting some examples.
The foldable aluminium frame carries 25 sensors organized in 5 rows and 5 columns. For each row a (selfmade) controller detects the hall effect of magnets that are later applied to the grid by putting wooden blocks or tokens on top. The sensor boards can read and store this information that is then used by a raspberry Pi also attached to the frame. The Pi boots as soon as it is connected to power supply. Keyboard and mouse are not necessary.
The Pi driver for the AVR boards (the microcontrollers for the hall sensors) is written in Python while the graphics simulation uses Scheme.
The pattern matrix is now connected to a display via VGA adaptor (HDMI connection is also possible). Although a mouse is not necessary to run the Pi, in this case I tried to prevent the screensaver to turn on by moving the mouse, but that did not work. So the code disappears after a while. However, the simulation of the weave is not affected by the screensaver mode.
On the left side of the table you can see the tokens or blocks for the pattern representation being piled up. They are made of wood, contain magnets, and have a light and a dark side. When turned around, the hall sensor sends a signal to the Raspberry Pi.
Here you can see the first setup with all dark sides of the tokens facing upwards. For the weave simulation, this means that each warp thread is lifted along each pick of weft. As the warp threads are all white and the weft is blue, all blue threads now are behind the white warp. This obviously gives no fabric and in the long run we want the Pi to signal an error in cases where a thread is not integrated at any point of the fabric.
We can now start to design weave structures by turning blocks and thus making the warp go under the weft.
So let us turn every other token for indicating a weaving structure like tabby, which is the simplest one where the warp thread only crosses under and over and under and over the warp. But when we use a 5×5 grid for doing this, the result is not the usual tabby but a pattern that mixes tabby with elements of basket weave. This is because the repeat of the tabby needs to use an even number of threads to continue correctly. When the thread number is odd, like 5 in our case, the repeat goes under, over, under, over, under and then under again which results in the structure we see in the simulation.
We need a possibility to restrict the grid to 4×4 threads.
Actually for a tabby a 2×2 matrix would be sufficient but most basic weaves are better off with a 4×4 grid. On the pattern matrix, we can neutralize the fifths column and row by turning all tokens there with dark side face up. Then we see the usual tabby structure appearing.
For viewing and controlling the structure, it is convenient to use all white warp and blue weft threads. However, if we want to explore the patterns that result from interferences of color and structure (so called color effect patterns) we need to have a possibility of changing the color order in warp and/or weft.
Of course this can be done by programming, but we wanted to have this integrated in the block idea so that it was possible to change color by using tokens.
This we acieve by using a color block that contains 4 magnets (and thus 4 sensors on the respective AVR board to read them). The color block is placed in the bottom right corner of the pattern matrix and can change the thread colors to blue weft/white warp (B/W); alternating blue and white threads in weft and warp (BW/BW), alternating blue and white beginning with blue in warp and white in weft (WB/BW) and so on.
The matrix is our first prototype and we realize that we need to think about the best way of standardization of such codes. Contrary to this example, it is more suitable to begin color indication with the warp yarn which comes alsways first in the weavers mind.
In the example on the left that gives horizontal stripes when applied to simple tabby we used the BW/BW position of the color block or token. The WB/BW position would instead generate vertical stripes.
On the left image above, you see a simulation for another basic weave, the 2/2 twill, arranged on a 4×4 grid with color set to B/W.
We can change the structure while the weave simulation is running. On the right we coded a basket weave immediately after the twill simulation. Basket weave is characterized by going over and under 2 warp threads for two rows and then under and over 2 for another two rows which gives the characteristic squares. One could also say that it is a tabby with two threads instead of one.
>Changing the color order in a basket weave results in interesting patterns. On the left you see the effect of BW/BW order and on the right, where WB/BW is coded, the “staircase” turns to the opposite direction without changing the structure of the weave. A change to BB/BW gives the pattern you see in the left image below.
The right picture shows a trial to weave a diamond in the 5×5 grid. But this again does not work out with the repeat and becomes quite circular a result.
Here follow some additional possibilities for structural patterns, meaning that they employ the “default” color setting (W/B).