What can move

Nine bars that ought to be rigid

Join each of three joints to each of three others and the nine bars leave no freedom, by the count and by the rank, wherever the joints are. Put one set on a line and the other on a line at right angles and the framework moves, all the way round a loop, with no bar repeating any other: take away any one of the nine and the motion is unchanged, take away any two and it gains a freedom. Tilt the lines by a degree and it still has a freedom by rank and cannot move at all.

Assumes The mechanism Grübler says cannot move and Counting and measuring mobility.

The mechanism Grübler says cannot move is the standard example of a count that is wrong. Three equal cranks hang from a frame and carry one coupler; the count of links and joints says the chain is a structure, and it swings freely. The explanation is equally standard, and it is easy to point at. The third crank repeats the first. Whatever the first crank’s condition allows, the third’s allows too, so one of the three conditions adds nothing, and a count that treats every condition as independent comes out one short.

That explanation has a shape worth noticing: there is a culprit. Some particular bar is the redundant one, and taking it away leaves the same mechanism. This essay is about a mechanism that moves when its count says it cannot and has no culprit at all.

In 1899 the mathematician A. C. Dixon described a framework of nine bars that ought to be rigid by every count and is not, in a particular placement. What follows measures it three ways and finds something the count and the rank both miss: its redundancy belongs to none of its bars and to all nine together.

Nine bars joining two sets of three joints, at three placements of one motionJoints B₁, B₂ and B₃ lie on the horizontal line at -2, 1, 3, joints W₁, W₂ and W₃ on the vertical line through the same point at -1.5, 1, 2.5, and every joint of one set is barred to every joint of the other. Counted, nine bars on six joints leave no freedom. Drawn here at three placements, the joints have slid along their lines — B₂ at 0.632 and W₂ at 1.265; B₂ at 1.000 and W₂ at 1.000; B₂ at 1.265 and W₂ at 0.632 — and every one of the nine bars has the same length in all three, to 4.4e-16.B₁B₂B₃W₁W₂W₃earlier in the motionB₂ at 0.63, W₂ at 1.26B₁B₂B₃W₁W₂W₃the placement as builtB₂ at 1.00, W₂ at 1.00B₁B₂B₃W₁W₂W₃later in the motionB₂ at 1.26, W₂ at 0.63dashed: the two perpendicular linesthe same nine lengths in every panel
Fig. 1 Nine bars joining each of three joints on a horizontal line to each of three joints on the vertical line through the same point, at three placements of one motion. The joints slide along their lines and every bar keeps its length.

Nine bars, six joints, and a count of nought

The framework has two sets of three joints. Call them B1B_1, B2B_2 and B3B_3, and W1W_1, W2W_2 and W3W_3. Every B is joined to every W by a bar, and no two joints of the same set are joined, so there are nine bars. As a graph it is the one mathematicians call K3,3K_{3,3}, the pattern of three houses each connected to three utilities.

Grübler’s count sees nine binary links and six joints, each joint shared by three bars and therefore worth two pins. With one bar taken as the frame that is 3 × 8 − 2 × 12 = 0. Counted in coordinates instead, six joints in a plane have twelve, the plane’s own rigid motions take three, and nine bars take nine, which again leaves nought. Either way the count says a structure.

For almost every placement the count is right. With the joints put down anywhere in general position, the nine rows of the constraint Jacobian, each the derivative of one bar’s length with respect to the twelve joint coordinates, have rank nine. Nothing is left over, and the framework cannot change shape without some bar changing length.

Two lines at right angles

Dixon’s placement puts B1B_1, B2B_2 and B3B_3 on a horizontal line, at −2, 1 and 3 from a chosen point, and W1W_1, W2W_2 and W3W_3 on the vertical line through that point, at −1.5, 1 and 2.5. The bar from a joint at distance x on one line to a joint at distance y on the other then has length x2+y2\sqrt{x^2 + y^2}, which is what makes the placement special. Every bar’s squared length is a sum of one number belonging to its B and one belonging to its W.

