Thursday, November 19, 2015

Pager muscle improvements

I'm back to the larger 260 balloons to have enough structural strength for the approximately 6 g (with logic battery) Tinyduino controller and motor board.
Latest version details:

Safety pins:

for clevises: size 00 = 3/4"

for joints: size 1 = 1-1/16"

All knots:

Quadruple overhand stop knots

All elastic bands:

Loom bands (Rainbow, Cra-Z-Loom, etc.)

Motor leads:

36 gauge magnet wire (twisted pairs)


Qualatex 260Q Diamond Clear (tied and trimmed at both ends to give custom length.)


1-lb test Berkley Fireline (5" untwisted length between stop knots)


Solarbotics TPM2 4mm diameter pager motor

Tapered bushing:

insulation from 22 gauge solid wire tapered by stretching above candle flame

Motor harness tape:

1/8" width of 3M 863 clear strapping tape

Monday, November 16, 2015

Pager muscles for balloon sculptures

A pager muscle is just a pager motor with a length of high-performance fishing line attached. The twisting of the line causes it to shorten and pull the two sides of the joint closer together.
Right now I am working on a practical way to actuate balloon sculptures or balloonbots if you will. A YouTube video shows how it works.

In the video the motor is being driven by a 9-V battery that is pulse-width modulated down to 80/255, or effectively a 3-V supply. The controller drives the motor for 150 msec in one direction and 120 msec in the other direction with 100 msec rests between changes of direction.

Here is the Arduino sketch used for the demo:

int motorDirPin = 2;      // Motor direction connected to digital pin 2
int motorSpeedPin = 3;    // Motor speed connected to digital pin 3
int motorSleepPin = A3;      // Motor sleep to analog pin 3
int forwardSpeed = 80;
int pulseLength = 150;
int reversePulseLength = 120;
int restLength = 100;

void setup()
  pinMode(motorDirPin, OUTPUT);       // sets the pin as output
  pinMode(motorSpeedPin, OUTPUT);     // sets the pin as output
  pinMode(motorSleepPin , OUTPUT);     // sets the pin as output

  digitalWrite(motorDirPin, LOW);     // sets the default dir to be forward
  digitalWrite(motorSpeedPin, LOW);   // sets the default speed to be off
  digitalWrite(motorSleepPin , HIGH);   // sets the sleep mode to be off

void loop()

  // Set the motor direction to forward
  digitalWrite(motorDirPin, LOW);   
  analogWrite(motorSpeedPin, forwardSpeed);      // speed forward
  analogWrite(motorSpeedPin, 0);      // 0 speed forward
  // Setndirection to reverse
  digitalWrite(motorDirPin, HIGH);    
  analogWrite(motorSpeedPin, (255-forwardSpeed));      // speed reverse
  analogWrite(motorSpeedPin, 255);      // 0 speed reverse

Tuesday, August 18, 2015

"Weird Earths" coming to Silver Spring Maker Faire

For Silver Spring Maker Faire, September 20, 2015, I'll be showing "Weird Earths: Make Your Own Riemann Surfaces."

A physical model of stereographic projection. Credit: henryseg on thingiverse.

In complex analysis, a Riemann surface is a surface composed of copies of the complex plane. Since the features of the Earth's surface can be associated with the complex plane by stereo graphic projection, a layperson may prefer to envision a Riemann surface as a surface that has been seamlessly decorated with copies of the Earth's surface—what we'll call Weird Earths. Participants will fold their own Riemann surfaces from pre-cut and pre-creased cardboard strips. The maps printed on the strips are Oscar Sherman Adams' "World in a Square II."

I am indebted to the Five Fold Way, a folding dog exhibited at Bridges Baltimore 2015 by for this novel "folderoll" technique.

The Five Fold Way, a folding dog by .

Wednesday, April 1, 2015

A bijection between plain-woven baskets and hypermap dual pairs

The facial walk of a hyperface, envisioned here as simple cycle. The black dots are hypervertices, the white dots are hyperedges. In the general case, for example, a facial walk that is a walk around a tree, hypervertices and hyperedges  may appear in the walk with multiplicity greater than one.

The canonical (Eulerian) triangulation places a dot of a third color in the center of the hyperface (inspired by Good n Plenty candy, we'll use pink,) and constructs lines (with multiplicity if needed) to each hypervertex and hyperedge in the facial walk.

The canonical (Eulerian) triangulation of a hypermap is constructed by placing a pink vertex in the center of each hyperface and construction lines (with multiplicity if needed) to each hypervertex and hyperedge in the facial walk.

The canonical triangulation is an Eulerian triangulation, meaning there are an even number of triangles incident to each vertex (whether black, white, or pink.) It is also a tripartite graph, meaning it can be colored in three colors such that no edge connects two vertices of the same color. We are clearly in the possession of one such black-white-pink coloring, but the other five permutations of these colors work just as well. Each color permutation is the canonical triangulation of another hypermap. Here are the six arranged in dual pairs. (Hypermap duals are related by a rotation of black and pink—an interchange of hypervertices and hyperfaces—in their canonical triangulations.)

A six-pack of hypermaps: the six color permutations (Lins trialities) of a hypermap when shown in its canonical triangulation. Black = hyper vertex; White = hyper edge; Pink = hyperface. Canonical triangulations that differ by an exchange of black and pink (hypervertices and hyperfaces) represent dual pairs of hypermaps.

A dual pair of hypermaps becomes a plain-woven basket in this way: re-color the Pink vertices Black, then delete all Black-Black edges. 

Clearly, each hypermap in a dual pair yields the same bicolored, quad-faced map. Given a weaving convention to map Black/White to Left/Right helical-handedness, a bicolored, quad-faced map explicitly describes a plain-woven basket. (Some may prefer the dual representation of a plain-woven basket: a chess-colored 4-regular map.)

Fragments of the three baskets generated by the three dual pairs above.

The inverse mapping (i.e., from a bicolored, quad-faced map to a dual pair of hypermaps) is accomplished in this way: diagonalize every quad by adding a Black-Black edge; there are now exactly two ways to recolor the Black vertices with either Black or Pink that do not result in an edge with two ends of the same color—these two colorings are the canonical triangulations of a dual pair of hypermaps.

Tuesday, March 31, 2015

The Adams "World in a Square" projection and knotology weaving

The square module of Adams's "World in a Square II" conformal projection of the globe is similar to the square module of knotology weaving.

A Belyi function maps an orientable surface to the sphere with at most 3 singular points (critical values.) The pre-images of these points on the orientable surface are called critical points. In the general case, the critical points form an Eulerian triangulation of the orientable surface (a triangulation with an even number of triangles meeting at each vertex.) The smallest such triangulation has just two triangles: it is, so to speak, a triangular envelope.

From a number theorist's point of view, the three critical values on the sphere should be located at 0, 1, and infinity in complex (Riemann sphere) coordinates. These points on the Riemann sphere share a great circle (the real axis) at spacings of 90°-90°-180°. The Adams "World in a Square II" projection also has critical values along a great circle (the extended prime meridian that includes 180° longitude,) and they are also spaced at 90°-90°-180° (the South Pole, the Pacific Point, i.e., the antipodes of the longitude/latitude origin, and the North Pole,) so the correspondence is pretty exact.

The several appearances of the extended prime meridian in Adams's projection (the four sides of the square plus a diagonal of the square) show that Adams's projection is really two triangles joined along a shared edge. The four corners of the square fall into two classes: those that are composed of a single triangle angle (the two appearances of the Pacific Point) and those that are composed of two triangle angles (the North and South Poles.) Each triangle angle represents 180° on the earth's surface (the angle between two segments of a straight line is always 180°) so the North and South Poles each represent a pair of triangle angles, 2 x 180° = 360°, or a full turn. Each of the two appearances of the Pacific Point represent a single triangle angle, 1 x 180° = 180°, or a half-turn.

A "World in a Square" knotology weaver folded the natural (prime-median) way.

The way nature intends us to fold Adams's square is along the prime meridian: that turns the square into two triangles with every triangle corner = 180°. The unnatural way is to fold the square along the equator, then the right-angled corners at the poles represent 360° on the earth (each being actually two triangle corners), while the 45° corners represent 90° on the earth (each being 180° on the earth split down the middle by the fold.)

Nature's way requires an Eulerian triangulation (just as we would expect in a Belyi surface;) ensuring that every vertex of the triangulation gets an integral multiple of 360°. The unnatural way allows any number of triangles at the "rangles," the places where right angles (each representing 360° of earth surface) meet, but the price is that we need doubly-Eulerian vertices (multiples of four triangles) at the "nooses," the places where the 45°-angles (each representing 90° of earth surface) meet. That sounds strange, but it is actually convenient to the way knotology weaving is frequently done. Often, we are weaving a deltahedral surface that is, so to speak, omnicapped by cube corners, so we need an odd number of triangles (3) at the rangles. Getting doubly-Eulerian vertices for the nooses may sound difficult, but, since every each omnicap contributes a pair of triangles to that vertex, the underlying deltahedral triangulation only needs to be Eulerian.

A "World in a Square" knotology weaver woven the unnatural (equatorial) way.

In weaving the enveloping surfaces of vox-solids the placement of the oblique knotology creases are irrelevant as they are not folded, but the number of squares around a vertex can be 3 (the head of a corner,) 4 (flat ground,) 5 (the corner of a building rising from flat ground,) and 6 (a square well touching corners with a building rising from flat ground.) Those odd numbers—3 and 5—cause problems for the Pacific Point since it supplies only half-a-turn at each corner of the square. For example, we cannot "world-weave" the surface of a 1-voxel cube because the Pacific Point would be forced to make an appearance at certain "heads of corners;" but, we can world-weave the surface of an 8-voxel cube if we place Pole Points at the corners, thus keeping the Pacific Point safely in the middle.

A portion of the enveloping surface of a vox-solid.
It is interesting to note that an 8-voxel knotology cube can be viewed as a deltahedron omnicapped with cube corners, the underlying deltahedron is an octahedron—and the surface of an octahedron is indeed an Eulerian triangulation. Any vox-solid we make out of these larger "octo-voxels" can indeed be world-woven.

Friday, February 20, 2015

Chiral map operations and tensegrities

Circle diagrams for chiral map operations including propellor, capra, gyro, and snub. The chiral edges, shown in orange, do not have their symmetrical pairs—they count 2x instead of 4x for the black edges.

Tensegrity fabrics related to the map operations snub, capra, truncate, and medial. See this earlier posting.

Circle diagrams of common achiral map operations

Circle diagrams for common achiral map operations: identity, dual, subdivide, parallel, radial, medial, etc.
Map operations that are achiral (as opposed to chiral operations such as snub) can operate on non-orientable as well as orientable maps. Since the edges of maps are also undirected, an achiral map operation must have two perpendicular lines of mirror symmetry allowing the truchet tile to be played in either rotation, flipped over or not. For an achiral map operation, we only need to see one quadrant of the quadrilateral tile—the rest follows from symmetry.

A quadrant of a quadrilateral can be deformed into a circle having three 120° arcs: an arc representing the primal half-edge on the left, an arc representing the dual half-edge on the right (both these arcs are also mirror lines) and an arc representing a hypotenuse edge (quadrilateral edge) at the bottom. The hypotenuse arc at the bottom is not a mirror line.

Map operations are drawn on these diagrams as graphs with vertices along the circumference of the circle (and possibly also in the interior.) Black vertices are the real vertices, white vertices are simply where lines continue across the boundaries of the representation.

A map operation, O(), is associated with three other map operations: O*() = Du(O()) and O'()=O(Du()), and also O'*=Du(O(Du()). Two map operations O() and Q() are dual if Q = O'* = Du(O(Du()). For example, Ki and Tr are dual operations.

Friday, February 6, 2015

Two routes to complete foldability

Two routes to a completely foldable knotology basket. A knotology basket is completely foldable if it is directed by a bipartite map. There are basically two ways to turn an arbitrary map, m, into a bipartite map: subdivide edges, Su(m), or take the radial, Ra(m). The resulting baskets have the same crack+hinge graph, but rather different weaving.
Di Francesco has shown that a triangulation of congruent triangles can be completely phantom folded into a single triangle iff it is tricolorable (the vertices can be colored in three colors such that no edge joins vertices of the same color.) The radial map operation that turns an arbitrary map, M, into directions for weaving a knotology basket, Ra(M), creates a new class of vertices and returns edges that exclusively connect new vertices to old vertices. If the underlying map is itself bipartite, then Ra(M) will be tricolorable, and it will remain so even after the edges of M are added back as hinge lines turning the quad-faced map into a triangulation.

The image above illustrates two ways to obtain a bipartite map from an arbitrary map. One way is to use Ra(). This results in the same √2 refinement and rotation discussed in the previous post. Another is to subdivide edges with new vertices, which is the subdivide map operation Su(). The radial method results in extended weaving, the subdivide method results in chain mail.

A ring of knotology chain mail is a closed belt of eight, diagonally folded squares.

Crease knotology weavers on both diagonals?

Creasing a knotology weaver along both diagonals of the squares yields a crack+hinge graph that is essentially the same as that of a standard weaving of a refined and rotated map—so what's the gain?
Because some knotology baskets cannot be immersed in 3-space without additional, non-standard creases, one may wonder: why not make this problem rarer by creasing weavers along both diagonals rather than one?

There may be practical benefits to creasing along both diagonals, but from an analytical viewpoint, it is overkill. As shown in the image above, the same folding versatility can be gained by standard knotology weaving of a map that is finer-grained and rotated. (Though their crack+hinge graphs are identical, the two baskets are not the same because in each case different edges are cracks or hinges.)

As we will see in the next post, always folding along both diagonals would make every knotology basket completely foldable. As things are, there are many interesting knotology baskets that are not completely foldable, and, imho, it is not worth excluding them from the class in return for a technique that is largely equivalent to simply refining the underlying map.

Tuesday, February 3, 2015

Magnetic construction tiles for "Rangles and Nuses"

Right-triangular tiles with disk magnets arranged as shown only go together when the rules of "Rangles and Nuses" are obeyed.
Disk magnets can be affixed to the corners of isosceles right-triangular tiles in a way that enforces the rule that right-angles (rangles) and base angles (hypotenuse angles or nuses) be kept apart. The tile shown above (or alternatively its enantiomorph) can be used. These tiles look the same when flipped over.

Here are some basic Rangles and Nuses plays with prototype right-triangular magnetic tiles:

A larger array of tiles shows how similar the two classes of vertices are:

An arrangement of magnetic tiles for "Rangles and Nuses" showing the similarity of the two classes of vertices. 

Monday, February 2, 2015

Modeling knotology surfaces with inside-out Bassetti hinges

The square pillow (the knotology basket directed by the digon graph) realized with inside-out Bassetti rubber band hinges. The bold black edge coincides with the diagonal hinge or crease.

The preceding post showed how knotology surfaces can be assembled from congruent isosceles right triangles. Because every hypotenuse edge in a knotology surface must pair up with another hypotenuse edge, knotology surfaces can also be seen as being composed of squares that are hinged, creased, or folded along a designated diagonal. This is probably the preferred way to model these surfaces because the number of pieces needed is reduced by half.

Square tiles with appropriately color-marked corners (as illustrated in the images here) will be called bi-squares, because they force construction of a square-faced, bipartite crack-graph—the graph made evident by separating the square tiles slightly—when the bi-squares are assembled with their corner colors matching.

A cardstock bi-square that has been cut and notched for attachment with Bassetti rubber band hinges. The overall size is 3" x 3". The creased internal square is 2-3/16" x 2-3/16". The notches were cut straight across with scissors after the flaps were folded flat. This size works well with the widely available Rainbow Loom elastic bands.

The same card stock bi-square as above with the ears folded flat.
In 1959, architect Frederick F. Bassetti invented a good way to hinge polygonal cards together with elastic bands to form polyhedral shapes. The main drawback to making a model with Bassetti hinging is that the outside of the finished model wears protruding flaps and rubber bands. I find that it is possible, though a bit more time consuming, to work Bassetti hinges inside-out so that the flaps and elastic bands are hidden inside the model.

The bi-squares illustrated here were made from 3" x 3" pieces of 65-lb (176 g/m2) card stock, that was creased along the edges of a 2-3/16" square diamond and also along one of its diagonals. After the "ears" were folded flat, the corners were truncated with straight scissor cuts leaving clean-cornered rectangular notches that hold Rainbow Loom elastic bands fairly securely. Working carefully, one elastic band engagement at a time, and with the help of a small gauge (2-1/4 mm) crochet hook, I find it is possible to assemble the Bassetti hinges inside out. In the end, there is just a peek of elastic band showing at the corners. It also helps to pre-curl the ears a bit so that they can pass around behind the elastic band.
View from the inside of a bi-square with two pre-curled ears. 

Stage in the closure of a particularly difficult inside-out Bassetti hinge.

Using a narrow gauge crochet hook to properly set the elastic band in an inside-out Bassetti hinge.

Close-up view of the inside-out Bassetti hinges in the smallest knotology surface: the triangular pillow (the surface directed by the line segment graph.)

Knotology surfaces: keeping rangles and nuses apart

Knotology "cuboid" by Dassa. Image quoted from

Staircase Pipe, an example of knotology weaving. Image quoted from mechiz,

Knotology Egg by Dassa. Image quoted from

Inspired by Heinx Strobl's knotology weaving, define a knotology surface as a closed geometric surface facetted entirely by congruent, isosceles, right triangles.

If we assemble a knotology surface by joining its component right triangles edge-to-edge, hypotenuses must mate up with hypotenuses, and legs must mate up with legs, simply because hypotenuses and legs have different lengths.

Knotology, however, adds one more constraint: right angles (rangles for short) and base angles, or hypotenuse angles (nuses for short,) must always be kept apart! That is, every vertex in the surface will be either a pure rangle vertex or a pure nuse vertex.

This seemingly discriminatory constraint is closely related to the needs of weaving. Ignoring the hypotenuse folds (after all, they are merely creases in the weavers,) the residual square-faced graph drawn on the surface must be bipartite in order for the surface to be weave-able. Bipartite means that the vertices of the abstract graph fall into two classes such that no edge connects two vertices of the same class. Once we ignore the hypotenuses, all the edges in the graph are triangle legs, and each triangle leg connects a nuse vertex to a rangle vertex, so our insistence on keeping rangles and nuses apart guarantees weave-ability.

In the weaving, the physical distinction between these two classes of vertices is that the small opening or engagement window at the vertex is either right-handed or left-handed.

The creases are needed to make the surface adaptable enough to have an immersion in 3-space without crumpling (unstructured folding.) The creases do not really need to have a fixed relationship to the weave openings—unless we want all the weavers to be identical, which indeed we do. The only option is whether rangle vertices correspond to right-handed or left-handed engagement windows, a question which really doesn't matter to anyone but the weaver. Strobl's design is the one inevitable design for this type of digital weaving.

Knotology weaving is truly remarkable. With straight, all-identical weavers, a huge class of surfaces can be woven including all of the enveloping surfaces of the vox-solids (voxel-based 3-D objects in computer graphics) and stellated duals of all the fullerenes and graphene allotropes in theoretical chemistry, plus hybrids of these and many more….