Light and mirrors

Where a shadow splits in two

A gantry's shadow is two pieces at a lamp height of 1.36 m, and the crossing to one piece happens at a tangency running the whole length of the beam rather than at a point — the same plane that meets a ball at an aspect of 1.00 to 1 meets the beam at 1736 to 1, and a grid finds the true crossing height to a fitted exponent of 1.00 as it is refined. A ring tipped 70° keeps its hole for a completely unrelated reason, closing only at 71.34°, which is the warning that a shadow's topology changes at a tangency names two different accidents rather than one.

Worth reading first: A hole is not preserved · The edge of a shadow is drawn on the object.

A hole is not preserved settled one topological fact about a shadow: connectedness survives a projection and a hole does not, always, at a computable tilt. A shadow’s piece count is a different invariant from either of those, and it changes too — not smoothly, the way an area or an aspect ratio changes, but at a specific lamp position where the object’s own geometry becomes locally decisive.

The gantry drawn below is not convex: a beam runs above a base, joined by two uprights, and the space beneath the beam is open on both sides. A lamp low enough sits, from the beam’s own point of view, behind an obstruction with a gap on either side of it — two separate escape routes for its rays, two separate patches of unlit floor between them, one shadow region trailing from each side. A lamp high enough looks down past the top of the beam entirely and the whole object casts one connected shadow, the way an ordinary block would. Somewhere between those two lamp heights is a specific height at which the shadow’s own piece count changes, and it is found by a tangency running the length of the beam rather than by watching the count and noting where it moves.

The lamp throughout is idealised as a single point — the machinery this site uses everywhere a shadow is cast — and that idealisation is what makes a piece count a well-defined question at all. A real lamp with any size draws a penumbra around every edge, and a penumbra is a gradient rather than a boundary; asking how many “pieces” a smeared grey region has is not obviously the same question as asking it of a shadow with a hard edge. Collapsing the lamp to a point is a deliberate simplification, not an approximation nobody noticed, because the object of study here is a genuine degeneracy in the geometry of occlusion — a specific height at which the set of blocked directions changes its own topology — and a soft edge would blur exactly the transition being measured rather than merely make it harder to see. The photograph above is that idealisation drawn out: 2 pieces, at a lamp height of 1.36 m, well below the beam’s own underside.

The domain the split is actually counted in

A shadow’s piece count could be asked of the floor directly, but the floor is an unbounded plane, and a ray leaving the lamp at a grazing angle can run arbitrarily far before it lands or fails to. Counting components on an unbounded set is not a well-posed question until something rules out a piece that only ever escapes to infinity. The lamp’s own hemisphere of directions has no such problem: it is compact, every direction in it either meets the gantry or does not, and the count that matters is taken there.

The lamp's own directions: 2 regions meet the gantry, 2 of 2 reaching the horizonEvery direction from the lamp, by azimuth and elevation below horizontal, marked where that ray meets the gantry. This is the domain the piece count is actually taken in — a bounded set, unlike the floor, which a ray running out at grazing elevation never reaches. At 1.36 m the lamp sees 2 connected regions, and 2 of 2 touch elevation zero.02550750100200300azimuth from the lamp, in degreeselevation below horizontal, in degreesthe horizon: elevation zerolamp at 1.36 m2 regions, 2 at the horizon
Fig. 1 Every direction from the lamp, plotted by azimuth and elevation below the horizontal, marked wherever that direction’s ray actually meets the gantry. At the identical lamp height as the photograph above, this domain reads 2 connected regions, and 2 of 2 of them reach elevation zero — the horizontal, grazing directions that the floor picture cannot show because a ray at that elevation never lands.

Two of two regions touching the horizon is not incidental. A region of directions that meets the gantry and does not reach grazing elevation would correspond to a shadow patch fully enclosed by lit floor on every side — an island — and the gantry casts no island at this or any height, because nothing about it occludes a ray that has already cleared the beam and is heading toward the horizon along a line the beam does not also block. The bounded domain is not merely a technical convenience for counting; it is the object in which “the shadow is disconnected” and “the shadow’s pieces both reach infinity” turn out to be the same fact stated twice, once on the floor and once on the lamp’s own sphere of directions.

