Members that pull

The taut path has more than one answer

A strand from one point to another past a peg has two taut paths — 200.643 mm on one side and 219.165 on the other, against 200 mm of open air it cannot use. Both are shortest. Neither can become the other without passing through the peg, and no computation recovers which one was threaded.

Assumes Where a strand leaves a body and The wraps add up to a turn.

Everything computed in this field starts from a list: which bodies the strand touches, in what order, and which way round each. Given that list the geometry is decided, and the essays either side of this one are about what follows from it.

The list itself does not follow from anything. It is an input, it is discrete, and there is more than one legitimate value for it — which makes it a different sort of quantity from every other input on this site.

Two paths, both shortest

Put a peg between two anchor points and pull a strand taut between them. The strand can pass on either side of the peg, and both paths are genuinely taut: straight where they can be, on the surface where they must be, leaving at a right angle, and neither with a corner anywhere.

Two taut paths, and no way between themA strand from one point to another past a peg. Each side gives a path that is taut — straight where it can be, on the surface where it must be, leaving at a right angle — and each is the shortest path on its own side: 219.165 mm on one and 200.643 mm on the other, against 200 mm of open air the strand cannot use. Neither can turn into the other without passing through the peg, which is a different kind of non-uniqueness from the assembly branches of a linkage: those are separate roots of one equation, and these are separate classes of one minimisation. positioned by solving, not by drawing.above 200.64 mm · below 219.17 mmstraight line 200 mm, unusable
Fig. 1 Two anchors 200 mm apart with a 26 mm peg between them, its centre 18 mm off the line. One path is 200.643 mm and the other 219.165, and the 200 mm straight line between the anchors is unusable because the peg is on it.

Each of them is the shortest path on its own side. That is not a figure of speech: both were checked against a two-parameter family of paths that leave the anchor for a point on the peg, follow the surface for a while, and go on — with no requirement anywhere that they meet the surface at any particular angle. Both classes’ minima land on the tangent construction, to three parts in ten million.

So there are two answers, neither is an approximation to the other, and they differ by 18.52 mm — nine per cent of the run.

This is not a second assembly branch

This site has met multiple answers many times, and they have all been the same kind of thing until now.

A four-bar has two assembly modes: the coupler triangle can be flipped, and the two configurations are separate roots of the same closure equation. A serial arm has eight inverse solutions. A three-position synthesis produces 1,176 exact linkages of which most have a defect. In every case the multiplicity comes from an equation of degree greater than one, the answers are found by solving, and the mechanism cannot pass from one to another without being taken apart.

The two paths here are not roots of anything. They are two classes of one minimisation, and the minimisation is over paths rather than over configurations. The strand does not choose between them; it is threaded into one of them when the machine is built, and it stays there.

What the wraps add up to, and what decides it. Four runs this field draws, with every wrap angle signed by the way the strand goes round its body. The right-hand column is their sum divided by a full turn, and it is a whole number every time — the turning number of a closed plane curve, arrived at by adding up a handful of angles that were computed one at a time from tangent lines. It is 1 for a loop that goes round its pulleys once and 0 for a crossed belt, whose two wraps are equal and opposite whatever the two radii are. The serpentine's idler contributes -25.3°, and the total is still exactly one turn: a tensioner lengthens the path without changing what the path is.
Fig. 2 Both routes have the same turning number, so the field’s own arithmetic cannot distinguish them either. The integer says the path closes correctly; it says nothing about which way round it went.

The distinction has a practical edge. A mechanism’s branch can sometimes be identified from a measurement — the coupler is on one side or the other, and a sensor sees it. A strand’s class is invisible to anything measuring lengths: the two paths differ in length, so measuring the strand identifies the class only if the length was known independently, which it usually is not. What identifies a route is looking at it.

As the peg moves through the line

The two lengths are not fixed labels. Slide the peg across the line joining the anchors and they exchange roles:

peg offset path on one side path on the other
−20 mm 220.891 mm 200.362 mm
−10 mm 212.945 mm 202.580 mm
0 mm 206.799 mm 206.799 mm
+10 mm 202.580 mm 212.945 mm
+18 mm 200.643 mm 219.165 mm
+24 mm 200.040 mm 224.537 mm

With the peg centred on the line the two are exactly equal at 206.799 mm, which is the symmetric case and the only configuration in which a strand is indifferent to its route. Either side of it one class is shorter, and the shorter one is always the side the peg is not on.

Nothing dramatic happens at the crossing. The two paths are both perfectly well defined all the way through it; they simply swap which is longer. A strand threaded on the long side stays on the long side, and moving the peg through the line does not move the strand.

