04 // MOTION

Motion

The dots’ touching balls form a framework that can move. Rotate the squares of 4.8.8 balls alternately clockwise and anticlockwise and the whole pattern contracts in both directions at once, a negative Poisson ratio, until at 45° every ball touches four neighbours and the pattern has become the square packing. Among the dot positions scanned, only the incentre ends in the regular square lattice. The same idea in 3D, with the lattice held cubic, reaches a six-contact state at 60°. Allowing the lattice to shear also gives an explicit continuous route to fcc close packing. This page develops the earlier mechanisms and rigidity counts; the research update presents that newer construction.

1The framework

Treat each ball as a joint, and each touching pair as a rigid bar of length 2R = 2√2 − 2 joining their centres. The bars can swivel freely at the joints, as the pieces of a model made from rods and pins can. This is a pin-jointed framework. In the plane, the four dots of one square are joined by four bars, and neighbouring squares are joined by one bar through the shared edge, along an axis. In 3D, the six dots of one cube form an octahedron of twelve bars, and neighbouring octahedra are joined by one bar through the shared face.

A motion that keeps every bar its length is a mechanism. The structure is not rigid if it has one. A square of four bars is not rigid (it can shear into a diamond), but an octahedron with all its triangular faces is. A group of dots that moves as one stiff body is called a cluster: the 4-dot square in 2D, the 6-dot octahedron in 3D.

2The 2D fold

Rotate the clusters in a checkerboard pattern: each cluster by +θ if it is on an even square of the board, and by −θ if on an odd one. Take a cluster at the origin with its dots at distance t from its centre along the axes, and the cross bar from its +x dot to the −x dot of the neighbour whose centre is at (a, 0). The +x dot of the first, rotated by θ, is at (t cos θ, t sin θ). The −x dot of the second, rotated by −θ, is at (a − t cos θ, +t sin θ). The two heights are equal, so the bar stays horizontal: it stays on the axis. Its length is a − 2t cos θ. The bar must keep its original length L = 2 − 2t, so the spacing between clusters must be

a(θ) = L + 2t cos θ = 2 − 2t (1 − cos θ)

Every bar length is preserved exactly. This is a finite motion of the whole framework, not only an infinitesimal one: in the code the bar-length error stays below 10−15 along the path. The spacing shrinks equally in x and y, so the strain is isotropic, εxx = εyy = a/2 − 1, and the Poisson ratio, which is minus the ratio of the sideways strain to the pulling strain, is −1 along the whole path.PROVEN For small θ the spacing is a ≈ 2 − tθ²: the contraction starts at second order, so to first order the straight lattice still resists being squeezed, and the fold exists as a finite mechanism.

2D FOLD // EXACT // BALLS DRAWN AT THEIR TRUE RADIUS
FIG 7 // THE FOLD
CTRL // FOLD 2D
ROTATION θ (degrees)
0.00
DOT POSITION t (incentre: 0.5858)
0.5858
READOUT
Cyan and green squares are the two kinds of cluster, turning in opposite directions. The grey dots are where the dots started. The dashed squares mark one cell now (amber) and at the start (grey). Green marks are contacts between balls. Move t away from the incentre to see that the ending is no longer a regular lattice.

3Where it locks, and the incentre

The balls have radius R = √2 − 1 when t = 2 − √2. As the fold proceeds, balls from different clusters approach. The gap between the balls of neighbouring clusters along the bar axis is 2√2 t cos(θ + 45°), which first reaches zero at exactly θ = 45°.PROVEN That no other pair of non-bonded balls touches earlier is checked numerically on a 0.01° grid, not proved.VERIFIED NUMERICALLY Put t = 2 − √2 in the formula for the spacing:

a(45°) = 2 − 2(2 − √2)(1 − √2/2) = 2 − 2(3 − 2√2) = 4√2 − 4 = 4R

Rotated by 45°, each dot sits at (±t/√2, ±t/√2) = (±R, ±R) from its cluster’s centre. Clusters are 4R apart, so the dots form a square lattice of spacing 2R. Every ball touches 4 others (it touched 3 before). The consequences, all exact:PROVEN (symbolic check in research/mechanics/exact_checks.py; numerics in mechanism.py)

