Out of the plane

Every motion is a screw

Chasles showed that any rigid displacement whatever is a turn about some line together with a slide along that same line. Not approximately, and not usually — always, with the line and the amount of slide computable from the motion. It is the fact that makes spatial kinematics a subject rather than a pile of special cases.

Assumes Six freedoms, not three and Where the coupler is turning.

A rigid body in space has six freedoms, and counting them is where this field started. Six freedoms means a displacement of that body — where it was, where it is now — takes six numbers to describe. That much is bookkeeping.

What is not bookkeeping is what those six numbers turn out to be about. Take any rigid displacement at all: pick up a book, move it across a room, turn it over twice on the way, set it down at an angle. However complicated the path, the relationship between where it started and where it finished can be produced by a single rotation about a single line, together with a single translation along that same line. One line, one angle, one distance.

That is Chasles’s theorem, and the object it names — a line, an angle about it, a slide along it — is a screw.

A screw of pitch 0.25. A single screw drawn from its own decomposition. The six numbers of the twist go into a decomposition that returns a direction, a point on the axis and a pitch of 0.2500; the helix is then the path of a point at radius 0.5 about that axis, advancing 0.250 along it per radian turned. Over 1.15 turns the point advances 1.806 — the pitch times the angle, which is what pitch means. This screw is a screw.
Fig. 1 A screw of pitch 0.25, drawn from its own decomposition rather than to it. Six numbers go in; the axis, the point and the pitch come back out; the helix is then the path a point at that radius traces. Drag the pitch: at zero the helix closes into a circle and the screw is a pure rotation, and as the pitch grows it stretches towards a straight line, which is the pure translation that sits at the other end.

Why this is worth a page

Because it collapses a taxonomy.

Without it, spatial motion is a list of cases. A rotation is one thing, a translation is another, a rotation-plus-translation is a third, a rotation about an axis that is itself moving is a fourth, and each needs its own treatment. Chasles says there are no cases. There is one object with a parameter, and the parameter — the pitch, the distance advanced per radian turned — runs from zero to infinity. Zero pitch is a pure rotation. Infinite pitch is a pure translation. Everything else is in between and is nothing special.

The planar version of this collapse is already on this site and is the instant centre: whatever a body in the plane is doing at an instant, it is turning about some point, and that point may be at infinity if the body is translating. Chasles is the same statement one dimension up, and the instant centre is the special case — a screw of zero pitch whose axis runs perpendicular to the plane through the centre.

That is not an analogy. It is the same theorem, and the last section of this essay computes the planar case out of the spatial machinery to show that it is.

A screw of pitch 0.00. A single screw drawn from its own decomposition. The six numbers of the twist go into a decomposition that returns a direction, a point on the axis and a pitch of 0.0000; the helix is then the path of a point at radius 0.5 about that axis, advancing 0.000 along it per radian turned. Over 1.00 turns the point advances 0.000 — the pitch times the angle, which is what pitch means. This screw is a pure rotation.
Fig. 2 The same generator at a pitch of exactly zero. The helix has closed, and what is left is a circle about the axis — a pure rotation, which is what a revolute joint produces and what every one of the joint screws in this site’s spatial solver is. Nothing about the drawing was changed to make this happen; the parameter went to zero and the picture followed.

The six numbers, and which six

A screw as a displacement has an axis, an angle and a slide. A screw as a rate — which is what a moving mechanism has at each instant — is written differently, and the difference matters enough to state.

An instantaneous motion is a twist: an angular velocity ω, and the linear velocity v of whichever point of the body happens to be passing through the origin at that instant. Six numbers, written

$=[ωx ωy ωz  vx vy vz]\$ = [\omega_x\ \omega_y\ \omega_z\ \ v_x\ v_y\ v_z]