Where the obstacle stops obstructing

Keep pushing the peg away and something does happen, at exactly the configuration where the peg’s surface clears the straight line.

At an offset of 26 mm — the peg’s own radius — the shorter path is 200.0000 mm, the straight line, touched tangentially. Beyond that the peg is out of the way entirely, and the strand’s shortest path from anchor to anchor no longer involves the peg at all.

The other class does not disappear. It is still a perfectly good route — round the far side of the peg — and it is still taut, and it is now 226.454 mm. What has changed is that the class containing the straight line has stopped being a wrap: the strand runs straight past, and to keep it in contact with the peg something would have to hold it there.

That is where the model has to be read carefully, and it is the same reading the tensioner needs. Ask for a route that includes a body the strand does not reach and the geometry answers anyway: at an offset a ten-thousandth of a millimetre past the tangent case, the routine returns a path of 363.363 mm that goes round the peg the long way. It is a legitimate closed-form answer to the question that was asked and it is not a strand.

The peg the strand never reaches. 5 equal pegs of radius 14 mm, with a strand pulled taut round them. The fifth peg is inside the convex hull of the other four, so the strand does not touch it: its wrap is not small, it is absent, and moving that peg anywhere inside the hull changes nothing about the length at all. So the whole strand is 503.136 mm of hull perimeter plus 87.965 mm of one full circle — 591.1005 mm against the 591.1005 mm the run measures, and the count of pegs does not enter it. positioned by solving, not by drawing.
Fig. 3 The same failure in a loop: a peg the strand does not reach. Every tangent line to it exists and no strand lies on any of them.

Why both are minima, and what that means

It is worth being precise about the sense in which both paths are shortest, because “the taut path is the shortest path” is the sentence the whole field rests on and it is not quite true as stated.

The shortest path from anchor to anchor, over all paths avoiding the peg, is one of the two — 200.643 mm in the case drawn here. The other is 18.52 mm longer and is not the shortest anything, globally.

What it is, is a local minimum: perturb it in any way that keeps it on the same side of the peg and it gets longer. That is exactly the property a taut strand has. A strand pulled tight does not search the space of all possible routes and pick the best; it takes up slack along the route it is on, and it comes to rest at the shortest path in that class.

So the sentence to use is: a taut strand is the shortest path in its homotopy class. The unqualified version is right only for a strand with no obstacles or for the one class that happens to contain the global minimum, and the difference between the two versions is the whole content of this essay.

That also settles what the tangency construction computes. It finds a stationary point of the length, and every stationary point of a path length among obstacles is a taut path in some class — so the construction is answering a local question, which is why it needs the route as an input and why it returns a well-behaved answer for routes no strand would take.

Tangency is a consequence, not a construction. Every path in this family leaves the anchor for a point on the peg, follows the surface, and goes on to the far point — with no requirement anywhere that it meet the surface at any particular angle. Its length is plotted against where it first touches. The minimum is 219.1651 mm at 115.5°, against the 219.1651 mm the tangent construction gives, and the minimiser is the point where both straights meet the surface at a right angle. So the tangency this whole field is built on is not an assumption about strands. It is what being shortest looks like.
Fig. 4 One class’s family, with its minimum marked. The other class has a family of its own, with its own minimum, 18.52 mm higher and just as flat at the bottom.

How many routes there are

With one obstacle there are two classes. With kk obstacles in general position the number grows exponentially — every additional peg can be passed on either side, and the strand can also go round more than once — so a run over half a dozen pulleys has thousands of legitimate routings, of which a designer intends one.

The field’s own vocabulary for a route is the senses list: which side of each body the strand runs on. That list is exactly the discrete label, and it is why the routines here take it as an argument rather than computing it. A belt over four pulleys with all senses positive is a loop round their hull; change one sense and the belt crosses itself between two of them; add a body outside the hull with a negative sense and it is a tensioner.

A crossed belt, whose wraps cancel. Two pulleys of radius 40 and 24 mm with their centres 160 mm apart, with the strand crossed between them so the two turn opposite ways. The two tangency points on each pulley are marked; the run between them is computed from the signed radius difference and nothing else. The wrap angles are 227.16° and 227.16°, and they add to nothing at all, because the two are equal and of opposite sign — a crossed belt's path is a figure of eight and turns through zero. Length 547.0209 mm, against the textbook formula's 547.0209. positioned by solving, not by drawing.
Fig. 5 A crossed belt is not a different mechanism from an open one. It is the same two pulleys with one entry of the senses list changed.