Connectedness is a property of a set, and the two sets in play here — the blocked directions and the floor points those directions land on — are related by a map that is a bijection away from the horizon and undefined exactly at it, which is precisely why the floor’s own version of the count cannot be trusted near the transition. The lamp’s hemisphere has no such singular boundary: every direction in it is a perfectly good point of the domain, grazing ones included, and the piece count taken there is the piece count of the caster’s own contour generator — the set of directions a ray from the lamp can graze the gantry along — rather than of whatever the floor happens to look like once those directions are projected onto it. Moving the question onto the domain where the map is well-behaved is the same manoeuvre every recovery on this site makes when a projection turns singular somewhere convenient to avoid.

The convex control

Before asking what makes the gantry’s shadow split, it is worth confirming that splitting is not simply what shadows do. A solid block sized to the gantry’s own convex hull — no gap beneath any beam, no reentrant corner anywhere on its boundary — is lit from the identical lamp positions and photographed the identical way.

A lamp at 1.90 m casts the solid block that is its convex hull's shadow in 1 pieceThe solid block that is its convex hull, lit from a lamp 1.90 m up, 1.6 m back. Every dot is a floor point some ray from the lamp actually lands on after meeting the object — a computed footprint rather than an outlined one. The block is convex, so its shadow is one piece at every lamp height, which is the control this family measures against.lamp, 1.90 mcorrect from 20 cm, at 160 mm wide1 piece · 1.6 m back
Fig. 2 The solid block that is the gantry’s own convex hull, lit from a lamp at 1.90 m. The block’s shadow is 1 piece here, and it is 1 piece at every lamp height this family can be dragged to, because a convex object has no gap for a ray to slip through and rejoin its neighbour on the far side.

The only question worth asking of a control is whether it ever disagrees with its own claim anywhere across the range it is dragged through, and this one does not: the block reads one piece at every height the family offers. A convex body’s shadow is one region at every lamp position for a reason with no geometry of the caster’s outline in it at all — a ray that meets a convex body meets it in one connected interval of its own length, so the set of rays a convex caster blocks is itself connected, and the floor points those rays would otherwise have reached are the complement of a connected set removed from a plane, which stays connected. Splitting a shadow into pieces needs a caster with a gap for the light to pass clean through on at least one side while being blocked on the others, and a convex body has no such gap by definition. The phenomenon under study belongs to non-convexity, not to shadows as such, and the control is what makes that a measured claim rather than an assertion.

A tangency at a point does nothing; a tangency along a curve splits the shadow

Both a ball and the gantry’s beam can be brought to a tangent plane, and only one of the two tangencies is capable of dividing a shadow. The distinction is in what a tangent plane touches, not merely that it touches.

The beam's contact patch runs to an aspect of 1736:1; a ball's stays at 1:1A horizontal plane brought down onto the beam cuts a strip whose length settles on the beam's own span, 1.700 m, while its width goes to nothing — so the aspect ratio of the contact runs away as the plane approaches, which is what a tangency ALONG A CURVE looks like. The same measurement on a ball of the beam's radius, standing where the beam's contact starts, keeps an aspect of 1.000000 at every one of these heights, to six digits — a tangency at a point, and the control this family reads the curve against.1251020501e+22e+25e+21e+32e+31e-62e-65e-61e-52e-55e-51e-42e-45e-41e-32e-35e-31e-2how far the plane sits above the underside, in metresthe contact's aspect ratiothe beama ball (control)beam span 1.700 maspect 1736:1 against 1.00:1
Fig. 3 A horizontal plane lowered onto the beam cuts a strip whose length settles on the beam’s own span, 1.700 m, while its width collapses toward nothing — so the aspect ratio of the contact patch runs away, reaching 1736 to 1 at the finest spacing measured. The identical measurement on a ball of the beam’s own radius keeps an aspect of 1.000000 at every one of the same heights, to six digits: a tangency at a point, which is the control this family reads the curve against.