The second half is the part that surprises. It is not “the velocity of the body”, because different points of a turning body have different velocities. It is the velocity of one specific point — the one at the origin — and it is a perfectly good stand-in for the whole motion because once ω and the velocity of any one point are known, the velocity of every other point follows from vP=vO+ω×Pv_P = v_O + \omega \times P.

The choice of the origin as that point is a convention and it has a cost: three of the six numbers change when the coordinate frame moves. Slide the origin by d and the twist becomes [ω ; vd×ω][\omega\ ;\ v - d \times \omega]. The motion has not changed. The description has.

So the six numbers are not the motion. The axis and the pitch are, and getting from one to the other is the whole content of the decomposition:

h=ωvωω,q=ω×vωωh = \frac{\omega \cdot v}{\omega \cdot \omega}, \qquad q = \frac{\omega \times v}{\omega \cdot \omega}

The first is the pitch. The second is the point of the axis nearest the origin, which together with the direction ω fixes the line. Both are computed by screwAxis in lib/screw.js, and everything drawn in this essay is drawn from what it returns.

Where the coupler is pivoting, at 70°At any instant the coupler is turning about one point — not a pin, and usually not on the mechanism at all. Kennedy's theorem finds it: the crank and coupler share the pin at A, the coupler and rocker share B, so the coupler's centre relative to the frame must lie on both O₂A extended and O₄B extended, and it is where they cross. The dashed lines are that construction. The cross is a completely different route to the same point — the place where the coupler's solved velocity field is zero, computed from the Jacobian and knowing nothing about Kennedy. Across 119 positions the two agree to 2.7e-15. At this instant the centre lies outside the frame — the two construction lines are nearly parallel, the coupler is close to translating, and the pivot has run off rather than gone missing.centre outside the framepositioned by solving, not by drawing
Fig. 3 The planar case, from the field that already has it. At each instant the coupler of a four-bar is turning about one point, and every velocity in the bar is perpendicular to the line from that point. The last section of this essay derives that point out of the screw decomposition, with no planar assumption in it beyond putting the motion in a plane: the instant centre is a screw of pitch exactly zero whose axis stands perpendicular to the page.

The check that matters, which is invariance

A decomposition that produced a different axis in different coordinates would be worthless, and worthless in a particularly quiet way: every figure on this site would draw its axes somewhere, the pictures would look reasonable, and nothing would report that the somewhere was wrong.

So the site checks it. assertPitchDoesNotMoveWithTheOrigin takes forty screws, translates the coordinate frame by (0.7, −1.3, 2.2), recomputes, and requires two things. The pitch must be unchanged — it comes out to within 3.6 × 10⁻¹⁶. And the axis must be the same line, which is a subtler requirement than the same point: the returned point is the one nearest the origin, so moving the origin moves it, and the test is that the shifted point still lies on the recomputed line. It does, to 9.1 × 10⁻¹⁶.

Both numbers are at the level of arithmetic noise on unit-sized quantities, which is the answer a claim of exact invariance should produce. A claim like this one either holds to the last bit or is false, and there is no interesting middle.

The round trip is checked separately and for a different reason. assertAxisAndPitchReproduceTheScrew takes a screw apart into axis, point and pitch, rebuilds a screw from those three, and compares the six numbers: 5.2 × 10⁻¹⁶ over sixty samples. That is not the same test. Invariance says the decomposition does not depend on the frame; the round trip says it does not lose anything. A decomposition could easily be frame-independent and still throw away information — it would simply be frame-independently wrong.