That is why “route the belt” is a design decision in a way that “position the linkage” is not. A linkage’s designer chooses lengths and the configurations follow; a strand’s designer chooses lengths and a route, and the route is not a number that can be optimised over.

The class is a state, and it can change

A route is stable until something makes it not.

A belt that jumps off a pulley has changed class, and the machine that results is a legitimate mechanism with a different length requirement — usually a shorter one, since the belt has stopped wrapping something. A chain that comes off its sprocket, a cable that jumps its sheave groove, a tendon that unwraps its idler when the joint over-travels: all of them are the same event, and all of them leave a mechanism whose arithmetic is now the arithmetic of a different senses list.

The tendon case is the one where the boundary can be computed exactly. Each idler’s wrap is its own joint’s angle plus a constant, so the wrap reaches zero at a specific joint angle, and past that angle the strand runs straight by. On the arm measured there, that limit is 202.8° of travel at the first joint and 355.8° at the second, and those numbers are the mechanism’s actual range regardless of what the links would allow.

That gives the design rule this essay ends on: a strand’s route has a working range, and it is the range over which every wrap in it stays strictly positive. It is not the same as the range over which the mechanism can be assembled, and it is usually smaller.

The route a belt is threaded on, in practice

Three ordinary machines make the same point without any geometry at all.

A serpentine drive is routed with some accessories driven off the flat of the belt and some off its back, which is a sense per pulley written down as a diagram on the underside of a bonnet. Threading it wrong gives a belt that fits — sometimes exactly, since the wraps trade off against one another — and drives an accessory backwards.

A bicycle’s chain passes through the rear derailleur’s cage between two jockey wheels, one wrapped each way. Rethreading it on the wrong side of the tab is a route change; the chain is the same length and the drive does not work.

A sailing block can be rove to advantage or to disadvantage with the same two blocks and the same rope, and the difference is a whole part of line — which is the parity fact from the tackle essay seen as a routing decision rather than as an arithmetic one.

In every case the wrong route produces a working, taut, correctly tensioned mechanism that does the wrong thing. That is the signature of a discrete input: the failure is not a tolerance or a degradation, it is a different machine.

A tackle's ratio, differentiated rather than countedFour parts of line between two blocks 220 mm apart, drawn as one strand over real sheaves. The ratio a tackle is sold with is the number of parts supporting the moving block, and it is the **limit** of the true velocity ratio rather than its value: the parts are not parallel, so each of them shortens by less than the lift. Differentiating the run's own length gives 2.9429 here, 1.90% short of 3, and the gap closes as the blocks separate. positioned by solving, not by drawing.dead endmoving block3 parts of lineratio 2.9429
Fig. 6 A three-part tackle, whose dead end must be on the moving block. Making it off to the standing block gives a mechanism that is taut, correct and delivers a ratio of two.

What is shared with the configuration space

There is one place on this site where discrete structure of this kind has already been measured, and it is worth pointing at because the objects are close relatives.

A mechanism’s configuration space can have several connected components, and a mechanism cannot move between them. That is the assembly-branch phenomenon in its proper form: the set of configurations is disconnected, and continuity does the rest.

Here the configuration space is connected — the peg can be anywhere, the anchors can move, everything varies smoothly — and it is the space of paths that is disconnected. Two strands in different classes with the same endpoints and the same obstacles are in the same mechanism configuration and are different mechanisms.

A mechanism whose mobility depends on where it is. Every mobility count on this site — Grübler's, Kutzbach's, the rank of a constraint Jacobian — is a property of a mechanism. It is one number, and it is the same number everywhere the mechanism can go, because a joint removes the same freedoms wherever the links are. A strand does not: it removes a freedom only where it is taut, so this mechanism has three different mobilities in three different places and no single count describes it. That is not a defect of the counting; it is what a one-sided constraint is.
Fig. 7 And the third discrete label this field carries: which strands are currently taut. A strand mechanism’s state has as many discrete parts as it has strands, plus one route label for each.
A loop over four pegs is a hull and one circle. 4 equal pegs of radius 14 mm, with a strand pulled taut round them. The strand's straight runs are the edges of the hull of the centres, each pushed out by one radius, and its arcs are the hull's exterior angles. So the whole strand is 503.136 mm of hull perimeter plus 87.965 mm of one full circle — 591.1005 mm against the 591.1005 mm the run measures, and the count of pegs does not enter it. positioned by solving, not by drawing.
Fig. 8 The one case in which the route is not a choice: a taut loop that wraps every body the same way is the convex hull’s boundary, and there is exactly one of it.

