(recap braiding) |
(recap networks) |
||

Line 1: | Line 1: | ||

= Computing with Thread: Part I = | = Computing with Thread: Part I = | ||

− | |||

== Thread Geometry == | == Thread Geometry == | ||

− | |||

We explored what kind of geometric constructions we can do with thread, chalk and the help of several people... | We explored what kind of geometric constructions we can do with thread, chalk and the help of several people... | ||

− | |||

=== We found out... === | === We found out... === | ||

− | |||

* how to draw a line | * how to draw a line | ||

* how to draw a circle ( d = const.) | * how to draw a circle ( d = const.) | ||

Line 14: | Line 10: | ||

* how to measure the circumference of a circle | * how to measure the circumference of a circle | ||

* how to calcualte pi using only thread (See also [https://twitter.com/astonishedstag/status/720114478768070658 here]) | * how to calcualte pi using only thread (See also [https://twitter.com/astonishedstag/status/720114478768070658 here]) | ||

− | |||

=== 3D thread geometry === | === 3D thread geometry === | ||

− | |||

We explored how our thread-based drawing tools could be used to identify points on the surface of shapes in 3 dimensions. | We explored how our thread-based drawing tools could be used to identify points on the surface of shapes in 3 dimensions. | ||

− | |||

* We discovered the 3d ellipsoid (a + b = const.) | * We discovered the 3d ellipsoid (a + b = const.) | ||

* We found that multifocal 3d ellipsoids have a doughnut-topology. | * We found that multifocal 3d ellipsoids have a doughnut-topology. | ||

Line 24: | Line 17: | ||

** the polygon method, where the thread forms a polygon going through the focal points and the drawing point | ** the polygon method, where the thread forms a polygon going through the focal points and the drawing point | ||

** the star method where the thread is alternately visiting each focal point and the drawing point | ** the star method where the thread is alternately visiting each focal point and the drawing point | ||

− | |||

=== Observations === | === Observations === | ||

− | |||

* Geometric knowledge from school only got us so far ... | * Geometric knowledge from school only got us so far ... | ||

* There is a whole universe of "new" shapes and forms | * There is a whole universe of "new" shapes and forms | ||

− | |||

=== Questions raised === | === Questions raised === | ||

− | |||

* Questions regarding surface of different shapes popped up | * Questions regarding surface of different shapes popped up | ||

* We discussed different methods of measuring the surfaces using thread | * We discussed different methods of measuring the surfaces using thread | ||

− | |||

=== Homework === | === Homework === | ||

− | |||

* What could an Experimentier-Baukasten / a kit / a sandbox for computing with thread look like?<br>Do some research on other kinds of kits! | * What could an Experimentier-Baukasten / a kit / a sandbox for computing with thread look like?<br>Do some research on other kinds of kits! | ||

* Do some thread-based geometry at home. Pick a parameter such as the thread-length and vary it systematically | * Do some thread-based geometry at home. Pick a parameter such as the thread-length and vary it systematically | ||

* Document your thread-art in the wiki | * Document your thread-art in the wiki | ||

− | |||

=== Links === | === Links === | ||

=== Geometry === | === Geometry === | ||

Line 93: | Line 79: | ||

Create a nice framework for displaying knots.<br> | Create a nice framework for displaying knots.<br> | ||

The framework can be physical, graphical or computational in nature | The framework can be physical, graphical or computational in nature | ||

− | |||

=== Links === | === Links === | ||

==== How are threads made? ==== | ==== How are threads made? ==== | ||

Line 131: | Line 116: | ||

* [http://www.ritsumei.ac.jp/se/~hirai/research/linearobjectmanipulation-e.html Manipulation of Deformable Linear Objects] feat. [https://www.youtube.com/watch?v=UZfpFkIdhl0 Un-Knotting Bot] | * [http://www.ritsumei.ac.jp/se/~hirai/research/linearobjectmanipulation-e.html Manipulation of Deformable Linear Objects] feat. [https://www.youtube.com/watch?v=UZfpFkIdhl0 Un-Knotting Bot] | ||

* [http://ijr.sagepub.com/content/25/4/371.full.pdf Knotting/Unknotting: Manipulation of Deformable Linear Objects] | * [http://ijr.sagepub.com/content/25/4/371.full.pdf Knotting/Unknotting: Manipulation of Deformable Linear Objects] | ||

− | |||

== Braids == | == Braids == | ||

− | |||

In this class we identified the basic elements of braids, and explored the intersection of braiding and sorting algorithms. | In this class we identified the basic elements of braids, and explored the intersection of braiding and sorting algorithms. | ||

− | |||

=== Communication game === | === Communication game === | ||

− | |||

* We developed and discussed different notations for braiding | * We developed and discussed different notations for braiding | ||

* We played a game involving three persons | * We played a game involving three persons | ||

Line 143: | Line 124: | ||

** The second person describes the structure or construction of the braid using words only | ** The second person describes the structure or construction of the braid using words only | ||

** The third person recreates the braids accordingly | ** The third person recreates the braids accordingly | ||

− | |||

==== Observations ==== | ==== Observations ==== | ||

* There are different ways to describe the structure of a braid | * There are different ways to describe the structure of a braid | ||

Line 150: | Line 130: | ||

* Some instructions will not result in a braid | * Some instructions will not result in a braid | ||

* Some systems are simpler than others, but may not be universal in the sense that they can describe every possible braid | * Some systems are simpler than others, but may not be universal in the sense that they can describe every possible braid | ||

− | |||

=== Sorting Braids === | === Sorting Braids === | ||

* We discussed why sorting is an important topic in computer science | * We discussed why sorting is an important topic in computer science | ||

Line 156: | Line 135: | ||

* We re-enacted several sorting algorithms using threads and chalk | * We re-enacted several sorting algorithms using threads and chalk | ||

* We developed collaborative sorting algorithms resulting in braids | * We developed collaborative sorting algorithms resulting in braids | ||

− | |||

==== Observations ==== | ==== Observations ==== | ||

* Bubblesort is a fun collaborative activity | * Bubblesort is a fun collaborative activity | ||

Line 163: | Line 141: | ||

* If the mapping is bad the result may not be dense (no-ops vs crossings) | * If the mapping is bad the result may not be dense (no-ops vs crossings) | ||

* Sorting networks allow for parallel sorting / braiding | * Sorting networks allow for parallel sorting / braiding | ||

− | |||

− | |||

=== Links === | === Links === | ||

− | |||

==== Braiding ==== | ==== Braiding ==== | ||

* [https://www.flickr.com/photos/taffeta/8201660840/in/album-72157632050570535/ French Children's book] feat. Maypole Dance + Track Diagram | * [https://www.flickr.com/photos/taffeta/8201660840/in/album-72157632050570535/ French Children's book] feat. Maypole Dance + Track Diagram | ||

* [https://issuu.com/thepetflakesproject/docs/petflakesthebook Pet Flakes] Architecture inspired by Maypole braiding | * [https://issuu.com/thepetflakesproject/docs/petflakesthebook Pet Flakes] Architecture inspired by Maypole braiding | ||

* [http://weeklyweaves.blogspot.de/2014/08/bobbin-dancing-yan-tan-tethera-part-1.html Bobbin Dance] by Shane Waltener | * [http://weeklyweaves.blogspot.de/2014/08/bobbin-dancing-yan-tan-tethera-part-1.html Bobbin Dance] by Shane Waltener | ||

− | |||

==== Sorting ==== | ==== Sorting ==== | ||

* [https://www.youtube.com/watch?v=LOxfdsBBjKI Sorting Networks] by Computer Science Unplugged | * [https://www.youtube.com/watch?v=LOxfdsBBjKI Sorting Networks] by Computer Science Unplugged | ||

Line 179: | Line 153: | ||

* [https://www.youtube.com/watch?v=DFG-XuyPYUQ Insertion Sort] | * [https://www.youtube.com/watch?v=DFG-XuyPYUQ Insertion Sort] | ||

* [https://www.youtube.com/watch?v=aQiWF4E8flQ Quick Sort] | * [https://www.youtube.com/watch?v=aQiWF4E8flQ Quick Sort] | ||

− | + | ==== Computational Complexity ==== | |

+ | * [https://www.youtube.com/watch?v=-Eiw_-v__Vo Big-O-Notation] | ||

+ | * [http://bigocheatsheet.com/ Big-O-Cheatsheet] | ||

+ | * [https://xkcd.com/399/ XKCD Cartoon on TSP] | ||

+ | * [https://www.youtube.com/watch?v=YX40hbAHx3s P vs NP] | ||

==== Braiding + Card Weaving ==== | ==== Braiding + Card Weaving ==== | ||

* [https://www.cs.arizona.edu/patterns/weaving/topic_braiding.html Braiding] in Griswold's Weaving Archive | * [https://www.cs.arizona.edu/patterns/weaving/topic_braiding.html Braiding] in Griswold's Weaving Archive | ||

* [https://www.cs.arizona.edu/patterns/weaving/topic_tabletweaving.html Tablet Weaving] in Griswold's Weaving Archive | * [https://www.cs.arizona.edu/patterns/weaving/topic_tabletweaving.html Tablet Weaving] in Griswold's Weaving Archive | ||

− | |||

==== Braiding Techniques ==== | ==== Braiding Techniques ==== | ||

* [https://loopbraider.com/ Loop Braiding] | * [https://loopbraider.com/ Loop Braiding] | ||

* [https://www.schleich-s.com/en/US/horses/braiding-techniques/ Braiding Techniques] for horses | * [https://www.schleich-s.com/en/US/horses/braiding-techniques/ Braiding Techniques] for horses | ||

− | |||

==== Braiding Tools ==== | ==== Braiding Tools ==== | ||

* [http://craftdesignonline.com/ Online Braiding Tools] | * [http://craftdesignonline.com/ Online Braiding Tools] | ||

Line 193: | Line 169: | ||

* [http://www.guntram.co.za/tabletweaving/gtt.htm Guntram's Tablet Weaving Thingie] | * [http://www.guntram.co.za/tabletweaving/gtt.htm Guntram's Tablet Weaving Thingie] | ||

* [https://archive.org/details/AtariComputerDesignBandWeaving ATARI band weaving] book + disk | * [https://archive.org/details/AtariComputerDesignBandWeaving ATARI band weaving] book + disk | ||

− | |||

==== Rope Weaving ==== | ==== Rope Weaving ==== | ||

* [https://www.youtube.com/watch?v=uX9DJp_pfgM How to weave a Rope Mat] | * [https://www.youtube.com/watch?v=uX9DJp_pfgM How to weave a Rope Mat] | ||

* [https://www.youtube.com/watch?v=_VdOId9jmN8 Rope Weaving Clinic] | * [https://www.youtube.com/watch?v=_VdOId9jmN8 Rope Weaving Clinic] | ||

− | |||

=== Books === | === Books === | ||

− | |||

* Y. Kyosev, ''Braiding Technology for Textiles'', ISBN 978-0857091352 + [http://www.sciencedirect.com/science/book/9780857091352 ebook version] | * Y. Kyosev, ''Braiding Technology for Textiles'', ISBN 978-0857091352 + [http://www.sciencedirect.com/science/book/9780857091352 ebook version] | ||

− | |||

== Nets == | == Nets == | ||

− | + | In this class we had a look at graphs and networks, both in the textile and the social domain. | |

+ | === Network Analysis === | ||

+ | We had a look at knotted networks and discussed possible representations | ||

+ | * We discussed which properties of the textile net are important, and which properties can be abstracted away | ||

+ | * We looked at different ways of creating a network from single pieces of thread or a single continuous piece of thread | ||

+ | * We found that a graph representation may not be a suitable model for textile networks | ||

+ | ** If we care about the network structure, nodes of degree two (a node with two edges) may not be meaningful | ||

+ | ** However nodes of degree two could serve to represent a knots in a single thread | ||

+ | ** We could encode the distance between knots (weight of an edge) | ||

+ | ** If we follow a thread through the network, direction might play a role as well (directed edges) | ||

+ | === Network Construction === | ||

+ | We wondered how networks can be constructed from a single thread. | ||

+ | * We found that some networks can't possibly be constructed from a single thread | ||

+ | * We had a look at the Seven Bridges of Königsberg, and tried to figure out which conditions need to be met, to find a path that crosses all bridges exactly once (Eulerian path) | ||

+ | * We found there is a complementary graph for people who use a boat and try to cross under all bridges exactly once | ||

+ | * We learned about the classic problems of graph theory | ||

+ | ** Visiting each places / node exactly once in a single tour (Hamiltonian Path) | ||

+ | ** visiting each bridge / edge exactly once in a single tour (Eulerian Path) | ||

+ | ** The Travelling Salesman Problem (TSP) | ||

+ | === Regular Networks === | ||

+ | We explored various tilings, and the networks that result from their edges. | ||

+ | * We had a look at regular tilings of the plane, and the node degrees of the resulting networks | ||

+ | * We discussed which of the tilings can be turned into networks using a single continuous thread and how to do it | ||

+ | * We had a look at pentagonal tilings of the plane, and the kind of networks that they would yield | ||

+ | === Random Networks === | ||

+ | * We discussed how we can create networks in a random but controlled manner | ||

+ | ** Using a dice to randomly decide which knots to connect | ||

+ | ** Modify knotting probability based on the degree of a knot | ||

+ | * We learned about the history of small world and scale free networks and their properties | ||

+ | === Network Topology === | ||

+ | * We learned about graph embeddings, and that some graphs cannot be embedded in the flat plane without edges crossing | ||

+ | * Accordingly some networks cannot be laid out without threads crossing | ||

+ | * Networks may be filled with inflatables to create interesting 3D shapes. (see also: Knitflatables) | ||

+ | === Homework === | ||

+ | * Find personal, autobiographic or social relations, that are important to you | ||

+ | * Can you represent those as a knotted network? | ||

+ | * Consider the use of knotted networks to store and communicate the flow of resources, family relations etc. | ||

=== Links === | === Links === | ||

− | + | ==== Travelling Salesman Problem ==== | |

− | = | ||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | === Travelling Salesman Problem === | ||

* [https://www.youtube.com/watch?v=-cLsEHP0qt0 Travelling Salesman Problem] with Thread | * [https://www.youtube.com/watch?v=-cLsEHP0qt0 Travelling Salesman Problem] with Thread | ||

* [http://www.cgl.uwaterloo.ca/csk/projects/tsp/ TSP-Art] | * [http://www.cgl.uwaterloo.ca/csk/projects/tsp/ TSP-Art] | ||

* [http://blog.ninapaley.com/2013/08/30/the-traveling-horse-salesman/ TSP-Animation] | * [http://blog.ninapaley.com/2013/08/30/the-traveling-horse-salesman/ TSP-Animation] | ||

− | === Paths in Graphs === | + | ==== Paths in Graphs ==== |

* [[wikipedia:Eulerian_path|Eulerian Path]] | * [[wikipedia:Eulerian_path|Eulerian Path]] | ||

* [[wikipedia:Hamiltonian_path|Hamiltonian Path]] | * [[wikipedia:Hamiltonian_path|Hamiltonian Path]] | ||

− | === Sorting Networks === | + | ==== Sorting Networks ==== |

* [https://www.youtube.com/watch?v=LOxfdsBBjKI CS-Unplugged] | * [https://www.youtube.com/watch?v=LOxfdsBBjKI CS-Unplugged] | ||

* [[wikipedia:Sorting_network|Sorting Network]] | * [[wikipedia:Sorting_network|Sorting Network]] | ||

− | === Random Networks === | + | ==== Tilings ==== |

+ | * [[wikipedia:Euclidean_tilings_by_convex_regular_polygons|Tilings by Convex Regular Polygons]] | ||

+ | * [[wikipedia:Penrose_tiling|Penrose Tiling]] | ||

+ | ==== Knitflatables ==== | ||

+ | * [https://issuu.com/yuliya_baranovskaya/docs/knitflatables_ybaranovskaya_2310201 Knitflatable Architecture] | ||

+ | ==== Random Networks ==== | ||

* [[wikipedia:Random_graph|Random Graph]] | * [[wikipedia:Random_graph|Random Graph]] | ||

* [[wikipedia:Scale-free_network|Scale-free network]] | * [[wikipedia:Scale-free_network|Scale-free network]] | ||

* [[wikipedia:Small-world_network|Small-world network]] | * [[wikipedia:Small-world_network|Small-world network]] | ||

* [[wikipedia:Boolean_network|Boolean Network]] | * [[wikipedia:Boolean_network|Boolean Network]] |

- 1 Computing with Thread: Part I
- 1.1 Thread Geometry
- 1.2 Knots and Splices
- 1.3 Braids
- 1.4 Nets

We explored what kind of geometric constructions we can do with thread, chalk and the help of several people...

- how to draw a line
- how to draw a circle ( d = const.)
- how to draw an ellipse ( a + b = const.)
- how to draw multifocal ellipses (a + b + c = const.)
- how to draw egg-shaped curves (3 * a + b = const.)
- how to measure the circumference of a circle
- how to calcualte pi using only thread (See also here)

We explored how our thread-based drawing tools could be used to identify points on the surface of shapes in 3 dimensions.

- We discovered the 3d ellipsoid (a + b = const.)
- We found that multifocal 3d ellipsoids have a doughnut-topology.
- We found two different ways to create ellipsoid shapes:
- the polygon method, where the thread forms a polygon going through the focal points and the drawing point
- the star method where the thread is alternately visiting each focal point and the drawing point

- Geometric knowledge from school only got us so far ...
- There is a whole universe of "new" shapes and forms

- Questions regarding surface of different shapes popped up
- We discussed different methods of measuring the surfaces using thread

- What could an Experimentier-Baukasten / a kit / a sandbox for computing with thread look like?

Do some research on other kinds of kits! - Do some thread-based geometry at home. Pick a parameter such as the thread-length and vary it systematically
- Document your thread-art in the wiki

Some links to classics of compass + straightedge geometry

as well as the thread-based geometry we explored in our class.

- Tim Ingold:
*Lines: a brief history*, ISBN 978-0415424271 (hint: google it) - Kandisky:
*Punkt und Linie zu Fläche*

- Ellipse on Wikipedia
- Multifocal oval curves on Wikipedia
- On the description of oval curves by James Clerk Maxwell
- Semidefinite Representation of the k-Ellipse

- Compass and straightedge construction on Wikipedia
- Byrne's version of Euclid's elements using coloured shapes (very bauhaus)
- 3D Sculptures by Helen Friel

Here are some links to all kinds of kits.

May they serve as inspiration for creating your own textile computing kits.

- Anker-Steinbaukasten
- LECTRON Elektrobaukasten
- LEGO, KNEX, LEGO-Mindstorms ...

- Sewing Box with Implements
- Sewing Box Cabinet by Kiki van Eijk

- Survival Kit
- Dentist Toolkit
- Pictures of surgical sets and tool boxes

- The Charkha (spinning)
- Hexagonal Weaving loom (hexagonal weaving)
- Tablet Weaving (weaving/braiding)
- How to make a Kumihimo Disk out of a CD (braiding)

- various knot books online and offline
- We learned how ropes are made in a "Seilerei" on the "Reeperbahn"
- We learned about a rope inspection machine, that travels along a the cable of a "Seilbahn"

- We learned the basics of knot theory
- Minimum number of crossings
- Knot-Invariants and Knot-Polynomials

We played a knot identification game.

It goes like this:

- Student A creates two knots using thread.
- Student B tries to figure out whether or not the two knots are the same

Create a nice framework for displaying knots.

The framework can be physical, graphical or computational in nature

- Teslaphoresis (self-assembly of threads)
- Spontaneous Patterns in vibrated Ball Chains: Knots and Spirals

- History and Science of Knots
- Animated Online Encyclopedia of Knots
- Encylopedia of Knots and Fancy Rope Work ISBN 978-0870330216

- Gordian Knot (mythology)
- Harry Houdini (magician)
- Abbot's encylopedia of rope tricks for Magicians ISBN 978-0486232065
- Self-Working Rope Magic: 70 Foolproof Tricks ISBN 978-0486265414
- Seil-Salabim

- Splicing Animated.

- Knot Theory Videos by Numberphile
- How Mathematics gets into Knots
- Alexei Sossinsky,
*Mathematik der Knoten: Wie eine Theorie entsteht*, ISBN 978-3499609305 - The Knot Atlas
- Historic Knot Tables

- Hojōjutsu japanese martial arts technique
- Shibari arte documentary on japanese bondage
- Go get knotted a blog to learn bondage knots
- Enchanted Forest photo series by Garth Knight

- Manipulation of Deformable Linear Objects feat. Un-Knotting Bot
- Knotting/Unknotting: Manipulation of Deformable Linear Objects

In this class we identified the basic elements of braids, and explored the intersection of braiding and sorting algorithms.

- We developed and discussed different notations for braiding
- We played a game involving three persons
- The first person creates a braid
- The second person describes the structure or construction of the braid using words only
- The third person recreates the braids accordingly

- There are different ways to describe the structure of a braid
- structure vs construction
- position-based vs thread-based

- Some instructions will not result in a braid
- Some systems are simpler than others, but may not be universal in the sense that they can describe every possible braid

- We discussed why sorting is an important topic in computer science
- We got to know the concept of computational complexity and the big-o notation
- We re-enacted several sorting algorithms using threads and chalk
- We developed collaborative sorting algorithms resulting in braids

- Bubblesort is a fun collaborative activity
- The mapping from sorting operations to operations of textile construction is important
- If the mapping is bad the result may not be a stable (overs and unders)
- If the mapping is bad the result may not be dense (no-ops vs crossings)
- Sorting networks allow for parallel sorting / braiding

- French Children's book feat. Maypole Dance + Track Diagram
- Pet Flakes Architecture inspired by Maypole braiding
- Bobbin Dance by Shane Waltener

- Sorting Networks by Computer Science Unplugged
- Bubble Sort as hungarian folk dance
- Bubble Sort
- Merge Sort
- Insertion Sort
- Quick Sort

- Braiding in Griswold's Weaving Archive
- Tablet Weaving in Griswold's Weaving Archive

- Loop Braiding
- Braiding Techniques for horses

- Online Braiding Tools
- Bead Crochet Software
- Guntram's Tablet Weaving Thingie
- ATARI band weaving book + disk

- Y. Kyosev,
*Braiding Technology for Textiles*, ISBN 978-0857091352 + ebook version

In this class we had a look at graphs and networks, both in the textile and the social domain.

We had a look at knotted networks and discussed possible representations

- We discussed which properties of the textile net are important, and which properties can be abstracted away
- We looked at different ways of creating a network from single pieces of thread or a single continuous piece of thread
- We found that a graph representation may not be a suitable model for textile networks
- If we care about the network structure, nodes of degree two (a node with two edges) may not be meaningful
- However nodes of degree two could serve to represent a knots in a single thread
- We could encode the distance between knots (weight of an edge)
- If we follow a thread through the network, direction might play a role as well (directed edges)

We wondered how networks can be constructed from a single thread.

- We found that some networks can't possibly be constructed from a single thread
- We had a look at the Seven Bridges of Königsberg, and tried to figure out which conditions need to be met, to find a path that crosses all bridges exactly once (Eulerian path)
- We found there is a complementary graph for people who use a boat and try to cross under all bridges exactly once
- We learned about the classic problems of graph theory
- Visiting each places / node exactly once in a single tour (Hamiltonian Path)
- visiting each bridge / edge exactly once in a single tour (Eulerian Path)
- The Travelling Salesman Problem (TSP)

We explored various tilings, and the networks that result from their edges.

- We had a look at regular tilings of the plane, and the node degrees of the resulting networks
- We discussed which of the tilings can be turned into networks using a single continuous thread and how to do it
- We had a look at pentagonal tilings of the plane, and the kind of networks that they would yield

- We discussed how we can create networks in a random but controlled manner
- Using a dice to randomly decide which knots to connect
- Modify knotting probability based on the degree of a knot

- We learned about the history of small world and scale free networks and their properties

- We learned about graph embeddings, and that some graphs cannot be embedded in the flat plane without edges crossing
- Accordingly some networks cannot be laid out without threads crossing
- Networks may be filled with inflatables to create interesting 3D shapes. (see also: Knitflatables)

- Find personal, autobiographic or social relations, that are important to you
- Can you represent those as a knotted network?
- Consider the use of knotted networks to store and communicate the flow of resources, family relations etc.

- Travelling Salesman Problem with Thread
- TSP-Art
- TSP-Animation