Now move the dot to another position t on the axis. At 45° the framework has two bar lengths, √2 t inside a cluster and 2 − 2t across, and they are equal only when √2 t = 2 − 2t, which is t = 2 − √2.PROVEN Whether the fold really ends at 45° for other t was checked on a scan of six values of t (0.45, 0.5, 0.55, 2 − √2, 0.62, 0.7) with a 0.01° grid. For t = 0.62 and 0.7 the fold locks at 45° with two different contact distances. For t below 2 − √2 it does not lock at 45°: the fold continues and locks at 66.37° (t = 0.45), 56.96° (0.5) and 49.51° (0.55), with three contacts per ball. So among the values scanned, only the incentre ends in the regular square lattice, where the “uniform” start state folds onto the “uniform” end state. This is a finite scan, not a proof for every t.VERIFIED NUMERICALLY The readout in Figure 7 shows the two lengths as you drag t.

Is it known? Yes, the motion itself is. A later, deeper search found it: squares joined by rods equal to their side, turned alternately, carry a square tiling into 4.8.8. This is the “hinged tiling” in Flores, North American GeoGebra Journal 6(1), §2.9, who credits D. Stuart (1963).KNOWN The Poisson ratio of −1 follows from symmetry alone: Mitschke et al., EPL 102, 66005 (2013), prove it for mechanisms that keep a 3-, 4- or 6-fold axis.KNOWN The interval of motion is a “flexibility window” in the sense of Sartbaeva et al., Nature Materials (2006). What we did not find printed is the ball version: that the window ends at 45° in the square packing (density 0.539 to π/4, strain −R²) and that only the incentre ends in a regular lattice. These follow directly from the known linkage, so treat them as corollaries, not discoveries.ELEMENTARY Related: rotating-squares auxetics (Grima and Evans, 2000); twisted kagome (Sun et al., PNAS 2012), whose disk version at 30° gives the triangular packing.

4The cubic 3D path

In three dimensions the clusters are octahedra, coloured in a 3D checkerboard. Even octahedra are rotated by R and odd ones by its inverse, about an axis of your choice. The cross bars again stay on the axes, and the lattice spacing along each axis is chosen so that every bar keeps its length. Three axes give three different endings. The figure computes the exact positions from the same equations as the 2D case.

tilt axisfirst new contactstrain at endvolume changecontacts per balldensity
[001] (stacked 2D fold)45°(−R², −R², 0)−0.31376, 6, 6, 6, 5, 50.3253
[111]60.000°isotropic, −0.21895−0.52356 for every ball0.4686
[011]54.7356° = arccos(1/√3)(−0.2476, −0.1427, −0.1427)−0.44705, 5, 6, 6, 6, 60.4038

Caveat from independent re-derivation. The 60° end state is the first new contact on a path where the lattice stays cubic. If the lattice is allowed to shear into a trigonal shape, every bar can keep its length past 60°: a grid scan of trigonal lattices alone reaches density 0.6477, and the free continuation, found by the machine search on the Search page, reaches π/√18 = 0.74048, hexagonal close packing (fcc follows by two layer slides). That search leaves the cubic fold early, at about 30°, rather than passing through the 60° state itself. So the 3D state is a waypoint on the cubic path, not a jam. The 2D fold is likewise one of three flexes of the rigid-square model (the others include a shear); what is special is that its end state is the square packing.VERIFIED NUMERICALLY

Compared with corner-sharing octahedra. In ReO3, where octahedra share corners and there are no bars, rotation alone reaches hexagonal close packing at 30° about ⟨111⟩. That is textbook (Johnsson and Lemmens 2006) and is observed under pressure (Shan et al.).KNOWN Here the bars hold the octahedra apart: on the cubic path the density at 30° is only 0.2637 (hcp is 0.7405), and the path locks at 0.4686 at 60°.VERIFIED NUMERICALLY Reaching close packing in this framework needs the lattice to shear, as the search page describes.

These numbers come from the checkerboard-tilt mechanism and ball-collision search in mechanism.py and final_states.py, and the figure below reproduces them.VERIFIED NUMERICALLY The [111] tilt is the analogue of the a−a−a− tilt of perovskites, and it is isotropic. Its end state has six contacts per ball, the number 2n that a framework needs to be exactly balanced between too few and too many bars (the Maxwell isostatic count).

