Many of one thing

What a pattern has to satisfy

Move an interior vertex of a crease pattern and the folded state generally stops existing. How many conditions the drawing has to meet is not a matter of taste: it is exactly the number of dependencies among the constraints, measured at one, four and nine on three sizes of sheet, and a hundred on a sheet of a hundred and forty-four panels.

Assumes A constraint that has been said already and Each one moves, and together they do not.

The Miura pattern folds. The same grid with its vertices moved a tenth of a panel does not fold at all. Between those two facts there is a question with a number in it: how much of the drawing is not free?

It has an exact answer, and the answer is a quantity the field already computes for a different reason — the number of its constraints that repeat one another.

The question, stated so it can be measured

A three-by-three crease pattern has four interior vertices, each with two coordinates, so eight numbers describe where they are. The boundary is held fixed and the panel shapes follow from the vertex positions.

Some of those eight-number drawings fold rigidly and some do not. The question is the dimension of the set that does — or equivalently its codimension, the number of independent conditions a drawing has to satisfy to be in it.

The pattern, flat. A Miura pattern of 3×3 parallelograms. The 4 interior vertices are marked; the 12 creases between two panels are the mechanism's unknowns and the boundary edges are not. Every one of these vertices is developable — its sector angles come to a full turn to 8.9e-16 radians — and that is not a condition anybody imposed: a vertex drawn on a flat sheet has sectors that come to a full turn because the sheet is flat. So developability distinguishes nothing, and every argument in this field about which patterns fold is about something else.
Fig. 1 The drawing the conditions are conditions on: twelve creases, four interior vertices, and eight coordinates that may be moved.

Note what kind of question this is not. It is not a question about the fold angles, which are the mechanism’s unknowns. It is a question about the flat drawing, decided before anything is folded, and a pattern either satisfies it or does not. That is a different arrangement from anything else on this site: a four-bar’s four lengths decide what it does, and every set of four that can be assembled is a mechanism of some kind, whereas here almost every drawing is not a mechanism at all.

Where the answer comes from

Take a pattern that folds and a folded state of it. Move one vertex of the flat drawing by ε\varepsilon and recompute the vertex closures at the same fold angles. They no longer close, by an amount proportional to ε\varepsilon: call the derivative r/p\partial r/\partial p.

The fold might still exist a little way off, if the change can be absorbed by a change in the fold angles. To first order that asks whether r/p\partial r/\partial p lies in the column space of the fold Jacobian, which is the space of residual changes a change of fold angles can produce.

The part that does not lie there cannot be absorbed by any fold. And the directions that cannot be reached are exactly the left null space of the Jacobian — the dependencies among the constraints, which is what the field’s fourth rung is about.

So each parameter gives a vector of obstructions, one component per dependency, and the number of conditions is the rank of the map from parameters to obstructions.

That rank cannot exceed the number of dependencies, because that is the dimension of the space the obstructions live in. Whether the bound is attained is a measurement.

How the measurement is made

The routine is worth setting out, because the result is a rank of a matrix nobody has seen and the way it is built decides what it means.

Start from a folded state — the Miura mode at a driven fold of 0.4 radians, converged to 101410^{-14}. Take the fold Jacobian there and compute an orthonormal basis of its left null space: that is the space the obstructions live in, and its dimension is the redundancy.

Then, for each of the interior vertices’ two coordinates in turn, displace the flat drawing by 10510^{-5} either way, rebuild the pattern, and evaluate the vertex closures at the unchanged fold angles. The central difference of those gives r/p\partial r/\partial p for that parameter. Project it onto the dependency basis, and the result is one column of the obstruction map.

What the repeated constraints cost the drawing. Move an interior vertex of the flat pattern and the folded state generally stops existing. It survives if the change to the vertex closures can be absorbed by a change in the fold angles — and the part that cannot be absorbed is exactly the part that lies along a dependency, because a dependency is a direction in residual space the fold angles cannot reach. So the number of conditions a pattern's shape has to satisfy is at most the number of dependencies among its constraints, and on the Miura family it is exactly that: one at three by three, four at four, nine at five, measured by taking the rank of the obstruction. A twelve-by-twelve sheet has a hundred conditions on where its vertices may be. That is why a grid whose vertices are anywhere at all does not fold, and it is the same number, read the other way round, as the amount by which the count is wrong.
Fig. 2 The rank of that map, against the dimension of the space it lands in.