A tangent plane touching a ball touches it at one point, and removing one point from a two-dimensional set of directions leaves the rest connected — a shadow cannot split over an event that happens at a single point of contact, because the directions just beside that point are still free to route around it on every side. A tangent plane brought down onto the beam instead touches it along the beam’s whole straight length at once, and a line is a one-dimensional obstruction sitting inside a two-dimensional domain of directions: removing it can separate what is left into two pieces, the way a fence across a field separates one side from the other in a way a single fence-post never could. The aspect ratio is the number that tells the two cases apart without needing to watch a component count directly — 1736:1 against 1.00:1 is the difference between an obstruction that is locally a line and one that is locally a point, read straight off the shape of the patch of contact rather than asserted from the shadow’s own behaviour.

A tangent line from the lamp does other work elsewhere in this collection, and it is worth being precise about how that work differs from this essay’s own. A wire with a corner in its shadow shows a lamp crossing one of a smooth curve’s own tangent lines producing a cusp — a corner appearing in an otherwise smooth shadow, at an isolated lamp position rather than at a range of them. That is a tangency between a single ray and a single curve, and it changes the shadow’s shape without touching its piece count at all. The tangency measured here is a tangency between an entire plane and an entire straight edge of the caster, and it is exactly that difference in dimension — a ray meeting a curve at a point against a plane meeting a line along its whole length — that decides whether the result is a cusp in one shadow or a split into two.

The transition is a genuine tangency, not a grid artefact

Every measurement above used a fixed sampling of directions, and a fixed grid could in principle report a split at whatever height its own resolution happens to notice one, rather than at the beam’s true underside. Refining the grid and watching the reported height converge is the check that rules that out.

The measured transition falls to the true height as the grid's own resolution, at a fitted exponent of 1.00A grid whose finest elevation is β cannot see a joining band narrower than that, so the height it reports for the split sits above the beam's own underside — 1.66 m — by an excess that closes as the grid is refined. Fitted over five grids from 6° down to 0.4°, the excess falls as the grid's resolution to the power 1.000, against a predicted one: the excess is linear in the grid's finest elevation because a shallow ray from the lamp misses a narrow band by an angle proportional to it.1e-22e-25e-21e-12e-15e-1125the grid's finest elevation, in degreesexcess above the true height, in metresslope 1.00underside at 1.66 mexcess 11.2 mm at the finest grid
Fig. 4 The excess of the measured transition height above the beam’s own underside, 1.66 m, plotted against the grid’s own finest elevation, from 6° down to 0.4°. The excess falls at a fitted exponent of 1.00, exactly what a shallow ray’s angular error predicts: a grid that cannot resolve a joining band narrower than its own finest step reports a height above the truth by an amount proportional to that step, and refining the grid closes the gap linearly rather than levelling off at some floor set by the sampling itself.

A fitted exponent of 1.00 rather than 0 or 2 is the whole of what this figure settles. An exponent near zero would mean the reported height stops improving once the grid is fine enough — evidence that something other than resolution was limiting the earlier measurements, an artefact with its own floor. An exponent near two would mean the error is falling faster than the grazing ray’s own angle does, which nothing in the geometry predicts and would be a warning that the fit was catching some other effect entirely. A clean exponent of one is the signature of a shallow ray missing a narrow band by an angle proportional to that band’s own width, which is exactly the mechanism a grid-based direction count has at a tangency and nothing else. The beam’s underside at 1.66 m is not a number read off a grid at whatever resolution was convenient; it is a number a grid converges to as its own resolution is pushed away, which is a different and stronger claim.

The sampling grid itself is worth being honest about, because every number in this essay before the ladder figure was read off one. The map figure’s “2 regions” and the shadow figure’s “2 pieces” are both counted over a finite lattice of sampled directions, and a coarse enough lattice can misreport a component count near a genuine boundary in either direction — merging two regions joined only by a band narrower than the lattice’s own spacing, or splitting one region across a seam the lattice happens to sample unevenly. The ladder figure is not a separate curiosity sitting beside the main measurement; it is the retroactive justification for treating every earlier figure’s count as a fact about the gantry rather than a fact about the grid used to read it.

What it costs to reconnect

The two pieces do not simply vanish at 1.66 m; they are joined through a band of directions that, just above the critical height, is still there but has become very narrow and very far from the lamp’s own foot.