What a designer actually chooses

Collecting the discrete choices in one place makes the shape of the design problem clear, and it is unlike any other mechanism on this site.

Which bodies the strand touches. Not all of them, necessarily: a body inside the hull of the others is present and untouched, and whether a given pulley is on the run is decided by the geometry rather than by the intention.

Which side of each. The senses list. Two values per body, and the choice is made when the machine is threaded.

How many times round. A capstan takes several turns of one body; a winch takes seventy-two. This field’s arithmetic assumes one, and says so.

The length. Which is continuous, and is the only one of the four that an optimiser can move.

Three of those four are integers and one is a length, and the three integers between them decide which continuous problem is being solved. A designer who has fixed the route has a one-equation problem with a smooth answer; a designer who has not has a combinatorial one, and there is no gradient anywhere in it.

That is the honest reason this field takes the route as an input. Computing it would mean searching, searching means a discrete space, and the boundary this site drew when it took the configuration space sends search elsewhere. What is claimed here is what follows from a route, and that a route is a thing that has to be given.

Four pulleys, one idler, and one equationA closed strand over four fixed pulleys and an idler carried on an arm. The idler sits outside the loop the other four make and bulges the strand out to reach it, so its wrap is signed the other way — -25.34° against the four positive ones — and the five still add to exactly one turn. The arm angle is not a free choice: the strand has a length, and matching it is **one scalar equation**, whatever the number of pulleys. At this position the run is 1018.046 mm and the idler takes up 0.4387 mm of strand for every millimetre it moves along the bisector of its two spans. positioned by solving, not by drawing.crankcompressorpumpalternatoridlerwraps +118° +75° +80° +113° −25°turning number 1
Fig. 9 Five bodies, five senses, one length. Four of those six numbers are discrete and were decided before any arithmetic was done.

Two, and then infinitely many

Two paths past one peg is the answer to a question narrower than the one the essay asks, and the wider answer is worth having because it changes what a route is.

A taut strand is the shortest path in its homotopy class, and the homotopy classes of paths between two fixed points in a plane with one peg removed are indexed by an integer: how many times the path winds around the peg, and in which direction. Not two, then, but infinitely many — and every one of them contains a shortest member, taut, in equilibrium, and physically threadable.

The physical version is unremarkable once said. A rope from one anchor to another may pass the post on the left, or on the right, or round it once and then on to the anchor, or round it twice. Each of those is a different length, each is taut, and none can be deformed into another without cutting the rope or passing it through the post. The two paths this essay measures are the two shortest of an infinite family.

So a route is not a choice among finitely many sides. It is an element of a group — the free group on as many generators as there are bodies — and the senses list is a truncation of it to the cases where the strand passes each body at most once. That truncation is the right one for a belt drive, where a strand wrapping a pulley twice is a fault, and it is the wrong one for a capstan, where the whole mechanism is several turns of one body and the number of turns is the design parameter.

That gives the field’s own list of mechanisms a structure it did not obviously have. A belt, a tendon and a serpentine drive are reduced words: each body appears once, and the discrete choice is a sign per body. A capstan and a winch are powers of a single generator, and the exponent is the turn count. A tackle is a reduced word over several sheaves. The field’s mechanisms are exactly the short elements of that group, and the two that are not short are the two whose behaviour this field has the most trouble with.

It also says something about how a route can change. Moving between homotopy classes requires the strand to pass through a body, which is why a route is stable — but the classes are not equally far apart. Passing from left to right past one peg is one crossing; passing from once round to twice round is also one crossing, and it is the failure a rope on a capstan actually has. So the stability of a route is not a property of the route but of how close it is to the boundary of its class, and the boundary is a surface in the space of body positions.

Which is the honest general form of the design rule the essay reaches. A route has a working range, the range is the interior of its homotopy class, and the class is one of infinitely many — of which a designer normally intends one of the two or three shortest.

What is not modelled

The strand is a line in a plane, so “which side” is a two-valued question; in space it is not, and a strand past a post in three dimensions has a continuum of routes and a genuinely different problem. Nothing here computes the classes automatically — the senses list is given, and there is no routine in this field that enumerates the routes a set of bodies admits or picks the shortest among them, which would be a search rather than a solve. A strand cannot be shown changing class: the model has no way to represent the moment a belt leaves a pulley, because the strand would be slack while it happened and a slack strand has no shape here.

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.

BranchConfiguration spaceDesign ruleHomotopy classIdlerShortest pathStrandTangencyTautTurning number