(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 ====
=== 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]
 
 
 
=== Graphs and Networks ===
 
=== 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]]

Revision as of 09:12, 26 May 2016

Computing with Thread: Part I

Thread Geometry

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

We found out...

  • 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)

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 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

Observations

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

Questions raised

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

Homework

  • 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

Links

Geometry

Some links to classics of compass + straightedge geometry
as well as the thread-based geometry we explored in our class.

Lines

Ellipses

Compass and Straightedge

Kitspiration

Here are some links to all kinds of kits.
May they serve as inspiration for creating your own textile computing kits.

Educational Kits

Sewing Boxes

Tool Boxes

Portable Textile tools

Knots and Splices

Knot History

  • 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"

Knot Theory

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

Knot Classification Game

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

Homework

Create a nice framework for displaying knots.
The framework can be physical, graphical or computational in nature

Links

How are threads made?

Thread Games

Self-Assembly

Knotting

Unknotting with Force and Magic

Splicing

Knot Theory

Tie Knotting

Bondage

Knot Robot

Braids

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

Communication game

  • 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

Observations

  • 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

Sorting Braids

  • 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

Observations

  • 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

Links

Braiding

Sorting

Computational Complexity

Braiding + Card Weaving

Braiding Techniques

Braiding Tools

Rope Weaving

Books

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

Travelling Salesman Problem

Paths in Graphs

Sorting Networks

Tilings

Knitflatables

Random Networks