The map is therefore ss rows by 2V2V columns — one by eight at three by three, four by eighteen at four by four, nine by thirty-two at five — and its rank is the condition count.

Two things about that construction are worth noticing. The fold angles are held fixed while the drawing moves, which is what makes the question “can this be absorbed” rather than “does a fold exist”; and the projection onto the dependency basis is what discards the part that can be absorbed. Skip either step and the rank measured is the rank of something else.

It is attained

One condition on eight parameters at three by three. Four on eighteen at four by four. Nine on thirty-two at five by five. In each case exactly the dependency count, which for this family is (n2)2(n-2)^2.

The rank decisions are made across gaps of 10610^6, 1.6×1051.6 \times 10^5 and 8.2×1048.2 \times 10^4 — smaller than elsewhere in the field, because the obstruction map is built from finite differences of a solve and carries their noise, and still four or five orders clear of anything ambiguous.

Extrapolating along the family: a twelve-by-twelve sheet of a hundred and forty-four panels has two hundred and forty-two free vertex coordinates and a hundred conditions on them.

What that says about the moved grid

The three-by-three case is small enough to picture. Eight coordinates, one condition: the foldable patterns form a seven-dimensional surface inside an eight-dimensional space.

A surface of codimension one has no thickness. Displace a pattern in a direction chosen for no reason and it lands off the surface with probability one — which is exactly what happens, and the residual measures how far off.

What a pattern that cannot fold leaves behind. The best a least-squares solve can do with the vertex closures, against the fold it is asked for. The Miura pattern closes at every angle, at the arithmetic's own floor — the line along the bottom is 10⁻¹⁵ and below. The same grid with its vertices moved by a tenth of a panel does not close at any angle at all: its residual starts at 5.9e-6 at the smallest fold and grows with it, and no seed and no number of iterations moves it. Both patterns have the same panels, the same creases, the same graph and the same developable vertices, and every one of those vertices folds perfectly well on its own.
Fig. 3 The moved grid’s best fold residual against the fold it is asked for, with the Miura’s along the bottom at the arithmetic’s floor.

5.9×1065.9 \times 10^{-6} at a fold of 0.02 radians and 1.6×1031.6 \times 10^{-3} at half a radian, growing monotonically, with no seed and no number of iterations moving it. That is not a convergence failure; it is a minimum, and the minimum is not nought because the pattern is not on the surface.

At twelve by twelve the codimension is a hundred and the situation is not “harder” in any continuous sense — it is the same situation with a hundred conditions instead of one, and the chance of a freehand drawing satisfying them is not small but nil.

Why the bound could have failed

The result is that the condition count equals the dependency count, and it is worth saying what the alternative would have looked like, because a bound that is always attained is a suspicious kind of result.

The bound says at most. It could fail to be attained in a perfectly ordinary way: if some direction in the dependency space happened to be unreachable by any displacement of any vertex, the obstruction map would be rank-deficient and the pattern would have fewer conditions than dependencies. Geometrically that would mean a repeated constraint whose repetition did not depend on where anything was drawn — a coincidence forced by the graph rather than by the geometry.

On this family it does not happen: every dependency is reachable, and the rank is full at all three sizes with gaps of four to six orders of magnitude.

The same pattern with its vertices moved. The Miura pattern with every interior vertex displaced by about a tenth of a panel. The 4 interior vertices are marked; the 12 creases between two panels are the mechanism's unknowns and the boundary edges are not. Every one of these vertices is developable — its sector angles come to a full turn to 0.0e+0 radians — and that is not a condition anybody imposed: a vertex drawn on a flat sheet has sectors that come to a full turn because the sheet is flat. So each of these vertices is a spherical four-bar with a freedom of its own, exactly as the Miura's are, and the assembly of them does not fold at all.
Fig. 4 What a displacement in a direction with a non-zero obstruction produces: the same graph, the same panels, and no fold.
Three creases, a freedom at the flat state, and no fold. A vertex of three creases is a spherical triangle, and a triangle does not move. At the flat state its constraint matrix says otherwise: all three crease directions lie in the plane, so the three rows span two dimensions instead of three and the nullity comes back as 1 — a freedom, at a configuration where there is none. Asked to fold to any angle at all, the vertex refuses: the residual never falls below 1.2e-3 and grows with the fold. The four-crease vertex in the right-hand column, asked the same questions, closes at the arithmetic's own floor every time. A nullity is a candidate for a motion and not a motion, and this is the smallest mechanism on the site that says so.
Fig. 5 One vertex of the pattern, taken on its own. It has the freedom the whole sheet is supposed to have; the bound this essay measures is about what happens when many of these are asked to move together.