For [111] the end spacing is exactly 8t/3 with t = 2 − √2.PROVEN The spacing along each axis is 4t/3 + √(L² − 2t²/9), and it equals 8t/3 exactly when 4t/3 = √(L² − 2t²/9). Squaring gives 16t²/9 = L² − 2t²/9, that is L² = 2t², that is √2 t = L. This is again the incentre condition. So the 3D fold also closes neatly only at the dots’ true position.

3D FOLD // AXIS [111]
FIG 8 // THE 3D FOLD // DRAG TO TURN
CTRL // FOLD 3D
TILT AXIS
ROTATION θ (degrees)
0.00
READOUT
A 3×3×3 block of octahedra. Cyan and green balls belong to even and odd octahedra. Faint lines are the octahedron edges, amber lines the cross bars. The block is drawn at a fixed scale, so you see it shrink.

5How many other motions are there? Counting floppy modes

The fold is one finite motion. To find all the small motions, count. Each of the 2n dots in a cell can move in n directions, giving 2n² freedoms per cell. Each bar takes one away. Per cell there are 2n(n − 1) bars inside the cluster (every pair of dots except antipodes) plus n cross bars, 2n² − n in all. So the freedoms exceed the bars by n per cell. This is the counting of Maxwell and Calladine: floppy modes minus self-stresses equals freedoms minus bars, here n per cell.PROVEN (arithmetic) A floppy mode is a way to move the dots that keeps every bar length unchanged (to first order). A state of self-stress is a way to put tension and compression on the bars so that every dot is in force balance with nothing pushing from outside. The split between the two counts needs its own proof, given below.

The result for a generic wavevector (that is, for a wavelike motion that repeats from cell to cell with a generic phase) is that there are exactly n(n−1)/2 floppy modes per cell and n(n−3)/2 states of self-stress, which is 0 in 3D, 2 in 4D, 5 in 5D and 9 in 6D. The floppy modes are the small rotations of the cross-polytopes (the octahedra in 3D), and they cost no energy at any wavelength: their frequencies form flat bands.PROVEN for n ≥ 3, VERIFIED NUMERICALLY for n = 2 to 8 (singular-value rank, tolerance 10−9, several random wavevectors).

The proof, for n ≥ 3: the skeleton of a cross-polytope is infinitesimally rigid, because it is a simplicial polytope (Cauchy, Dehn, Alexandrov, Whiteley). So in a zero mode each cluster moves as a stiff body: a translation plus a rotation. The cross bar along axis i lies on the line joining the two cluster centres, so the rotation drops out of its length change, and the bar condition reduces to a condition on the translations alone. In wave form it reads (e2iqi − 1)vi = 0, which forces the translation to vanish at a generic wavevector. Only the n(n−1)/2 rotations are left. In 2D the argument fails because a 4-bar square is not rigid: there are 2 zero modes per cell and no self-stress. On each plane qi = 0 there is one extra mode (rigid sliding of rows along axis i).

The counts do not depend on where the dot sits on the axis, for any t between 0 and 1. The incentre does not change the mode count.PROVEN

In 3D this is the Prussian-blue topology of the previous page, and Goodwin’s 2006 paper reports its density of rigid unit modes.KNOWN Borcea and Streinu (2021), Section 7, treat the same periodic graph in any dimension (at a different bar length, which our counts cover) but give only the 3D count. The formula for every n and the self-stress count n(n−3)/2 are likely routine with existing machinery; priority unresolved.

Which strains does the lattice allow at first order? In n ≥ 3 the mechanisms produce exactly the n(n−1)/2 pure shears and every normal strain is blocked. In 2D they produce the two-dimensional space of shape-changing strains without area change, so only the bulk modulus is non-zero: a fluid-like, 2D pentamode material.VERIFIED NUMERICALLY

6How stiff is it? The Poisson ratio

Put a unit spring on every bar and stretch the lattice along axis 1. The Poisson ratio ν100 is minus the sideways strain divided by the stretching strain. Using the symmetric relaxation in which vertices move only along their own axes, the elastic constants per unit volume are

C11 = 4(n − 1)² / (n² 2n) C12 = 4 / (n² 2n) C44 = 0