The join runs from 14.8 m to 222.9 m as the lamp drops 19 cmThe two pieces of the gantry's shadow reconnect through a band of directions at an elevation 1.6 m of horizontal reach away; as the lamp comes down toward the beam's own underside that band closes toward the horizontal, and the distance at which it reaches the floor runs away — 15× further over this sweep, with no floor of any realistic size large enough to hold it once the lamp is within 1 cm of the underside.20501e+22e+22e-25e-21e-12e-1how far the lamp sits above the underside, in metresdistance from the lamp's foot to the join, in metresunderside at 1.66 m×15 over the sweep
Fig. 5 How far from the lamp’s own foot the joining band of directions lands on the floor, against how far above the beam’s underside the lamp sits, from 20 cm down to 1.2 cm above it. The join runs from 14.8 m to 222.9 m as the lamp drops 19 cm toward the underside — fifteen times further over this sweep — with no floor of any realistic size able to hold the join once the lamp is within a centimetre of the critical height.

This is the same tangency read from the floor’s side rather than the lamp’s, and it explains something the piece count alone does not: why a photograph taken from slightly above the critical height, on a modest floor, can still look like two separate patches of shadow even though the two are technically joined. The joining band exists at every height above 1.66 m, however close, but the floor it reaches is a real physical surface with a real edge, and a join that lands 200 m from the lamp’s own foot is a join no ordinary floor contains. What a component-counting algorithm reports as “one piece” and what a person standing on a real floor would call “one piece” can disagree right at the transition, for a reason that has nothing to do with either being wrong — one is answering a question about an idealised infinite floor, and the other about a floor with an edge.

That gap between the idealised count and the practical one is itself a measured quantity rather than a hand-wave, which is what makes the join figure more than an illustration of “things get big near a singularity.” A workshop lit by an overhead gantry lamp, with a floor perhaps ten or twelve metres across, would in practice see the two pieces stay visually separate right up to within a few centimetres of the true critical height and then appear to merge abruptly — not because the underlying geometry does anything abrupt at that particular point, but because the join’s own distance from the lamp’s foot crosses the floor’s actual edge somewhere in that narrow band. The tangency itself is exact and instantaneous, at 1.66 m precisely; what a camera on a real floor reports is a degeneracy softened by whatever boundary the floor happens to have, and the two descriptions are both correct answers to different, clearly stated questions.

A different shadow, a different topological accident

The gantry’s piece count is one topological invariant a shadow carries. A completely different family — a ring rather than a beam-and-uprights — carries another: how many holes its shadow has, and that one changes at its own tangency, unrelated to this one.

A ring tipped 70°, lit from straight aboveThe shadow is computed cell by cell — a patch of floor is dark when the line from it to the light meets the ring — so the count of holes is a measurement. The hole survives at 70° of tilt; the closed form puts the transition at 71.34°, where the ring's own opening, foreshortened to R·cos θ, drops below the tube's radius.1 holetilt 70°closes at 71.3°
Fig. 6 A ring tipped 70° from flat, lit from directly above. Its shadow is a single connected piece throughout this whole family, with one hole in it — the ring’s opening is still visible as unlit floor inside the annulus. The closed form puts the hole’s own closing tangency at 71.34°, where the ring’s opening, foreshortened by the tilt, first drops below the tube’s own radius; one degree short of it, at 70°, the hole still survives.

Placed beside the gantry, the ring is the cleanest possible demonstration that “a shadow’s topology changes at a tangency” is a template rather than a single fact. The gantry’s tangency is along a line and splits one piece into two; the ring’s tangency is along a circle and closes one hole into none, while the piece count for the ring never leaves one throughout the whole sweep. Both events are found the identical way — by watching where a plane or a line of sight becomes tangent to a curved or angular feature of the caster rather than merely touching it at an isolated point — but they are different invariants, with different critical angles, on different objects, and nothing about knowing one tells a reader where to find the other. A single measurement technique producing two unrelated numbers is not a coincidence to explain away; it is what “topology” being more than one quantity actually looks like in practice.