That sum can be held fixed while both numbers change. Add the same amount t to every B’s squared distance and subtract it from every W’s, so that each B sits at x2+t\sqrt{x^2 + t} and each W at y2t\sqrt{y^2 - t}, and every one of the nine squared lengths is unchanged, because each gains t from one end and loses t from the other. That family of placements is a motion, and the right angle is doing all the work in it. With the two lines at any other angle α, the squared length of the bar from x to y is x2+y22xycosαx^2 + y^2 - 2xy\cos\alpha, and the last term ties the two ends together: shifting the B’s squared distances and the W’s in opposite directions no longer cancels, because the cross term changes by an amount that depends on both. Only when cos α is nought does every bar’s length separate into a part owned by each end. That is also a prediction about what tilting the lines should do, and it is tested below.

The first figure draws three members of the family: B2B_2 at 0.632 and W2W_2 at 1.265, the placement as built with both at 1, and B2B_2 at 1.265 and W2W_2 at 0.632. The nine bar lengths are the same in all three to 4.4 × 10⁻¹⁶.

So the count is wrong about this placement. The rank of the Jacobian is not.

Counted, ranked and pushed: four placements of the same nine bars. The same nine bars on six joints at four placements. Grübler's count is zero for all four, because it reads only the bars and joints. The rank of the constraint Jacobian, out of the nine rows, and the freedoms it leaves: joints moved off the lines, rank 9 and 0 freedoms; the lines at 90°, rank 8 and 1 freedom; the lines at 80°, rank 8 and 1 freedom; the lines at 60°, rank 8 and 1 freedom. The last column forces the second joint 0.01 along its line and reports how far the best placement is from keeping all nine lengths: 4.2 × 10⁻⁴ for joints moved off the lines, 0 for the lines at 90°, 2.3 × 10⁻⁶ for the lines at 80°, 9.4 × 10⁻⁶ for the lines at 60°. Only the perpendicular lines take the move; the tilted ones have a freedom to first order and no motion.
Fig. 2 The same nine bars at four placements: counted, ranked, and pushed by forcing one joint 0.01 along its line. The count is nought for all four. The rank finds a freedom in three of them, and only one of those three takes the push.

The table starts with a placement near Dixon’s but with every joint moved a few tenths off its line. Its rank is nine, it has no freedom, and when B2B_2 is forced 0.01 along its line the best placement that can be found still misses keeping all nine lengths by 4.2 × 10⁻⁴. That is a rigid framework being forced, and the miss is what forcing a rigid framework costs.

At Dixon’s placement the rank is eight, one row of the nine depends on the others, and the framework has one freedom by rank. Forced 0.01, it misses by nothing at all, to rounding. That agrees with the formula.

The last two rows are the reason the push column exists. Tilt the vertical line to 80° or to 60° from the horizontal, keeping every joint at the same distance from the crossing point, and the rank is still eight. By rank, each of these placements has a freedom exactly as Dixon’s does. Pushed, they miss by 2.3 × 10⁻⁶ and 9.4 × 10⁻⁶. A rank measures the first order and a push measures the motion, and here the two disagree. That disagreement is taken up below. First, the placement where they agree.

The motion, followed without the formula

The formula gives the motion, and a formula is a claim. The second route to it uses nothing but the nine bar lengths. Starting from the placement as built, the framework is moved a small step along the one direction its bars leave free, pulled back onto exact lengths by Newton’s method, and moved again. Nothing in this knows about lines, square roots or the parameter t. It is told only that nine distances must stay fixed, and it is not told which joints to move.

Each placement it reaches is then compared with Dixon’s formula by all fifteen joint-to-joint distances, which fix a placement up to a rigid motion. Every placement along the way matches a member of the formula to 4.2 × 10⁻¹⁴. Both routes find one motion.

The formula runs out and the motion does not

The formula has a range. Subtracting t from every W’s squared distance works only while every one stays positive, and W2W_2, at 1, is the nearest to the crossing point; at t = 1 it arrives there. In the other direction B2B_2 arrives at t = −1. So the formula describes a motion between two placements in which a joint sits exactly on the crossing point, and says nothing beyond them.

The framework has no such limit. Followed on its bar lengths, it reaches the placement with W2W_2 at the crossing and passes straight through it.

