Tuesday, August 14, 2018

CubeBiology basics

The biggest, heaviest tool in your workshop is probably your workbench or table—or actually the floor, since you sometimes need that to assemble larger things. You need everyone else's workshop as well, since gravitational attraction is what keeps things on your bench.

Suppose you had to assemble a structure while floating in space?

The alternative to our familiar massive approach is to grow things: build them in hand, going from one completed state to the next by a sequence of small edits.

CubeBiology builds structures with just two types of edits or 'plays': insertions and switches.




An 'n' insertion. After this play, the current edge advances by 2 steps to the upper blue one.

A 'u' insertion. After this play, the current edge advances by 2 steps to the upper blue one.

Before (after) an 's' play.

After (before) an 's' play. After this play the current edge advances by 1 step to the uppermost blue one.

The sequence of play can be recorded in a letter code consisting of 'n', 'u', 's', and positive integers (integers indicate how many extra steps the current edge should advance after completing the previous move.)

For example, one sequence of play that grows a cube:

unsnsus5s



Monday, July 16, 2018

CubeBiology

At World Maker Faire NY 2018, on 9/22 and 9/23, I hope to have a booth where kids can play with growing structures. Look for my project "CubeBiology: Grow a Cube from a Tiny Blob."


CubeBiology: Grow a Cube from a Tiny Blob


The growth sequence kids will be making at Maker Faire is animated in the 3D tensegrity simulation below. The steorograms are direct-view. Try to make the two images fuse to a single 3D image in the middle.  If you are nearsighted like me, taking off your glasses will likely help.

Animated stereogram of the 3-hosohedron-to-cube growth sequence.


The growth sequence notation I plan to use with the kids is:

siding insertion on left = n
siding insertion on right = u
switch = s
advance additional track lengths = integer

(The choice of 'n' and 'u' becomes mnemonic if you lean your head to the right as you read the character sequence.)

The execution of each letter is followed by an advance of one track length from the locomotive's current position. The integers count only additional advances.

We are going to treat the initial tiny blob (technically, a 3-hosohedron) as a prexisting primordial object, so the first letter in the growth sequence just tells us which direction the locomotive should point. For example, if the first letter is 'u', the locomotive should advance in the direction that puts the siding on the right or starboard side.

For example, the sequence I work in the pitch video would be written as:

un1s 


Tuesday, May 1, 2018

For an easily-coded fabric working order, work along the boundary of a disk

A Jordan curve is a simple (i.e., non-self-intersecting,) closed curve in the plane. The Jordan Curve Theorem proves that such a curve divides the plane into two distinct regions. The fact that a Jordan curve keeps its two sides thoroughly walled off from one another is a fact tremendously useful to mathematics and computer science.

On closed surfaces, an analogy to a Jordan curve is a disk boundary, i.e., a curve that is the boundary of a topological disk. A disk boundary divides the surface into two distinct regions: the disk, which we consider the interior of the curve, and the exterior which is the remainder of the surface. The fact that a disk boundary walls off its interior from its exterior simplifies the coding of fabric working order on closed surfaces. Our working orders will always be disk boundaries.

Traditional fabric working orders generally do not follow disk boundaries.

Two traditional fabric working orders that do not follow a disk boundary—they are not even closed curves.
A traditional fabric working order familiar in jewelry making. Though it is a closed curve, its interior is not a disk.

Here are examples of fabric working orders that do follow disk boundaries: they end where they began, and they have an interior that is a topological disk.


Example of a fabric working order that follows a disk boundary.
Example of a fabric working order that follows a disk boundary.

Example of a fabric working order (the Moore curve) that follows the boundary of a disk,
The disk is easier to see if we color it:

