(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]] |
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
- Tim Ingold: Lines: a brief history, ISBN 978-0415424271 (hint: google it)
- Kandisky: Punkt und Linie zu Fläche
Ellipses
- 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
- Compass and straightedge construction on Wikipedia
- Byrne's version of Euclid's elements using coloured shapes (very bauhaus)
- 3D Sculptures by Helen Friel
Kitspiration
Here are some links to all kinds of kits.
May they serve as inspiration for creating your own textile computing kits.
Educational Kits
- Anker-Steinbaukasten
- LECTRON Elektrobaukasten
- LEGO, KNEX, LEGO-Mindstorms ...
Sewing Boxes
- Sewing Box with Implements
- Sewing Box Cabinet by Kiki van Eijk
Tool Boxes
- Survival Kit
- Dentist Toolkit
- Pictures of surgical sets and tool boxes
Portable Textile tools
- The Charkha (spinning)
- Hexagonal Weaving loom (hexagonal weaving)
- Tablet Weaving (weaving/braiding)
- How to make a Kumihimo Disk out of a CD (braiding)
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
- Teslaphoresis (self-assembly of threads)
- Spontaneous Patterns in vibrated Ball Chains: Knots and Spirals
Knotting
- History and Science of Knots
- Animated Online Encyclopedia of Knots
- Encylopedia of Knots and Fancy Rope Work ISBN 978-0870330216
Unknotting with Force and Magic
- 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
- Splicing Animated.
Knot Theory
- 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
Tie Knotting
Bondage
- 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
Knot Robot
- Manipulation of Deformable Linear Objects feat. Un-Knotting Bot
- Knotting/Unknotting: Manipulation of Deformable Linear Objects
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
- French Children's book feat. Maypole Dance + Track Diagram
- Pet Flakes Architecture inspired by Maypole braiding
- Bobbin Dance by Shane Waltener
Sorting
- Sorting Networks by Computer Science Unplugged
- Bubble Sort as hungarian folk dance
- Bubble Sort
- Merge Sort
- Insertion Sort
- Quick Sort
Computational Complexity
Braiding + Card Weaving
- Braiding in Griswold's Weaving Archive
- Tablet Weaving in Griswold's Weaving Archive
Braiding Techniques
- Loop Braiding
- Braiding Techniques for horses
Braiding Tools
- Online Braiding Tools
- Bead Crochet Software
- Guntram's Tablet Weaving Thingie
- ATARI band weaving book + disk
Rope Weaving
Books
- Y. Kyosev, Braiding Technology for Textiles, ISBN 978-0857091352 + ebook version
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
- Travelling Salesman Problem with Thread
- TSP-Art
- TSP-Animation