91
edits
(24 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
My repo is [https://github.com/FairyCup/Principia-Textilica-Course here]. | My repo is [https://github.com/FairyCup/Principia-Textilica-Course here]. | ||
= | = "Complex Community and Destructive Craft"= | ||
=== Principia Textilica : Project Documentation === | |||
= Principia Textilica = | |||
== Context == | == Context == | ||
Line 182: | Line 181: | ||
The following images show the different outcomes for variations of the parameters. On the left you see the connections between related fish, on the right there are their movement traces (actual paths). | The following images show the different outcomes for variations of the parameters. On the left you see the connections between related fish, on the right there are their movement traces (actual paths). | ||
<gallery widths= | <gallery perrow=6 widths=200px heights=200px mode="packed-overlay" caption="Variations of “privateRadius”"> | ||
Image:img_18-3-15-33-11.png|privateRadius = 20 | Image:img_18-3-15-33-11.png|privateRadius = 20 | ||
Image:img_18-3-15-37-43.png|privateRadius = 30(default) | Image:img_18-3-15-37-43.png|privateRadius = 30(default) | ||
Line 189: | Line 188: | ||
</gallery> | </gallery> | ||
<gallery widths= | <gallery perrow=6 widths=200px heights=200px mode="packed-overlay"> | ||
Image:tank_privateRadius_trace_18-3-15-33-11_1.png|privateRadius = 20 | Image:tank_privateRadius_trace_18-3-15-33-11_1.png|privateRadius = 20 | ||
Image:tank_default_trace_18-3-15-37-43_1.png|privateRadius = 30(default) | Image:tank_default_trace_18-3-15-37-43_1.png|privateRadius = 30(default) | ||
Image:tank_privateRadius_trace_18-3-15-34-9_1.png|privateRadius = 40 | Image:tank_privateRadius_trace_18-3-15-34-9_1.png|privateRadius = 40 | ||
Image:tank_privateRadius_trace_18-3-15-35-1_1.png|privateRadius = 50 | Image:tank_privateRadius_trace_18-3-15-35-1_1.png|privateRadius = 50 | ||
</gallery> | |||
<gallery perrow=6 widths=200px heights=200px mode="packed-overlay" caption="Variations of “companyRadius”"> | |||
Image:img_18-3-15-30-2.png|companyRadius = 50 | |||
Image:img_18-3-15-37-43.png|companyRadius = 70(default) | |||
Image:img_18-3-15-30-53.png|companyRadius = 90 | |||
Image:img_18-3-15-31-57.png|companyRadius = 120 | |||
</gallery> | </gallery> | ||
=== | <gallery perrow=6 widths=200px heights=200px mode="packed-overlay"> | ||
Image:tank_companyRadius_trace_18-3-15-30-2_1.png|companyRadius = 50 | |||
Image:tank_default_trace_18-3-15-37-43_1.png|companyRadius = 70(default) | |||
Image:tank_companyRadius_trace_18-3-15-30-53_1.png|companyRadius = 90 | |||
Image:tank_companyRadius_trace_18-3-15-31-57_1.png|companyRadius = 120 | |||
</gallery> | |||
<gallery perrow=6 widths=200px heights=200px mode="packed-overlay" caption="Variations of “interpolationSpeed”"> | |||
Image:img_18-3-15-24-36.png|interpolationSpeed = 50 | |||
Image:img_18-3-15-37-43.png|interpolationSpeed = 100(default) | |||
Image:img_18-3-15-25-27.png|interpolationSpeed = 150 | |||
Image:img_18-3-15-26-31.png|interpolationSpeed = 200 | |||
Image:img_18-3-15-27-26.png|interpolationSpeed = 250 | |||
Image:img_18-3-15-28-27.png|interpolationSpeed = 350 | |||
</gallery> | |||
<gallery perrow=6 widths=200px heights=200px mode="packed-overlay"> | |||
Image:tank_interpolationSpeed_trace_18-3-15-24-36_1.png|interpolationSpeed = 50 | |||
Image:tank_default_trace_18-3-15-37-43_1.png|interpolationSpeed = 100(default) | |||
Image:tank_interpolationSpeed_trace_18-3-15-25-27_1.png|interpolationSpeed = 150 | |||
Image:tank_interpolationSpeed_trace_18-3-15-26-31_1.png|interpolationSpeed = 200 | |||
Image:tank_interpolationSpeed_trace_18-3-15-27-26_1.png|interpolationSpeed = 250 | |||
Image:tank_interpolationSpeed_trace_18-3-15-28-27_1.png|interpolationSpeed = 350 | |||
</gallery> | |||
<gallery perrow=6 widths=200px heights=200px mode="packed-overlay" caption="Variations of “timetoSpawn”"> | |||
Image:img_18-3-15-21-0.png|timetoSpawn = 3000 | |||
Image:img_18-3-15-21-37.png|timetoSpawn = 4000 | |||
Image:img_18-3-15-22-17.png|timetoSpawn = 5000 | |||
Image:img_18-3-15-37-43.png|timetoSpawn = 6000(default) | |||
Image:img_18-3-15-23-3.png|timetoSpawn = 8000 | |||
</gallery> | |||
<gallery perrow=6 widths=200px heights=200px mode="packed-overlay"> | |||
Image:tank_timeToSpawn_trace_18-3-15-21-0_1.png|timetoSpawn = 3000 | |||
Image:tank_timeToSpawn_trace_18-3-15-21-37_1.png|timetoSpawn = 4000 | |||
Image:tank_timeToSpawn_trace_18-3-15-22-17_1.png|timetoSpawn = 5000 | |||
Image:tank_default_trace_18-3-15-37-43_1.png|timetoSpawn = 6000(default) | |||
Image:tank_timeToSpawn_trace_18-3-15-23-3_1.png|timetoSpawn = 8000 | |||
</gallery> | |||
<gallery perrow=06 widths=200px heights=200px mode="packed-overlay" caption="Variations of “spawnAnglesDegree”"> | |||
Image:img_18-3-15-11-3.png|spawnAnglesDegree = +/-0 | |||
Image:img_18-3-15-14-31.png|spawnAnglesDegree = +/-20 | |||
Image:img_18-3-15-15-25.png|spawnAnglesDegree = +/-45 | |||
Image:img_18-3-15-17-32.png|spawnAnglesDegree = +/-90 | |||
Image:img_18-3-15-37-43.png|spawnAnglesDegree = +/-135(default) | |||
Image:img_18-3-15-19-23.png|spawnAnglesDegree = +/-180 | |||
</gallery> | |||
<gallery perrow=6 widths=200px heights=200px mode="packed-overlay"> | |||
Image:tank_spawnAnglesDegree_trace_18-3-15-11-3_1.png|spawnAnglesDegree = +/-0 | |||
=== | Image:tank_spawnAnglesDegree_trace_18-3-15-14-31_1.png|spawnAnglesDegree = +/-20 | ||
Image:tank_spawnAnglesDegree_trace_18-3-15-15-25_1.png|spawnAnglesDegree = +/-45 | |||
Image:tank_spawnAnglesDegree_trace_18-3-15-17-32_1.png|spawnAnglesDegree = +/-90 | |||
Image:tank_default_trace_18-3-15-37-43_1.png|spawnAnglesDegree = +/-135(default) | |||
Image:tank_spawnAnglesDegree_trace_18-3-15-19-23_1.png|spawnAnglesDegree = +/-180 | |||
</gallery> | |||
= Textile Implementation = | = Textile Implementation = | ||
Line 304: | Line 281: | ||
=== Method and Tools === | === Method and Tools === | ||
Below is the first part of the used log-file. | |||
<pre>tank cx,cy,radius: 300.0 300.0 300.0 | <pre>tank cx,cy,radius: 300.0 300.0 300.0 | ||
Line 337: | Line 307: | ||
6 g:2 died 474.91296 301.06262 : 222 140 c: 13 14 | 6 g:2 died 474.91296 301.06262 : 222 140 c: 13 14 | ||
...</pre> | ...</pre> | ||
<gallery perrow=6 widths=250px heights=250px mode="packed-overlay" caption="Used template"> | |||
Image:img_17-3-10-2-8.png|Connection lines between (dead) fish of 7 generations | |||
Image:tankA_trace_17-3-10-2-8_1.png|Traces of the movement of the fish while living | |||
</gallery> | |||
For my first practical trial run I use evenweave with approximately 2mm per unit. | |||
To limit the size I scale down the computed positions to fit a 100 by 100 grid (resulting in appr. 20cm by 20cm for the finished piece). The yellow thread is used as a counting help. | |||
Because my generations of fish are based on the number 2, I also need thread based on number 2. So I use cotton wool threads each already containing 8 (=2^3) sub-threads when feazed.<br />To be able to manage the threads and associate them with one fish id I simply attach some paper to the string groups. The positions are directly read from the text in the log file. | |||
<gallery perrow=6 widths=450px heights=250px mode="packed-overlay" caption="Used material"> | |||
Image:stoffraster.png|Base material as canvas | |||
Image:fadendetail.png|Applied cotton wool | |||
</gallery> | |||
[[Image:frontback.png|400x450px|left|trial1]]Total view of the experiment and details on the back. For 7 generations of fish, each having 2 children I need 2^7 threads (128). Using the 2^3 cotton strings, I need 16 strings in total - which is quite thick. Fitting it through one "grid point" compromises the accuracy of the grid physically, so I will dilute the positions for the first maybe also for the second generation of fish. The starting point for the fish is 50/50. After dividing the thick 16-strings-cord into 4 subcords with 4 strings each, the starting points are 51/50, 49/50, 50/49, 50/51. | |||
=== Result === | === Result === | ||
The left of | The left of the image above shows the state of the first experiment when it is apparent I am not getting anywhere near to what I wanted. One reason is a simple mistake in determining the thread count: For 7 generations I actually would only have needed 2^6 instead of 2^7 single threads in the end, because I forgot to start counting at 2^0. This would have reduced the thickness of the starting thread by half and also changed the appearance significantly.<br />A more serious problem for me is that the visual outcome is somehow off. Maybe I chose the evenweave’s units too large or the wrong color, but most importantly the intermediate result does not have the properties I expected it to have: it is neither 2D nor 3D, neither are the threads stiff and straight enough for the connections of the fish nor do they show the actual movement of a fish during its life cycle. This first piece is an unsatisfying accumulation of imprecise craftsmanship, so I have to find other possibilities to work with the pattern in the material world. | ||
== Textile Piece II == | == Textile Piece II == | ||
Line 353: | Line 335: | ||
Unlike techniques such as stitching or weaving where the interaction between up and down movements is crucial, the destruction concept I want to explore is independent from that. That means I need a more robust canvas. I use a non-textile base, namely a semi-see-through PVC sheet. Although it is possible to cut holes in the PVC for guiding the threads, as said before, this would artificially add something to the concept that does not belong to it. Instead, a hot glue gun is used to fixate the splitting points and keep the strings neatly in place. Pieces of a series can be stacked and the viewer can easily compare the different layouts of the strings. | Unlike techniques such as stitching or weaving where the interaction between up and down movements is crucial, the destruction concept I want to explore is independent from that. That means I need a more robust canvas. I use a non-textile base, namely a semi-see-through PVC sheet. Although it is possible to cut holes in the PVC for guiding the threads, as said before, this would artificially add something to the concept that does not belong to it. Instead, a hot glue gun is used to fixate the splitting points and keep the strings neatly in place. Pieces of a series can be stacked and the viewer can easily compare the different layouts of the strings. | ||
For the threads I use the same type of cotton wool as with experiment number one (in white instead of blue), but only 6 generations, meaning | For the threads I use the same type of cotton wool as with experiment number one (in white instead of blue), but only 6 generations, meaning 2^5 = 32 sub-threads which equals 4 of the normal threads. The wool is hand-dyed to achieve a color gradient from dark blue to green to yellow to white, which aids the visual understanding of distinct generations. The dyeing process makes it more difficult to feaze the threads. | ||
=== Result === | === Result === | ||
<gallery perrow=6 widths=300px heights=200px caption="Finished piece"> | |||
Image:texpiece1.png|total | |||
Image:texpiece1detail.png|detail | |||
</gallery> | |||
There are four templates for the finished pieces, including the default setting, the privateRadius = 50 setting, the interpolationSpeed = 350 setting and the timetoSpawn = 3000 setting. | |||
I am satisfied with the result, as it fulfills the goals I set before. There are definitely alternatives for the fixation method, but at this point the glue dots, which are quite visible despite being transparent, act as subtle placeholder for the fish bodies. Additionally, while working with the threads, some aspects emerged that I did not actively take into account in the planning phase. The first is the overlapping of the threads, naturally falling into place if the correct order of the fish births and deaths is maintained. The second is the color imperfection as a result of the (amateur) hand-dyeing. The dye did not touch any fibers below the surface of the initially whole thread, as a consequence the feazed threads partly stayed white. Both aspects fit beautifully into the whole concept, the latter one especially adds another element to the destructive dimension. | |||
= Conclusion = | = Conclusion = | ||
We see crafting usually as a process of creation, building, fixing and making. But most crafting techniques have destructive aspects in between: we cut fabric into pieces before sewing and we remove excess threads when knitting. I started with an artificial, minimal life form, that moves, gives birth and dies and interacts with the other life forms in a complex way, based on a set of simple rules. I explored variations of the rules and observed changes in the complex behaviour of the life forms, developping both expected and surprising features as outcome. Then I turned its heritage into a destructive textile piece, where I consciously nullified the effort of making a thread from several fibres, by feazing and dissecting it. | We see crafting usually as a process of creation, building, fixing and making. But most crafting techniques have destructive aspects in between: we cut fabric into pieces before sewing and we remove excess threads when knitting. I started with an artificial, minimal life form, that moves, gives birth and dies and interacts with the other life forms in a complex way, based on a set of simple rules. I explored variations of the rules and observed changes in the complex behaviour of the life forms, developping both expected and surprising features as outcome. Then I turned its heritage into a destructive textile piece, where I consciously nullified the effort of making a thread from several fibres, by feazing and dissecting it. | ||
<references /> | <references /> |
edits