A disk-boundary fabric working order with the disk colored gray.
A disk-boundary fabric working order with the disk colored gray.
A disk-boundary fabric working order (Moore's curve) with the disk colored gray.
The exterior of the disk boundary is always a closed surface less a disk. The exterior of the disk boundary may be quite complicated, but topologically it is always equivalent to a polygonal schema: a polygon with an even number of sides, which sides are to be paired up (identified), 2-by-2, in the correct orientation. Clearly, we can fill the interior of a polygon of any number of sides with a fabric working order like those illustrated above; for simplicity, we draw only a 4-sided polygonal schema representing a torus and show only the Moore curve's working order.

A fabric working order with a polygonal schema for a 1-hole torus as its exterior.
The edges of the polygonal schema are to identified in the way that matches labels and arrow directions. Working around the disk boundary in a counterclockwise direction, polygon edges are always on the right, and therefore topologically significant fabric connections are always right-side connections. No left-side connections cross the polygon edges; some right-side connections cross the polygon edges. In the Figure below: four right-side fabric connections that do not cross schema edges (shown in green,) and two right-side fabric connections that do cross schema edges (shown in red.)

A 1-hole torus worked in a counterclockwise direction. In green, four right-side fabric connections that do not cross edges of the polygonal schema; in red, two that do.
 If we identify edges of the polygonal schema one pair at a time, after the first pair we have a cylinder, or in other words, a sphere with two boundaries that later will be identified. Clearly there was no topological magic in the first edge pairing, as we already know how to make a sphere. The topological magic must be in how the two boundaries pair up. The situation is the same for an n-hole torus: we can identify certain pairs of polygonal edges until we get a sphere with 2n boundaries that still need pairing up.

n-hole tower
sphere with 2n boundaries 


For example, cuts that reduce an n-hole torus to a sphere with 2n boundaries can be found by rearranging the surface into an n-hole 'tower', and slicing from the top nearly to the bottom (Figure above.) In this case, lines showing the two-by-two pairing of these boundaries, and the identification of pairs of points on the boundaries can be drawn on the surface with non-crossing lines (Figure below.)
Identified points on the 2n boundaries connected by non-crossing lines drawn on the surface.
In theory, this case is general, because, having drawn non-crossing lines joining the paired boundaries in one arrangement, we can homotopically rearrange the boundaries as we wish without causing lines drawn on the surface to cross. Perhaps this will not be practical in practice (see Figure below,) we may need a tame arrangement of handles in the surface we are trying to make.


Non-crossing lines after a homotopic rearrangement of the surface.

Friday, March 9, 2018

Insertions refinement for shuffle-greedy growth sequences

The tensegrity growth sequences in the previous post show that leaving the order of insertion edits to chance can lead to unnecessary instabilities.

For example, it is not necessary to pass through a stage as unstable as the 2-hole ladder (below) in growing a cube.
2-hole ladder: an unstable stage in previous growth sequence of a cube.

By attempting to alternate polarity in insertions, we get this alternate growth sequence for a cube, which still has 8 stages:


Growth code:/n/.us/.ns/...uss

Growth sequence:
np (3-strut)
nudp (2-prism)
nupd (tetrahedron)
nnpupd (eared tetrahedron)
nnuppd (3-prism)
nnuudppd (camp chair)
nnuupdpd (boat dual)
nnuuppdd (cube)












The same strategy applied to the dodecahedron gives a growth sequence of the same number of stages (29) that successfully alternates insertion polarity all the way through.

/u/1ns/3us/2nss/5uss/3nsss/7uss/5nsss/9uss/7nsss

ud
unpd
undp
undudp
undupd
unnpdupd
unndpupd
unnduppd
unnduudppd
unnduupdpd
unnduuppdd
unnnpduuppdd
unnndpuuppdd
unnndupuppdd
unnnduupppdd
unnnduuudpppdd
unnnduuupdppdd
unnnduuuppdpdd
unnndnpuuuppdpdd
unnndnupuuppdpdd
unnndnuupuppdpdd
unnndnuuupppdpdd
unnndnuuuudpppdpdd
unnndnuuuupdppdpdd
unnndnuuuuppdpdpdd
unnndnunpuuuppdpdpdd
unnndnunupuuppdpdpdd
unnndnunuupuppdpdpdd
unnndnunuuupppdpdpdd

Growth sequences for some simple tensegrity surfaces


Growth Sequence for a Tensegrity Tetrahedron

/u/1ns

Growing a tensegrity tetrahedron, stage 1. ud (3-strut)

Growing a tensegrity tetrahedron, stage 2. unpd (2-prism)

Growing a tensegrity tetrahedron, stage 3. undp (Tetrahedron)


Growth Sequence for a Tensegrity Cube

/n/1n/2uss/3uss


Growing a tensegrity cube, stage 1. np (Three-strut)

Growing a tensegrity cube, stage 2. nnpp (2-prism)
Growing a tensegrity cube, stage 3. nnudpp (2-hole ladder)

Growing a tensegrity cube, stage 4. nnupdp (Eared tetrahedron)

Growing a tensegrity cube, stage 5. nnuppd (3-prism)

Growing a tensegrity cube, stage 6. nnuudppd (Camp chair)

Growing a tensegrity cube, stage 7. nnuupdpd (Boat dual)

Growing a tensegrity cube, stage 8. nnuuppdd (Cube)





                                         Growth Sequence for a Tensegrity Dodecahedron

               /uu/1nss/2nss/3nss/5ns/7n/8usssss/9ussss/10usss

Growing a tensegrity dodecahedron, stage 1. ud (Three-strut)

Growing a tensegrity dodecahedron, stage 2. udud (2-prism)

Growing a tensegrity dodecahedron, stage 3. unpdud (2-hole ladder)

Growing a tensegrity dodecahedron, stage 4. undpud (Class ring)

Growing a tensegrity dodecahedron, stage 5. undupd (3-prism)

Growing a tensegrity dodecahedron, stage 6. unnpdupd (Camp chair)

Growing a tensegrity dodecahedron, stage 7. unndpupd (Boat dual)

Growing a tensegrity dodecahedron, stage 8. unnduppd (Cube)

Growing a tensegrity dodecahedron, stage 9. unnnpduppd (Eared cube)

Growing a tensegrity dodecahedron, stage 10. unnndpuppd

Growing a tensegrity dodecahedron, stage 11. unnndupppd (5-prism)

Growing a tensegrity dodecahedron, stage 12. unnndnpupppd

Growing a tensegrity dodecahedron, stage 13. unnndnuppppd

Growing a tensegrity dodecahedron, stage 14. unnndnunpppppd

Growing a tensegrity dodecahedron, stage 15. unnndnunudpppppd

Growing a tensegrity dodecahedron, stage 16. unnndnunupdppppd

Growing a tensegrity dodecahedron, stage 17. unnndnunuppdpppd

Growing a tensegrity dodecahedron, stage 18. unnndnunupppdppd

Growing a tensegrity dodecahedron, stage 19. unnndnunuppppdpd

Growing a tensegrity dodecahedron, stage 20. unnndnunupppppdd

Growing a tensegrity dodecahedron, stage 21. unnndnunuudpppppdd

Growing a tensegrity dodecahedron, stage 22. unnndnunuupdppppdd

Growing a tensegrity dodecahedron, stage 23. unnndnunuuppdpppdd

Growing a tensegrity dodecahedron, stage 24. unnndnunuupppdppdd

Growing a tensegrity dodecahedron, stage 25. unnndnunuuppppdpdd

Growing a tensegrity dodecahedron, stage 26. unnndnunuuudppppdpdd

Growing a tensegrity dodecahedron, stage 27. unnndnunuuupdpppdpdd

Growing a tensegrity dodecahedron, stage 28. unnndnunuuuppdppdpdd

Growing a tensegrity dodecahedron, stage 29. unnndnunuuupppdpdpdd (Dodecahedron)