It is not hard to construct a pattern where it would fail, and the field does not claim otherwise. A pattern with a repeated vertex — the same four sectors appearing twice in a way that forces a symmetry — could carry dependencies that no local displacement disturbs. What is measured here is the Miura family, and what is asserted is what was measured.

Why symmetry is the only way out

This is where the arithmetic turns into a design rule, and it is the reason every mechanism in this field looks like a tessellation.

A hundred conditions on two hundred and forty-two parameters is a system with no structure to exploit. Solving it is a real problem and somebody’s subject. What is available instead is congruence: build the pattern out of copies of one vertex, arranged so that all hundred conditions are the same condition, and there is one number to get right.

That is what a Miura sheet is. Its interior vertices are all the same spherical linkage up to a reflection, so its hundred conditions are a hundred copies of one statement, satisfied by construction. Change the sector angle and they all change together and all stay satisfied; move one vertex and ninety-nine of them break.

Six sizes, one freedom, and a count going the other way. Creases and constraints both grow as the square of the sheet's side, and they grow at different rates: two per panel against three per interior vertex. So the counted column runs (n − 1)(3 − n) and is positive at two, nought at three and increasingly negative after that, while the measured mobility is one on every row. The redundant column is the difference and it is exactly (n − 2)² — one at three, four at four, nine at five, thirty-six at eight. A twelve-by-twelve sheet of a hundred and forty-four panels is counted at minus ninety-nine and has a hundred repeated constraints, and it is the same mechanism as the smallest one on this table.
Fig. 6 The other end of the same number: the redundancy column, which is the count’s error and the condition count at once.

The planar counterpart is a deployable ring’s kink angle — one number, chosen once, that makes every one of the ring’s repeated conditions the same condition. The two mechanisms are as unlike as two mechanisms in one field can be, and they are built the same way for the same reason.

Which directions are free

The complement of the answer is worth having too, because it is what a designer can actually adjust.

Seven of the eight parameters at three by three are free; fourteen of eighteen at four by four; twenty-three of thirty-two at five by five. A foldable pattern is not a rigid object with one shape — it sits on a surface of high dimension, and there is a great deal of room to move on it.

Some of that room is obvious. Changing the Miura’s sector angle α\alpha, its panel length aa or its panel width bb moves every vertex and keeps the pattern folding, because it produces another Miura. Those three directions are in the free set by construction.

The rest is not obvious and is not enumerated here. What the measurement says is that the free set has dimension seven at three by three, not that the seven have names.

The same question for a linkage

The shape of this argument transfers to mechanisms with no paper in them, and it is worth doing once because it makes the folding case look less exotic.

Take any assembly with ss dependencies among its constraints, and treat its dimensions — link lengths, pin positions, angles — as parameters. Displacing a dimension changes the closure residuals; the change can be absorbed by a change of configuration exactly when it lies in the Jacobian’s column space; and the part that cannot is an obstruction living in the same ss-dimensional space.

So every mechanism whose count is wrong has conditions on its own dimensions, and the number of them is bounded by the amount its count is wrong by.

Bennett’s four-bar is the site’s oldest instance: a spatial loop with one dependency and one condition relating its lengths and twists, which it either satisfies or does not move. Sarrus’s linkage is another. What the folding case adds is a family in which the number can be made as large as anybody likes, so that the relationship between the two counts can be tested rather than observed once.

The two readings of one number

The result worth carrying away is that (n2)2(n-2)^2 is one quantity with two meanings, and they are as different as two meanings get.

Read as a property of the mechanism, it is the number of constraints that repeat what the others have said: the amount by which the count is wrong, the reason a sheet with minus ninety-nine freedoms folds.

Read as a property of the drawing, it is the number of conditions the pattern’s shape has to meet before there is a mechanism at all.

What the count is right about. Freedoms minus dependencies, against what the count predicts, on seven assemblies from three different representations. The difference is exact every time and it is exact for a reason that has nothing to do with mechanisms: the count is unknowns minus constraints, the rank is a number no larger than either, and the two nullities are what each of them has left over. So a count is not wrong in the way a mismeasurement is wrong. It is a statement about a difference being read as a statement about one of the terms — and on four of these seven rows both terms are large and the difference is nearly meaningless.
Fig. 7 The dependency column across the field’s assemblies, which is the same column in both readings.