A screw of pitch 0.50. A single screw drawn from its own decomposition. The six numbers of the twist go into a decomposition that returns a direction, a point on the axis and a pitch of 0.5000; the helix is then the path of a point at radius 0.42 about that axis, advancing 0.500 along it per radian turned. Over 1.40 turns the point advances 4.398 — the pitch times the angle, which is what pitch means. This screw is a screw.
Fig. 4 Twice the pitch of the hero figure, over a longer sweep. The helix has stretched by exactly the factor the pitch changed by, because the advance per radian is the pitch and there is nothing else in the relation. Push it further and the coil opens towards a straight line, which is the pure translation infinite pitch names — and which the arithmetic below refuses to give an axis to at all.
A screw of pitch 1.50. A single screw drawn from its own decomposition. The six numbers of the twist go into a decomposition that returns a direction, a point on the axis and a pitch of 1.5000; the helix is then the path of a point at radius 0.4 about that axis, advancing 1.500 along it per radian turned. Over 0.80 turns the point advances 7.540 — the pitch times the angle, which is what pitch means. This screw is a screw.
Fig. 5 A coarse screw, six times the pitch of the first. The axis and the pitch are the whole of the description: change the pitch and the same rotation carries the body six times as far along the axis.

What zero pitch and infinite pitch are

The two ends of the parameter deserve naming because they are the two cases everybody already has intuitions about, and the intuitions are subtly misleading.

Zero pitch is a pure rotation. The helix closes into a circle; the body turns about the axis and advances along it not at all. Every revolute joint on this site generates a zero-pitch screw, and the expression for it is the one lib/spatial.js has used since the expansion phase built the spatial solver: for an axis in direction ω through the point q, the screw is [ω ; q×ω][\omega\ ;\ q \times \omega].

Infinite pitch is a pure translation, and here the arithmetic makes a demand. If ω is zero, h=ωv/ωωh = \omega \cdot v / \omega \cdot \omega is nought over nought, and the axis point q=ω×v/ωωq = \omega \times v / \omega \cdot \omega is worse. There is no axis. A pure translation does not happen about a line; it happens in a direction, and every line parallel to that direction serves equally.

The library says so rather than returning a NaN. screwAxis sets infinite: true, returns the direction and no meaningful point, and any figure drawing an axis has to handle that case explicitly. This is the difference between a library that reports a degeneracy and one that produces a picture with an infinity quietly in it — and the second kind is what a reader cannot detect, because a line drawn through the origin looks exactly like a line drawn through the right place.

The pitch has units, which is a trap

A pitch is a length: distance advanced per radian turned. So “small pitch” and “large pitch” are meaningless without a length to compare against.

This matters more than it sounds, because the natural question about any constraint wrench or joint screw is is this essentially a force, or essentially a couple? — and the answer is decided by comparing a pitch to zero or to infinity. Both comparisons need a scale.

screwKind therefore takes one. Its scale argument is the size of the mechanism, and the classification is against 1e-7 × scale. The default of 1 suits the unit-ish linkages here, where a bar is about 1 and a pitch of 10⁻¹⁵ is noise while a pitch of 0.3 is a third of a link length and thoroughly finite. On a mechanism measured in millimetres the same absolute pitches would mean the opposite things.

The convention costs one argument and it buys the ability to say “this leg carries a force” and mean something checkable. The alternative — a fixed absolute threshold — would be a statement about the units the figure happened to be drawn in.

The classification, applied

With a scale in hand, every screw falls into one of three named cases, and the names are the ones the subject uses.

A screw of zero pitch is a line: it has an axis and no advance along it. As a motion that is a rotation; as a force system it is a pure force with a line of action and no couple about it.

A screw of infinite pitch is a free vector: a direction and no line at all. As a motion that is a translation; as a force system it is a couple, which acts the same about every point in space — which is exactly why it has no line.

Everything else is a screw proper, with both an axis and a pitch, and the pitch says how the two parts are mixed.

Two things follow, and the second is the one this ladder is climbing towards. The first is that the three cases are not three kinds of object; they are one object at three values of a parameter, so a result proved about screws is proved about forces and couples at once. The second is that the classification of a mechanism’s constraints into forces, couples and screws is a measurement, not a description — and it turns out to separate the mechanisms of this field into two families that no count can tell apart. That is the next rung.

Reciprocity, named here and used later

One more piece of vocabulary belongs on this page, because it is defined in one line and everything downstream is built on it.

Given two screws, form

