Where the boundary moved
Assumes What is still outside.
The boundary essay draws a line around what this site computes and defends where it is. Most of what is outside is outside for one reason: it needs a force, and this site does not have one. Deflection, friction, wear, inertia, contact pressure — all of them require knowing what pushes on what and how hard, and none of them can be got from a geometry.
One item on that page was filed differently, and it was filed carefully:
Interference. Whether two links collide is also geometry, and it is the one obvious geometric question this site does not answer, because a link here is a distance constraint and has no width. That is a real gap rather than a boundary: it needs no new physics, only a body attached to each link and a collision test, and it would catch a class of design error the current figures cannot see. Naming it as a gap rather than as an exclusion is the honest filing.
That is right in every clause and it is an understatement in one of them.
What it took
A body attached to each link and a collision test. Both of those existed already: interference.js arrived with the applied field to answer two questions about parts a reader owns — a cabinet door against its carcase, a wheel in its arch — and it holds the convex polygon, the signed clearance and a sweep.
What was missing was three things, and they took an afternoon between them: shapes that are not convex, so that a bell crank is a part; the decomposition that makes them answerable; and a rule for which pairs of a mechanism are tested at all. The rest of the field is what those made askable.
So the estimate in the boundary essay was accurate about the cost. It was wrong about the size of what was on the other side, and the error is instructive: it estimated the work and not the subject.
What was on the other side
Nine things, and not one of them is a force.
A clearance turned out to be a function with corners — piecewise smooth, with a kink at every change of closest pair, so its minimum is not where a derivative vanishes and is not at either end of the travel. A sampled sweep turned out to need a certificate, because twelve samples of a crank passing a stud report a gap of +0.007 while the crank is 0.010 inside it, and the repair is a Lipschitz bound rather than more samples.
A planar mechanism turned out not to be planar: not one of nine machines fits in a single plane, and the four-bars need three rather than two. Assigning the planes turned out not to be a graph colouring, because a pin joining two planes passes through the ones between them — of the six proper three-plane colourings of a crank rocker, two can be built.
A machine turned out to occupy a region, whose area needs two quadratures and a closed form to be believed, and to need a box twenty per cent larger than its joints suggest and to fill half of it. Free space turned out to come in pieces, so that a mechanism can have configurations it reaches and cannot get to, bounded by collisions rather than by singularities.
Grashof’s condition turned out to answer a second question with the opposite sign: every four-bar that turns all the way round sweeps a link over one of its own ground pivots, and the ones that can be made of thick material are the ones that only rock. Synthesis turned out to have a fourth defect, one that no sweep can find because it is decided before the mechanism moves. And a follower turned out to need a face whose width is the range of ds/dθ and nothing to do with the lift.
None of that was foreseeable from the sentence that named the gap. All of it follows from it.
The bug that came with it
Closing a gap moved a bug as well, and it belongs in this record because it is exactly the kind of thing a boundary is meant to keep visible.
interference.js’s clearance routine decided apart by the smallest distance between an edge of one shape and an edge of the other, and returned it. That is correct for every arrangement the applied field ever asked about — a door and a carcase, a wheel and an arch, a coupler and a post — because those meet edge first. It is wrong for one arrangement: a shape entirely inside another crosses none of its edges, so the smallest edge distance is positive and the routine reported a comfortable clearance for a part buried in another part.
The case turned up within an hour of the new field starting, in a figure comparing a bell crank against its own convex hull, and the repair is one line and one point: if either polygon’s first vertex is inside the other, run the depth branch whatever the edge distance says.
The fix went where the bug was, in the shared routine, and not in the new field’s own code — because the same routine draws the cabinet door and the wheel arch and would have gone on being wrong about them the first time either was asked about something nested. The nested case had never come up there. It was going to.
That is the second half of what a boundary is for. It records not only what is outside but which code answers what, so that a defect found by a new question can be put back where the old ones will benefit.
The inventory, revised
The boundary essay ends with an inventory so that the line is checkable. Three of its entries change.
Computed and asserted here gains: the signed clearance between two parts, convex or not; the gap as a function of a drive, with its minimum bracketed and its corners counted; a Lipschitz certificate that a sampled sweep missed nothing; the conflict graph and the fewest planes a machine can be assembled in, with the pin-ordering condition; the region a machine sweeps and the box it needs; the free arcs of a drive and their count; the widest link a four-bar admits with bearings at both pivots; and the pin spacing a synthesis leaves.
Named and not computed loses interference between links, which was its first entry.
Computed elsewhere and taken as input stays empty. Every number in this field comes out of code in this repository, which is what makes the line drawable at all.
What did not move
The eight disclaimers stand, and the field is careful to end where they begin.
A negative clearance here says the mechanism as dimensioned cannot be made of solid material. What a real one would do about it — bind, spring, wear a groove, break — is outside, and every one of those is a force. A contact in this field is a failure, and the holding field’s contact is a constraint: two fields using the same word for touching and meaning opposite things by it, distinguished by whether the touching is intended.
Nothing here has mass, so nothing here is dynamics. Nothing here is manufactured, so fillets, draft, tool access and how a part is held while it is cut are all outside. Nothing here deflects, so a machine that is geometrically clear by a hair is called clear.
And one new disclaimer, which the field needed and the boundary essay could not have anticipated: every region here is a plane region. The real machine is a stack of plates as deep as its plane count, different links are in different plates, and the honest solid is a union of prisms rather than a footprint extruded. That object is computable from what is here and is not computed.
What the older fields gain
A new field usually leaves the older ones alone. This one changes what four of them can say, without changing a single number any of them computed.
The linkage field can now say that its four-bar needs three planes and cannot be built with bearings at both pivots — which is not a correction of anything it computed, since every position, angle and ratio in it is unchanged, but is a fact about the object it was drawing.
The practice field gains the other half of a pin. Its pin is a hole with play, and everything it computes is about slop; this field’s pin is a cylinder with material round it, and everything it computes is about room. Neither is derivable from the other and the same joint has both.
The synthesis field gains a fourth defect, and it is the first one on this site that a simulation cannot find: a mechanism with two pins on top of each other sweeps perfectly, because in the equations they are points.
And the applied field gets its hinge arms back. That essay says in as many words that its arms are still lines and names the clearances that leaves unchecked, because the machinery refused a non-convex body. The refusal was right, the gap was recorded, and the shape of the repair was written down at the time.
Two things that sounded outside and were not, again
The boundary essay makes this move twice — for assembly, which is whether the constraint equations have a real solution, and for interference, which it then files as a gap. This field adds two more of the same kind, and both were within reach the whole time.
Packaging. How much room a machine needs sounds like an industrial question and is a bounding box over a set of polygons. It needed a body on each link and nothing else.
Buildability of a layered assembly. Whether a set of links can be put into planes so that nothing overlaps and no pin goes through anything sounds like a detailing question and is a graph problem with an ordering condition. It needed the conflict graph, which needed the bodies.
Both of them read, from outside, like the sort of thing a drawing office does rather than the sort of thing a solver answers. Both are decided entirely by geometry, both are computable before anything is made, and neither was on the boundary essay’s list in either column — which is the interesting failure. They were not excluded and they were not named as gaps. They were not thought of, because there was no vocabulary in which to state them.
What the field did not take, and why
Three things were within reach and were left, and each is left for a stated reason rather than by omission.
The exact swept boundary. The region a machine occupies is computed as an occupancy grid, and its boundary is a staircase at the cell scale. The exact boundary is a patchwork of corner loci and edge envelopes — ordinary curvature-field objects — and constructing it needs a tangency condition solved per edge and the pieces intersected. It would give a smoother picture and the same area to three figures, and the grid gives both the number and the picture from one idea.
The solid stack. Named above and left for the same reason: it needs a thickness, a clearance and a retention scheme, none of which this field carries, and adding them would put three parameters into every figure to produce one number.
And the inverse problem. Given a region to keep out of, find the mechanism — which is the synthesis field run against a body constraint rather than a position one. It is a real question, it is much harder than it sounds, and nothing here goes near it.
Naming all three is the same discipline the boundary essay applies to force: a reader should be able to tell what was decided against from what was never considered.
What would move the line again
The boundary essay has a section under this title and its answer is that the line moves when a quantity becomes computable from what the site already has, rather than when somebody decides to be braver. This field is an instance and it suggests two more, both of them geometry.
A solid model. Everything here is polygons in a plane, and the plane count is an index rather than a height. Give the plates thicknesses, the pins lengths and the heads sizes, and the depth of a machine becomes a number rather than a count, and a spatial mechanism’s links become bodies that sweep volumes. That is a large piece of machinery — a convex decomposition in three dimensions, a separating-axis test on polyhedra — and it is the same subject one dimension up.
Path planning. Free space in pieces raises the obvious next question: given two configurations in the same component, drive between them. For a one-freedom mechanism that is trivial — go along the arc — and for an arm with three joints it is a real question about a set in a three-torus. It is also a subject with an enormous literature about algorithms, and this site is not about how long a computation takes, so what would be taken is the geometry: what the free set is, how many pieces, what bounds them.
Neither is a promise. Both are the shape of thing that moved this time: a quantity that the existing machinery could produce and nobody had asked for.
How long the gap stood, and why that is the interesting number
The gap was named on the day the boundary essay was written and closed three phases later. In between, five fields were added — wheels, shapes as unknowns, members that pull, assemblies of many of one thing, contacts that only push, the connections themselves, the joints themselves and demands given as equations — and every one of them added mechanisms whose parts nobody asked to be made of anything.
That is not negligence. Each of those fields had an object of its own that was genuinely new, and the standing rule for choosing a phase is that its object should be one the site cannot currently state. The width of a link was statable the whole time and was not interesting in the way those objects were, right up until it was measured — at which point the site’s own four-bar turned out to be unbuildable in the plane it had been drawn in for twenty-three fields.
The number worth carrying is therefore not three phases. It is that a gap named honestly, with its reason, stayed findable for three phases and was closed by reading the list rather than by remembering it. That is the whole return on writing the boundary essay in the first place.
The honest reading of a boundary
There is a general lesson in this and it is not that the boundary was drawn badly. It was drawn well: the distinction it makes between an exclusion and a gap is exactly right, the item that moved is the one it flagged, and the reason it gave for the move being cheap was correct.
What it could not do was see the size of what was behind the gap, and no boundary essay can. A gap is named from the inside, in the vocabulary of the fields that exist, and the reason it is a gap is that the vocabulary for what is behind it has not been built yet. Interference between links was the largest true sentence available; a clearance is a function with corners over a drive, with a certificate, in a stack of planes was not sayable at the time and is what was actually there.
So the practical form of the lesson is modest. A gap is worth closing sooner than its estimated size suggests, because the estimate is made in the wrong vocabulary and is systematically low. And the record of having filed it honestly — as a gap rather than as an exclusion, with the reason — is what made it obvious three phases later which one to close.
About the same objects
Not linked from either essay — found by the objects both name.
- Free space comes in pieces free space · interference · link body · signed clearance
- Two bars that have to cross interference · layer assignment · link body · signed clearance
- A body is all size link body · signed clearance · swept region
- A clearance inside a tolerance box interference · link body · signed clearance
- A gap with corners in it interference · link body · signed clearance
- A link may be bent interference · link body · signed clearance
What links here
Essays that link to this one from their own argument.
- Six things a body is not Drawn wrongly
The objects this essay names
Each one links to every other essay that touches it.
Conserved quantityFree spaceInterferenceLayer assignmentLink bodyMisconceptionSigned clearanceSwept region