They are the same number because they are the same subspace seen from either side. A dependency is a direction in residual space that no fold can reach; that is what makes it invisible to the count, and it is what makes it an obstruction to a change of shape. Nothing about that is special to folding: the deployable ring’s four dependencies are four conditions on its elements’ geometry, and its one condition — the kink angle — is four conditions collapsed by symmetry.

What a designer does with the number

Three practical readings, and they are the reason the number is worth measuring rather than bounding.

It says how much freedom there is to tune. Seven free directions out of eight at three by three, twenty-three out of thirty-two at five by five. A foldable pattern is not a point; a designer who needs a different panel aspect ratio, a different fold depth or a different flat footprint has a large surface to move on and can expect to find one.

It says how the difficulty scales. Conditions go as (n2)2(n-2)^2 and parameters as 2(n1)22(n-1)^2, so the ratio tends to a half: a large pattern has about twice as many parameters as conditions however large it gets. That is a much better situation than it might have been, and it is why designing large rigidly-foldable patterns is possible at all — but it is only reachable by solving the conditions, not by drawing carefully.

And it says what a small error costs. A pattern drawn to satisfy the conditions to within a manufacturing tolerance is off the surface by that tolerance, and the residual is what a fold would have to absorb. The mechanism does not fail gracefully into a slightly different mechanism; it fails into no mechanism, and the same error repeated across every unit is the form that failure usually takes.

A residual instead of the equations

The conditions are counted and not written down, and that is stated as a limit. It is worth saying what the field has instead, because the substitute is good enough that writing them down might not be worth the effort.

Writing the conditions means eliminating the fold angles from the vertex closures — a symbolic computation whose size grows with the pattern, producing expressions in the vertex coordinates that are conditions for a fold to exist. At three by three that is one equation in eight unknowns and might be done; at twelve by twelve it is a hundred equations in two hundred and forty-two, and nobody is going to look at them.

What the field computes instead is a residual: how nearly the pattern folds, measured as the closure error at the best fold angles a solve can find. That is a single non-negative number, it is zero exactly on the foldable set, and it grows with distance from it — which is everything a condition is for except the ability to be read.

So a designer has a workflow that never needs the equations. Parameterise the pattern however the application wants, evaluate the residual, and minimise it. That is optimisation onto a set whose defining equations are unknown, using a function that vanishes exactly on it, and it is the same arrangement this site uses everywhere it solves a mechanism rather than deriving a closed form.

The trade is the usual one and it runs the usual way. A written condition would say which directions are free and would let a designer move along the foldable set exactly; a residual says only how far off the current pattern is, and reaching the set means iterating. What the residual buys is that it costs nothing to write, works at every size, and needs no elimination that has to be got right.

There is one thing the residual cannot do that the count already supplies, and it is why both are in the field. A residual is a single number, so it says nothing about how many ways the pattern is wrong — whether one condition is violated badly or a hundred slightly. The rank of the obstruction map answers that, and the two together give a designer both the direction and the dimension of the problem, from two computations neither of which requires the conditions themselves.

What is not claimed

This is a first-order count. The obstruction map is a derivative, so its rank counts conditions that are visible at first order in the displacement. A pattern could in principle satisfy all of them and still fail at second order, which would make the true codimension larger. Nothing in this family does that, and the measurement would not see it if it did.

The boundary is held fixed. Only interior vertices are counted as parameters, which is the right choice for a patch cut out of a larger pattern and the wrong one for a pattern whose edge is part of the design. Freeing the boundary adds parameters and does not add conditions, so it moves the codimension down and leaves the dependency count where it is — which is worth knowing, and is a different measurement from the one above.

And the conditions are not written down. The rank of the map is measured; the conditions themselves are not extracted, factored or given names. What such conditions look like at a single vertex is somebody else’s subject and a well-studied one; what is owned here is the arithmetic that says how many of them a whole assembly has and where the number comes from — which is the same rank the field measures for every other purpose, read in the other direction.

About the same objects

Not linked from either essay — found by the objects both name.

What links here

Essays that link to this one from their own argument.

The objects this essay names

Each one links to every other essay that touches it.

CodimensionCrease patternDesign ruleNetworkNull spaceObstructionRankRedundant constraintRigid origami