$1,$2=ω1v2+ω2v1\langle \$_1, \$_2 \rangle = \omega_1 \cdot v_2 + \omega_2 \cdot v_1

— the two three-vector dot products crossed over. This is the reciprocal product, and the crossing is why it is not an inner product and why the name is not “screw dot product”. It is a symmetric bilinear form on the six-dimensional space of screws, and it is indefinite: a screw can have a reciprocal product of zero with itself, which no genuine inner product permits.

Indeed every zero-pitch screw does. If h=ωv/ωωh = \omega \cdot v / \omega\cdot\omega is zero then ωv\omega \cdot v is zero, and $,$=2ωv\langle \$, \$ \rangle = 2\,\omega \cdot v is zero too. The site checks both halves — symmetry to 2.2 × 10⁻¹⁶ and the self-reciprocity of forty revolute screws to 4.2 × 10⁻¹⁶ — in assertReciprocityIsSymmetric, and the second half is worth a moment. A quantity that vanishes on every rotation axis is not measuring size. It is measuring something else entirely, and the next essay is about what.

What it measures physically is work. If one screw is read as a motion and the other as a force system, their reciprocal product is the rate at which the force system does work on the motion. Two screws with reciprocal product zero are a motion and a force that do not interact at all: the force is carried and the motion happens, and neither notices the other.

The planar case falls out

The claim at the top of this essay was that the instant centre is a screw. Here it is, computed rather than asserted.

A planar mechanism moves in the plane z=0z = 0, so every velocity is in that plane and every angular velocity is about . A twist is therefore [0,0,ωz ; vx,vy,0][0, 0, \omega_z\ ;\ v_x, v_y, 0], with three numbers free out of six — which is the three freedoms a planar body has, arriving from the spatial description rather than being asserted about it.

Its pitch is ωv/ωω=(0vx+0vy+ωz0)/ωz2=0\omega \cdot v / \omega \cdot \omega = (0 \cdot v_x + 0 \cdot v_y + \omega_z \cdot 0)/\omega_z^2 = 0. Every planar motion is a zero-pitch screw, with no exceptions and no conditions. There is no planar motion with a pitch.

Its axis is the line through q=ω×v/ωωq = \omega \times v / \omega\cdot\omega in the direction — a line perpendicular to the plane, meeting it at one point. Writing that point out: ω×v=(0,0,ωz)×(vx,vy,0)=(ωzvy, ωzvx, 0)\omega \times v = (0,0,\omega_z) \times (v_x, v_y, 0) = (-\omega_z v_y,\ \omega_z v_x,\ 0), so q=(vy/ωz, vx/ωz, 0)q = (-v_y/\omega_z,\ v_x/\omega_z,\ 0).

That is the instant centre. It is the standard planar expression, and it has been derived here from the spatial decomposition without a single planar assumption beyond putting the motion in a plane to begin with.

And the case the planar treatment always has to handle separately — a body translating, with no instant centre, or with one “at infinity” — is handled here without a special case. If ωz=0\omega_z = 0 the twist has no angular part, screwAxis reports infinite, and the motion is a translation with a direction and no line. The planar theory’s awkward point at infinity is the spatial theory’s ordinary infinite-pitch screw, and it needed no apparatus.