Both tangencies also sit on the cast shadow — the pattern of light and dark the floor receives — rather than on any boundary drawn on the caster’s own surface. A gantry or a ring has a second curve entirely, the attached-shadow boundary where its own surface turns away from the lamp, and that curve has its own tangencies, at its own critical positions, answering a different question again: not how many pieces the floor’s shadow is in, but how many pieces the lit part of the object itself is in. A dent breaks the terminator is where that curve is measured directly, on a body simple enough that the cast shadow barely matters and the attached-shadow boundary is the whole of the story — three tangencies, three invariants, three different critical positions, all produced by nothing more than a ray graduating from merely close to genuinely touching.

The honest limit

Everything measured here concerns a single lamp position at a time, moved along a single line straight above the gantry. Nothing here says what happens to the piece count under a lamp moved sideways, or under two lamps casting overlapping shadows at once — counting shadows is not counting lamps is where that second question is put to a different object, and the two counts there disagree for reasons that have nothing to do with tangency at all. Nor does anything above generalise past this one gap in this one beam: a caster with several independent gaps could split into more than two pieces, and finding each of those transitions would need its own tangency, possibly at its own height, found the same way but not derivable from this one measurement.

It is also worth being precise about what “found by bisection to machine precision” buys and what it does not. The bisection converges on the height at which the reported piece count changes for this sampling procedure, refined until the reported height itself stops moving — which the ladder figure shows converging on the true underside as a limit, not merely as a number the bisection happens to like. That is a genuine tangency, evidenced rather than assumed. What it does not do is certify that no other transition exists nearby that a coarser search would miss; a caster with two separate near-tangencies close together in lamp height could hide a second, narrower splitting-and-rejoining inside what looks like one clean crossing. The arrangement the count cannot see is the general form of that caution: a single scalar reading, refined however carefully, is still one number, and one number cannot distinguish a genuine simple transition from two nearby ones that happen to average out to it.

What this is an instance of

A shadow’s connectedness is decided by whether the caster has a gap of the right shape for the light to pass through cleanly on one side while being blocked on the others, and the height at which that gap opens or closes is a tangency — a plane or line of sight brought into contact with the caster along more than a point. A shadow is a second projection established that a shadow inherits the ordinary projective failures of any projection — length, angle, area all go — and this essay adds a coarser, more robust one to that list: the count of pieces, which survives being asked in a bounded domain of directions exactly because it does not depend on any of the quantities a projection is known to destroy.

How many shadows determine the object takes the tangent line found here and asks what it buys when many lamps are used together rather than one — the tangent lines from several directions turn out to bound a reconstruction of the object rather than merely mark where one shadow splits, and the same non-convexity that produces a split here is exactly what defeats that reconstruction there. A dent breaks the terminator moves the whole question from the shadow on the floor to the boundary drawn on the object’s own surface, where a tangency of the identical kind — a ray grazing rather than merely approaching a curved surface — separates one closed curve into two differently-caused ones. All three are the same habit applied to different geometry: find the place where a ray or a plane stops merely coming close and starts actually touching along an extended set, and read the topology change straight off that contact rather than off a count taken at scattered heights and interpolated between them.

A lamp lights less than half a ball is the companion measurement on a convex object, where no such split can ever happen and the only question left is how much of the surface a lamp reaches at all. Reading it after this essay is worth doing for the contrast: everything driving the gantry’s behaviour here — a gap the light can slip through, a tangency along a line rather than a point, a joining band that runs away as the critical height is approached — is a symptom of the one property a ball never has.

The family this belongs to reappears with a lamp and a floor rearranged rather than a lamp and a caster: the lamp and the floor cannot both be recovered finds a different way for a shadow to under-determine its own scene, not through a tangency but through a whole continuous family of lamp-and-receiver pairs that draw the identical picture. Nothing here is that family — the gantry’s split is a discrete, one-off event at a single height, not a continuum of indistinguishable configurations — but both essays share the deeper habit of asking a shadow exactly what it can and cannot pin down, rather than assuming a single photograph settles the question by having been taken at all.

What links here

Computed from the collection, not written here: the essays that point at this one.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

A flat tag is an object no other essay names yet.

Attached-shadowConnectednessContour generatorDegeneracyPoint lightSampling gridShadow projectionTangencyTopology