The motion followed all the way round, on the nine bar lengths alone. The framework's motion followed step by step from the placement as built, using nothing but the nine bar lengths, and every placement on the way compared with Dixon's formula by all fifteen joint-to-joint distances. Top: which member of the formula each placement is. It runs from 0 to 1, where W₂ reaches the crossing point; the motion carries on as the formula with W₂ on the other side, back to -1, where B₂ reaches the crossing; and so on through all four choices of side, 4 crossings, until after a distance of 15.00 it is back where it started. Bottom, on a log scale: the worst mismatch between each placement and its member of the formula, never above 4.2 × 10⁻¹⁴; and the smallest singular value the rank keeps, never below 0.496, so the one freedom is never a close decision.
Fig. 3 The motion followed round on the nine bar lengths alone. Top: which member of Dixon’s formula each placement is, with the bands marking which side of the crossing point B2B_2 and W2W_2 are on. Bottom, on a log scale: how closely each placement matches the formula, and the smallest singular value the rank keeps.

Past the crossing, the placements are again members of Dixon’s formula, with W2W_2’s distance now counted on the other side of the crossing point. The parameter turns round and runs back down to −1, where B2B_2 reaches the crossing; past that the formula resumes with B2B_2 on its other side as well; and so on. The motion passes the crossing point four times, once for each of the four ways of choosing sides for B2B_2 and W2W_2, and after a distance of 15.00 in joint coordinates it is back at the placement it started from. It is a closed loop.

Nothing about the rank marks the crossings. The smallest singular value the rank keeps is never below 0.496 anywhere on the loop, including at the four crossings, so the framework’s one freedom is never a close decision. The formula’s range ends where a square root reaches nought, and that is a fact about the formula, not about the framework.

A joint passing through the crossing point, and the motion carrying on. The framework as W₂ reaches the crossing point of the two lines and passes it, with W₂'s three bars drawn in the input colour. Left, W₂ at 0.500 above the crossing. Middle, W₂ at the crossing, where Dixon's formula has run out: W₂'s three bars all lie along the horizontal line, over the first set of joints. Right, W₂ at -0.500, below it. Followed on the bar lengths alone, the motion passes straight through the middle placement from the left one to the right one, and the right one is Dixon's formula again with W₂'s distance counted on the other side.
Fig. 4 W2W_2 passing through the crossing point, with its three bars drawn in the input colour. Before, it is above the crossing; at the crossing, its three bars lie along the horizontal line over the other three joints; after, it is below.

The middle placement looks alarming, and a reader of the essay on a parallelogram at its flat position might expect a change point there. W2W_2’s three bars lie along one line, over B1B_1, B2B_2 and B3B_3, which is the kind of alignment at which a four-bar has to choose between two motions. Here there is no choice. The framework has one freedom on either side of that placement and one freedom at it, and the measured motion runs through without branching. A flat arrangement makes a change point only where it also loses rank, and this one does not.

No bar is the redundant one

Back to the question the introduction raised. A framework with nine conditions and one freedom has one condition too many. In the three-crank chain the extra one can be named. Which is it here?

Removing bars answers that. Take away one bar, recompute the rank of the other eight, and follow the motion the eight allow; take away two, and recompute again.

Take away any one bar and nothing changes; take away any two and a freedom appears. The framework at one placement of its motion, with bars removed. Each cell on the diagonal is one bar taken away, and every one leaves one freedom by rank; each cell off the diagonal is that pair taken away, and every one of the thirty-six pairs leaves two. On the right, for each single bar removed, the motion of the other eight is followed on their own lengths over a travel of 0.29, and the removed bar's length would have changed along it by no more than 7.1 × 10⁻¹⁵: the eight allow exactly the motion the nine did.
Fig. 5 Every bar removed singly, on the diagonal, and every pair removed, off it, with the freedoms the rest leave. On the right, for each single bar removed, how much its length would have changed as the other eight moved.

Every single bar can go. With any one of the nine removed, the other eight have rank eight and one freedom, and the motion they allow is the nine-bar motion exactly. Followed over a travel of 0.29 on their own lengths, the missing bar’s length would have changed by no more than 7.1 × 10⁻¹⁵ in any of the nine cases. No pair can go. With any two of the nine removed, and there are thirty-six pairs, the remaining seven have two freedoms.

