Every motion is a screw
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.
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.
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
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 .
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 . 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:
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.
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.
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 .
Infinite pitch is a pure translation, and here the arithmetic makes a demand. If ω is zero, is nought over nought, and the axis point 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
— 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 is zero then is zero, and 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 , so every velocity is in that plane and every angular velocity is about ẑ. A twist is therefore , 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 . 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 in the direction ẑ — a line perpendicular to the plane, meeting it at one point. Writing that point out: , so .
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 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.
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.
- The smallest screw system has a shape Out of the plane
- Four numbers or a screw One path to the tool
- Six legs and a square root Several legs, one platform
- What a mechanism cannot do Out of the plane
- The distance between two poses One path to the tool
- Two routes to a Jacobian One path to the tool
About the same objects
Not linked from either essay — found by the objects both name.
- Why the platform stays flat constraint · couple · pitch · screw · translation · twist
- Two ways to be overconstrained constraint · couple · pitch · screw
- Bennett, and the condition that moves it constraint · screw · twist
- The count cannot tell a pin from a slide constraint · pitch · screw
- The formula is repaired by the thing it replaced constraint · screw · twist
- Twelve kinds of freedom pitch · screw · twist
What links here
The 8 of 15 essays linking to this one that name the most of the same objects.
- The smallest screw system has a shape Out of the plane
- A joint is a surface that slides on itself What a joint is
- The distance between two poses One path to the tool
- The lines a leg turns about and the lines it is pushed along Out of the plane
- What a leg of three joints leaves free Out of the plane
- A cone has no size Contacts that only push
- A yaw that is singular everywhere Several legs, one platform
- What a mechanism cannot do Out of the plane
The objects this essay names
Each one links to every other essay that touches it.
Chasles's theoremConstraintCoupleInstant centrePitchRigid displacementScrewScrew axisTranslationTwist