which gives ν100 = C12/(C11 + (n−2)C12) = 1/(n² − n − 1). The general-n step is a linear solve with si = (2εi − Σε/n)/n, and the numerics agree for n = 2 to 8.PROVEN (every n ≥ 3; the same algebra gives ν = 1 formally at n = 2) In 3D, ν = 1/5 exactly, and it does not depend on t for unit springs. For bars of the same material (stiffness proportional to 1/L), ν(t) rises monotonically from 0.035 to 0.32, and its value at the incentre equals 1/5 only because all bars there have equal length: the incentre is not an extremum.VERIFIED NUMERICALLY These unit-spring closed forms are the strongest remaining candidate: not found in Borcea and Streinu Section 7 or in Goodwin’s abstract.NO REFERENCE FOUND (web searches only; priority unresolved)

nfloppy modes n(n−1)/2self-stresses n(n−3)/2modes − stressesν100 = 1/(n²−n−1)νstatus of ν
CTRL // COUNTS
DIMENSION n
3
FIG 9. The n = 2 row is the exception: 2 floppy modes and no self-stress. The written proof covers every n ≥ 3. Numerical replay covers n = 2 to 8; n = 9 is shown from the proven formula, outside that replay range.

7A census of 159 frameworks, and pentamodes

The dot is one case of a general recipe, the Wythoff construction of the mirrors page, applied to the mirror groups of tilings and honeycombs: the nine affine Coxeter groups C̃2, G̃2, Ã2, C̃3, B̃3, Ã3, C̃4, B̃4 and D̃4, with every choice of which mirrors the generating point lies on. That is 159 frameworks, every nonempty ringing of the nine diagrams. For each, the survey compared the uniform point (the incentre-type point, equidistant from the mirrors it is not on) with a random point on the same face of the chamber. The mode and self-stress counts were identical in every case: at generic wavevectors, at q = 0, and in the dimension of the lattice strains the framework can reach.VERIFIED NUMERICALLY How much this shows needs care. In the 36 single-ringed cases the face is a single corner of the chamber, so the random point is the uniform point and agreement is automatic. Rings related by a symmetry of the diagram are counted separately (for C̃2, rings (0) and (2) have identical rows in the census file). The non-trivial comparison is the 123 multi-ringed cases, and counting each symmetry class once leaves 70 of them (91 classes in all). Moving the dot off the incentre, without changing which mirrors it lies on, never changes the linear mechanics. The incentre extremises packing quantities, not mode counts. It is mechanically ordinary, apart from the fold ending described above.

Two patterns appear in the census.

No compact formula in n covers the whole census beyond the contact family above and the z = n + 1 family, where the number of generic zero modes per cell is nV − E = (n − 1)|W/T|/2 for omnitruncations. No census of the rigidity of uniform honeycombs was found. Related known work: flexibility of periodic tilings by regular polygons (Grasegger and Legerský, arXiv 2305.01570); symmetry-adapted counts for periodic frameworks (Power, arXiv 1103.1914; Ross; Borcea and Streinu).KNOWN

The other frameworks one might build from the drawing are rigid and over-braced. The whole drawing (contacts, red lines, cube edges and pyramid edges) has no generic zero modes in 2D, 3D or 4D, and 12, 32 and 80 self-stresses per cell. The pyramid skeleton alone is rigid even without face diagonals (2, 5 and 12 self-stresses per cell). Octahedra as rigid units joined by cross bars is exactly the 3D contact framework above.VERIFIED NUMERICALLY

8Predictions for a printed version

Suppose balls are printed fused at small necks, so that the necks act as flexible hinges. These predictions follow from the above and have not been tested.CONJECTURE

9What this does not show

The cubic 3D tilt examples on this page use a 2×2×2 checkerboard with lattice vectors kept on the axes. Their collision scans are finite checks. The later stored shearing paths to hcp and fcc, including one-cell paths, are also checked at samples and interpolated substates. A separate explicit six-ball fcc construction now has a written proof covering every intermediate configuration and periodic image; repetition lifts that geometric motion to any positive integer supercell size. It remains under internal review. Other motion branches, an all-parameter hcp witness and historical priority are open. The 2D hinged-square mechanism is known from Flores, following Stuart (1963); the ball-packing formulas are corollaries under the stated hypotheses.

Most promising open question: map the full configuration space of the ball and bar framework, as a real algebraic variety, for every Wythoff orbit. Which tilt paths are finite? Where do they end in new contact states? Is the incentre always the unique point whose folds end in a uniform packing? The ledger page collects this with the other open questions.