The two curves that could replace the linkage. The coupler's instantaneous centre, traced twice. In the frame it draws the fixed centrode; in the coupler's own frame — origin at A, x along A→B — the same point draws the moving centrode. The classical claim is that the coupler's motion is exactly reproduced by rolling the second curve on the first with no slipping, which makes the bars one way of producing the motion rather than the motion itself. That is testable, and the test is arc length: over each unbroken stretch the two curves cover the same distance, to 7.8e-8 of it — and the disagreement falls by a factor of 4.4 when the sampling is doubled, which is what a chord approximation to a smooth curve should do and is the reason the residue is sampling rather than slipping. Both curves run off to infinity where the coupler momentarily translates; the breaks are that, not gaps in the computation.
Fig. 6 The instant centre does not stay put: it moves as the mechanism does, and the curves it traces are the centrodes. Chasles’s spatial version has the same property and a harder name — the screw axis at each instant sweeps a ruled surface called an axode — which is why every figure in this ladder that draws an axis draws it at a stated position, and every one that sweeps says what the axis did.
The cylindroid at 75° and 1.00 apartEvery screw in the two-system spanned by two revolute axes 1.00 apart along their common perpendicular and 75° out of parallel, drawn as its own axis. The axes sweep a ruled surface — the cylindroid — and each generator carries a pitch, running from -0.384 to 0.652 and reaching its two extremes on the two principal screws, which cross at a right angle at the centre. The surface is 1.035 long along its own axis, which is exactly the spread of the pitches: a cylindroid is as long as its pitches are far apart.pitch -0.384pitch 0.65230 generators, pitch -0.384 to 0.652half-width 0.518
Fig. 7 And what a two-system of screws looks like when it is drawn rather than listed: a cylindroid, whose every generator is a screw the system contains. The pitch varies over it, which is why a system cannot be described by one number.

What this does not buy

Chasles’s theorem is about a displacement — a before and an after. It says nothing about the path taken in between.

That distinction is easy to lose and expensive when it goes. The screw that carries a body from pose A to pose B is unique; the motions that get it there are infinitely many, and only one of them is the uniform screw motion the helix in the hero figure draws. A mechanism moving through a range traces a sequence of instantaneous twists, each with its own axis and its own pitch, and those axes sweep a surface — the axode — which is the spatial version of the centrode the planar field already has.

So a screw axis drawn on a figure of a mechanism is the axis at that instant, and it moves as the mechanism does. Every figure in this ladder that draws one draws it at a stated position for that reason, and the ones that sweep say what the axis did.

The other thing the theorem does not buy is any statement about force. That a motion is a screw is geometry. That the constraints preventing a motion are also screws, and that the two are connected by the product defined above, is a second theorem — Poinsot’s — and the pair of them together is what makes the analysis in the rest of this field possible. That the same object serves for both is the single most useful accident in the subject.

Where this goes

Three consequences, each a later essay.

The set of twists a mechanism permits is a subspace of the six-dimensional screw space, and its dimension is the mechanism’s mobility. That connects Chasles to the rank the spatial solver has been computing since the expansion built it, because the rank of the joint-screw matrix is the dimension of exactly that subspace.

The set of wrenches reciprocal to every screw a mechanism permits is the constraint, and its dimension is six minus the first. That is the subject of the next rung, and it is where the two families of overconstrained mechanism separate.

And a two-dimensional subspace of screws — the smallest interesting one — has a shape. Its members’ axes do not scatter; they sweep a ruled surface with the pitch varying along it. That is the cylindroid, and it is the point at which this stops feeling like linear algebra with a physical gloss and starts producing pictures nobody would have guessed.

It is worth saying what Chasles’s theorem buys that is not obvious from its statement, because every displacement is a screw sounds like a classification and is really a normal form. Any two displacements, however differently they were produced — one from a product of six joint transforms, one from a solve, one measured off a machine — can be reduced to an axis, an angle and a pitch, and then compared. That is what makes it possible to ask whether two mechanisms produce the same motion, how far apart two poses are, whether a screw system stands still as a mechanism runs, and whether a set of displacements closes under composition. Every one of those questions on this site is asked in screw coordinates, and none of them could be asked at all without a canonical description that does not depend on how the displacement arrived. A normal form is what makes two things comparable, and this field’s whole apparatus — reciprocity, screw systems, closure, drift — is built on having one.

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

The 8 of 15 essays linking to this one that name the most of the same objects.

The objects this essay names

Each one links to every other essay that touches it.

Chasles's theoremConstraintCoupleInstant centrePitchRigid displacementScrewScrew axisTranslationTwist