That is a precise statement of what the framework’s redundancy is. It is a single dependency among the nine rows of the constraint Jacobian, and every one of the nine takes part in it, so any eight rows are independent and any one row is implied by the other eight. The count missed a redundancy; there is no redundant bar. A repeated condition, like the third crank, is the special case in which a dependency happens to involve only a few rows that visibly copy each other. Dixon’s framework is the general case, and it cannot be diagnosed by looking for a duplicate.

It also changes what “the constraint that can be removed” means for anybody building one. The three-crank chain has a bar that can be left out and one that cannot. Here any bar is the spare, which is also why a Dixon framework carries a manufacturing condition on all nine at once rather than on one, as a seventh contact does for a part held by six. What the condition is, is the next question.

Tilt the lines

The dependency among the nine rows exists at the placements with the lines at 80° and 60° too; that is what their rank of eight says. What those placements lack is the motion, and the push is the instrument that shows it.

A rank is a statement about derivatives at one placement: there is a direction in which every bar’s length is unchanged to first order. Whether a real motion starts in that direction is a question about the second order and beyond, and a freedom to first order can exist with no motion at all. The push asks it directly. Force B2B_2 a distance h along its line, hold the plane’s rigid motions, and find the placement that comes closest to keeping all nine lengths. If the framework moves, the miss is nought for every h. If it has a first-order freedom and no motion, the lengths can be kept to first order and not to second, so the miss grows as h2h^2.

Forced to move, the tilted frameworks miss by the square of the move. The second joint forced along its line by h, with the rigid motions held, and the placement found that comes closest to keeping all nine bar lengths. With the lines at 90° every move is taken exactly, the miss never above 8.0 × 10⁻¹⁶, which is rounding; at 85° the miss grows with slope 2.015, from 1.1 × 10⁻⁸ at h = 0.001 to 1.2 × 10⁻⁴ at h = 0.1; at 80° the miss grows with slope 2.016, from 2.3 × 10⁻⁸ at h = 0.001 to 2.5 × 10⁻⁴ at h = 0.1; at 60° the miss grows with slope 2.023, from 9.3 × 10⁻⁸ at h = 0.001 to 1.1 × 10⁻³ at h = 0.1. A slope of two is what a framework with a freedom to first order and no motion leaves.
Fig. 6 How far the best placement misses keeping all nine lengths, against how far B2B_2 is forced, for the lines at 90°, 85°, 80° and 60°. The tilted frameworks miss along lines of slope two; the perpendicular one takes every push to rounding.

That is what the measurement finds, over two decades of push. At 85° the miss rises from 1.1 × 10⁻⁸ at h = 0.001 to 1.2 × 10⁻⁴ at h = 0.1, a slope of 2.015; at 80° the slope is 2.016, and at 60° it is 2.023. At 90° it is never above 8.0 × 10⁻¹⁶.

Why the tilted placements have a first-order freedom at all is a classical result, quoted here rather than derived: nine bars in the K3,3K_{3,3} pattern lose rank whenever their six joints lie on one conic section, and two crossing lines are a conic, at any angle. Every placement with the joints on two crossing lines therefore has rank eight. Dixon’s observation was that at a right angle, and only there, the first-order freedom extends to a motion.

“Only there” is itself a claim a measurement can test, and it could have been otherwise. The moving placements might have formed a narrow band of angles around 90°, or the miss might have fallen away much faster than the tilt.

The further from perpendicular, the further a forced move misses. The second joint forced 0.01 along its line, with the two lines at angles from 60° to 89.75°, and the distance from the best placement to one that keeps all nine lengths. 89.75°: 5.39 × 10⁻⁸; 89.50°: 1.08 × 10⁻⁷; 89.00°: 2.16 × 10⁻⁷; 88.00°: 4.35 × 10⁻⁷; 85.00°: 1.11 × 10⁻⁶; 80.00°: 2.31 × 10⁻⁶; 70.00°: 5.23 × 10⁻⁶; 60.00°: 9.44 × 10⁻⁶. Within two degrees of perpendicular the miss is proportional to the tilt, slope 1.004, at 2.15 × 10⁻⁷ per degree, and at exactly 90° it is 1.0 × 10⁻¹⁶, which is rounding: the family of moving frameworks is the one angle, not a neighbourhood of it.
Fig. 7 The miss when B2B_2 is forced 0.01, against how far the two lines are from perpendicular, from a quarter of a degree to thirty degrees, on logarithmic axes. Near perpendicular it is proportional to the tilt.

