# Computing with Thread: Part I

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

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

### Geometry

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

### Kitspiration

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

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

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

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