Near perpendicular the miss is proportional to the tilt: within two degrees of 90° the log-log slope is 1.004, at 2.15 × 10⁻⁷ for each degree when B2B_2 is forced 0.01. At 89.75° it is 5.39 × 10⁻⁸, and at exactly 90° it is rounding. There is no band of moving frameworks round the right angle; there is the right angle, and a miss that starts growing the moment the lines leave it.

That is the shape the cross term predicted. The term that spoils the motion carries a factor cos α, and cos α at 90° less a small tilt ε is sin ε, which is ε to first order. So near perpendicular the obstruction should be linear in the tilt, and the measured slope of 1.004 says it is. That is a statement about small tilts and nothing more. Further out the miss grows faster than the tilt, from 2.15 × 10⁻⁷ a degree near 90° to 3.15 × 10⁻⁷ a degree at 60°, where it is 9.44 × 10⁻⁶: eight and a half times its value at 85° for six times the tilt. The cross term is not the only thing that changes as the lines close up, and nothing here separates the others.

The same reading explains why the tilted placements keep their rank of eight. The cross term changes a bar’s length only at second order in a small displacement along the first-order freedom, so the first derivatives, which are all a rank can read, are exactly those of a placement on two crossing lines at any angle. The rank belongs to the space of configurations only near one point; the push sees the space a finite distance away.

That proportionality makes the right angle the framework’s manufacturing condition, and a gentle one. The miss grows as the tilt times the square of the push. A framework built a degree off square and pushed through a small move misses by the product of a small number and the square of another. Whether clearance in nine joints can absorb that is a question about how the miss divides among them, which this essay does not settle.

What the count, the rank and the push each see

Three instruments have been pointed at one object, and each saw something different.

The count reads bars and joints. It says nought for every placement of nine bars on six joints, because it cannot see where anything is.

The rank reads the first derivatives at one placement. It separates a generic placement, rigid at rank nine, from every placement with the joints on two crossing lines, which have rank eight and a freedom to first order. It cannot tell Dixon’s right angle from 89°.

The push reads the second order. It separates the right angle, where every forced move is taken, from every other angle, where a move of h misses by something proportional to h2h^2.

The three-crank chain was a disagreement between the first instrument and the second, and it is sometimes taken as the whole story of paradoxical mechanisms: the count is wrong and the rank is right. Dixon’s framework has that disagreement too, and then a second one, between the rank and the motion, with the rank on the wrong side of it. One freedom and four hundred links could lean on the rank because every surplus equation there was added deliberately and the motion was known. Here the rank is the instrument that needs checking.

What the nine bars leave out

The bars cross. In the plane, several of the nine bars pass through one another as the framework moves. A physical framework needs the bars in layers, with pins long enough to reach, and whether a layering exists that lets the whole loop be traversed without collisions is not examined.

Clearance and elasticity. Every joint is a perfect pin and every bar exactly its length. What a real framework does near a tilted placement, where a small miss must be absorbed somewhere, depends on play and stiffness.

Other flexible placements. Dixon described more than one way to make these nine bars move. Only the placement on two perpendicular lines is measured here, and the claim that it is the only moving one among placements on two crossing lines rests on the push at the angles tried, not on a proof.

Forces. The dependency among the nine rows has a counterpart in the forces the bars can carry with nothing applied from outside. That is a statement about loads, and nothing here computes one.

What comes next: the right angle as a tolerance

The push measured a miss proportional to the tilt and to the square of the move. That is half of a tolerance. The other half is how the miss is shared among nine joints with clearance, and it has a definite form: for a framework built with its lines a small angle off perpendicular, the smallest radial clearance, the same at every joint, that lets it pass through a stated travel.

Its distinct argument would be whether that clearance grows as the tilt, as the miss does, or as a different power because nine joints share it; and whether a framework whose clearance is sized for one travel can traverse the whole loop, crossings included, or jams at the first placement where a joint passes the crossing point.

What this makes readable

Essays that name this one as a prerequisite.

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.

Configuration spaceConstraint jacobianDegrees of freedomGrübler's criterionMobilityOverconstraintParadoxRedundant constraint