Light and mirrors

A shadow across a second object

A straight edge held in front of a lamp defines one plane, and the shadow's boundary is wherever that plane meets something. That turns a picture of a shadow into a measurement: a camera ray and a known plane meet in one point, and the object the shadow is falling on comes back out.

Worth reading first: The floor that is not a plane · A shadow across an edge · The edge of a shadow is drawn on the object.

Everything in the light field so far has cast onto a floor, or onto a floor and a wall, or onto a floor with a dish in it. The receiver has been a surface chosen in advance and known.

Cast onto a second object and two things change. The curve the shadow draws is no longer something with an equation — it is the intersection of a cone with whatever shape happens to be there — and the receiver is exactly the thing a reader would most like to know about.

That second change turns out to be the useful one, and the route to it is narrower than it looks.

The ball, read off its own shadow lineEach point of the shadow on the ball is recovered from its own image alone: the camera ray through the mark, met with the plane the lamp and the edge define. The residual over 71 points is 1.6e-15 m, and the amplification of a pixel of error runs to 1.29 where the ray is most nearly along the plane.correct from 20 cm, at 160 mm wideresidual 2e-15 m · 1/sin up to 1.29
Fig. 1 The edge moved a hand’s breadth. The plane has swung about the lamp and the curve it cuts on the ball has moved with it.

One edge is one plane

A point lamp and a straight edge define a plane: the plane through the lamp and the edge. Everything the edge shadows lies on the far side of that plane, and the boundary of the shadow — the leading edge of the dark region — is wherever the plane meets something.

Nothing about the receiver enters that statement. The plane is fixed by the lamp and the edge alone, before there is anything for it to fall on.

The plane a straight shadow lies inOne lamp and one straight edge define one plane, and the shadow's leading edge is wherever that plane meets something. Nothing about the receiver enters the definition — which is why the same plane can be met with a camera ray to give a point.correct from 20 cm, at 160 mm wideresidual 2e-15 m · 1/sin up to 1.22
Fig. 2 The plane through the lamp and a straight edge, drawn as a sheet, with the curve it cuts on a ball. The plane is determined before the ball is placed; the curve is the intersection.

So the shadow’s leading edge on any receiver is a plane section of that receiver. On a ball it is a circle; on a cylinder a conic; on a bent sheet a curve with no name. And whatever it is, every point of it satisfies one linear equation that is known independently of the object.

A shadow across the creaseOne straight rod, one lamp, two receiving planes. Each piece of the shadow is dead straight — 7e-16 m and 1e-15 m from the line through its own ends — because each is a plane projectivity of the rod, and a projectivity takes a line to a line. They meet at 35.08°, and the corner is the image of the crease rather than anything about the rod.35.08°correct from 16 cm, at 160 mm widetwo maps, meeting at 35.08°
Fig. 3 The same idea one rung down, with two planes instead of a solid: a straight rod’s shadow is straight on the floor and straight on the wall and kinks at the crease, because each piece is a plane projectivity of the rod.

And a picture of it is a measurement

That is the whole of the recovery.

A camera looking at the scene turns each point of the shadow curve into a ray: the ray through the eye and the mark on the film. That ray is one line. The plane is one plane. A line and a plane that are not parallel meet in exactly one point, and that point is the point of the object.

The ball, read off its own shadow lineEach point of the shadow on the ball is recovered from its own image alone: the camera ray through the mark, met with the plane the lamp and the edge define. The residual over 55 points is 1.8e-15 m, and the amplification of a pixel of error runs to 1.22 where the ray is most nearly along the plane.correct from 20 cm, at 160 mm wideresidual 2e-15 m · 1/sin up to 1.22
Fig. 4 The same shadow with each point recovered from its own image alone — camera ray met with the lamp-and-edge plane — and drawn back into the scene.

Run over the whole visible curve, that returns the object’s surface along the shadow, to within a couple of parts in a thousand million million of a metre. Sweep the edge and the plane sweeps with it, and a new curve of the object comes back on every frame.

The ball, read off its own shadow lineEach point of the shadow on the ball is recovered from its own image alone: the camera ray through the mark, met with the plane the lamp and the edge define. The residual over 75 points is 1.4e-15 m, and the amplification of a pixel of error runs to 1.37 where the ray is most nearly along the plane.correct from 20 cm, at 160 mm wideresidual 1e-15 m · 1/sin up to 1.37
Fig. 5 The edge moved a third of a metre. The plane has swung, the curve on the ball has moved with it, and every point of the new curve is recovered by the same one-line intersection.

Two remarks are needed before that reads as more than it is.

The first is a boundary. This is not a scanner. Structured light and shadow scanning as engineering — the instruments, their calibration, their error models, what to do about a surface that is shiny or dark — belong to whoever writes that subject, and none of it is here. What is here is a plane meeting a ray, with the correspondences supplied by construction, which is the same separating test this site’s multi-view work already carries: the argument survives with no image data anywhere in it.

The second is what the exactness is a statement about, and it is smaller than it sounds.

The plane a straight shadow lies inOne lamp and one straight edge define one plane, and the shadow's leading edge is wherever that plane meets something. Nothing about the receiver enters the definition — which is why the same plane can be met with a camera ray to give a point.correct from 20 cm, at 160 mm wideresidual 1e-15 m · 1/sin up to 1.37
Fig. 6 The sheet again at a different sweep. It is determined by the lamp and the edge before there is anything for it to fall on, which is what makes it usable as a constraint.
The lamp is the second eyeOne camera, one lamp, one point. The camera's ray through the point's image fixes it on a line; the image of its shadow fixes where the lamp's ray through it meets the floor; and two lines that are not parallel meet. The point comes back at 1e-15 m of closest approach and 9e-16 m from where it was put — depth out of a single photograph, with no second camera and nothing assumed about the object. The rays cross at 28.5°, and that angle is what the measurement is worth.horizonthe pointits shadowcorrect from 22 cm, at 160 mm widerays cross at 28.5° · recovered to 9e-16 m
Fig. 7 The lamp treated as a second eye. A shadow gives a second ray to a point, and where that ray and the camera’s ray cross is a depth — which is the same intersection this essay performs with a plane instead of a ray.

Exact is not the same as measured

The residual above is arithmetic noise, and arithmetic noise is a statement about a computation rather than about a measurement. A reader with a photograph does not have exact marks; they have marks with a pixel or two of uncertainty, and what matters is what a pixel becomes.

It becomes a length along the camera ray, divided by the sine of the angle between the ray and the plane. When the ray meets the plane squarely the factor is one. When the ray lies nearly in the plane — when the camera is looking along the sheet of light — the sine goes to zero and the factor has no upper bound.

Where the measurement stops being oneThe recovery is exact at every station — 9e-14 m — and that is a statement about arithmetic. What a reader with a real photograph has is a pixel of error, and it is multiplied by one over the sine of the angle between the camera ray and the plane. Across this sweep that runs by a factor of 219.5, and it has no upper bound: a camera in the plane of the shadow measures nothing.0100200-50050the camera, swung about the ball (degrees)worst amplification of a pixel of error (1 ÷ sin)exact everywhereconditioned nowhere near equally
Fig. 8 The camera swung about the ball, with the worst amplification of a pixel of error at each station. The recovery is exact at every one of them.

Across a modest sweep of camera positions the factor runs by a factor of several, and the shape of the curve is the point: it is flat in the middle and rises without limit at the ends. A camera in the plane of the light measures nothing at all, and it is not obvious from the picture that anything is wrong — the shadow is perfectly visible, the marks are perfectly sharp, and the recovery returns numbers.

This is the third time this site has separated those two properties and it is worth naming the pattern.

Exactness is a fact about the geometry; conditioning is a fact about the arrangement. A construction can be exact and useless, and nothing in the residual says so.

The first instance was the height transfer in carrying a height across the room, which is exact for every pair of feet and puts its intersection thousands of canvas widths off the page for feet that are nearly abreast. The second was how wrong a measurement can be, where the cross-ratio for a height divides by a quantity that goes to zero for a tall object. This is the third, and the amplification here has the tidiest form of the three: one over a sine.

The ball, read off its own shadow lineEach point of the shadow on the ball is recovered from its own image alone: the camera ray through the mark, met with the plane the lamp and the edge define. The residual over 67 points is 1.4e-15 m, and the amplification of a pixel of error runs to 1.45 where the ray is most nearly along the plane.correct from 20 cm, at 160 mm wideresidual 1e-15 m · 1/sin up to 1.45
Fig. 9 Near the far end of the sweep, where the plane is about to leave the ball altogether and the curve it cuts has shortened.

Two routes, and what each one is for

The forward computation and the recovery are deliberately different pieces of machinery, and the separation is what makes the agreement mean anything.

Forward, the curve on the ball is found by marching: a ray leaves the lamp toward a point of the edge, and the first crossing of the object’s surface is located by stepping until the sign of the surface function changes and then bisecting. Nothing in that route knows there is a plane. It would work identically for a curved occluder, for two occluders, or for a lamp inside the object.

Backward, the recovery never touches the object at all. It takes a mark, builds a ray, and solves one linear equation. It does not know what shape the object is, and it would return the same answer for a different object that happened to put a mark in the same place — which is correct, because that is what the picture says.

The two share nothing but the scene. So when the recovered point lands on the marched point to arithmetic noise, that is a statement about the geometry rather than about a function being called twice. This is the same discipline the round trip thread runs on everywhere else in the collection: the recovery must be blind to the thing it recovers.

There is one more check inside the forward route that is easy to skip and was not. The marched points must actually lie in the plane — they are found without reference to it, so their satisfying the plane’s equation is a result rather than a construction. They do, and it is the first thing that would break if the plane were being built from the wrong pair of edge points.

The shadow's edge and the drawn outlineTwo circles on the same ball. One is where the surface turns away from the lamp — it is the curve whose shadow is the edge of the cast shadow, and at 2.6 m it lies 80.0° from the lamp's direction rather than the 90° of a great circle. The other is where the surface turns away from the eye, at 84.0°. They are 88.9° apart and they coincide only when the lamp is at the eye, which is the arrangement in which no shadow is visible.88.9° between the two circlescorrect from 23 cm, at 160 mm widelamp 2.6 m · shadow circle at 80.0°
Fig. 10 The curve that ends the shadow line. Where the plane’s intersection with the ball crosses the ball’s own contour generator from the lamp, the light stops reaching and the drawn shadow stops.
The ball, read off its own shadow lineEach point of the shadow on the ball is recovered from its own image alone: the camera ray through the mark, met with the plane the lamp and the edge define. The residual over 61 points is 1.0e-15 m, and the amplification of a pixel of error runs to 1.48 where the ray is most nearly along the plane.correct from 20 cm, at 160 mm wideresidual 1e-15 m · 1/sin up to 1.48
Fig. 11 The last sweep position at which the plane still meets the ball. Beyond it the edge’s shadow misses entirely and there is nothing to measure.

Where the curve breaks

A shadow curve on a solid is not usually one curve.

The plane meets the object in whatever it meets it in — a circle on a ball, two separate ovals on a dumb-bell, a curve that runs round the back on a torus. The parts of that intersection the lamp can see are the ones that get a shadow boundary; the parts hidden behind the object’s own bulge get nothing, because the light never reaches them to be interrupted.

So the visible shadow curve terminates where the plane’s intersection with the object crosses the object’s own contour generator from the lamp — the curve the edge of a shadow is drawn on the object is about. Past that point the intersection continues and the shadow does not.

And then there is a second termination, from the camera rather than the lamp: parts of the shadow curve the lamp can see may be hidden from the eye. Those get no marks in the picture and cannot be recovered from it, which is the ordinary occlusion problem and needs a second view rather than a second lamp.

Two different curves on the object cut the same shadow curve short, one belonging to the light and one to the eye, and neither of them is visible as anything in the photograph except the place where the dark line stops.

What the receiving surface costs a four-point fitThe same lamp and the same occluder, cast onto four surfaces. Four marks of the shadow are matched to four known points of the occluder, the map they determine exactly is built, and the other sixty-eight points are predicted by it. On the plane the prediction is right to 3e-13 mm; on the others it is not, and the fit is still exact at the four everywhere — 2e-13 mm — which is what makes the rest a prediction rather than a residual.a flat floor3e-13 mma homology — four points determine ita dished floor5.67 mmnot a homologya ridged floor9.07 mmnot a homologya floor with a step74.95 mmnot a homologyworst error of the predicted pointsexact at the four fitted, on every surface
Fig. 12 The receivers this collection had measured before: a dish, a ridge, a step. The question there was whether the map from caster to receiver is still a homology, and only the flat one is.

What the receiver’s own shadow does

There is a third thing on the floor and it is easy to lose track of: the object is casting a shadow of its own, and the edge’s shadow runs into it.

Where the edge’s shadow plane passes below the object entirely, its boundary lands on the floor as a straight line — a plane meeting a plane. Where it crosses the object, the boundary climbs onto the object and comes off again. And where the object’s own shadow is, there is nothing to see, because the region is already dark.

So the drawn shadow of a straight edge across a scene with a solid in it consists of straight pieces on the floor, curved pieces on the solid, and gaps — and the gaps are where the object’s umbra swallows it. A reader tracing the line in a photograph sees it disappear and reappear, and the reappearance is not the same line continued: it is the same plane, met somewhere else.

That is exactly the structure a shadow across an edge found for a floor and a wall, one rung down, where a straight rod’s shadow was straight on each of two planes and kinked at the crease. Here the two planes have become a plane and a solid, and the kink has become a whole curve — but the underlying statement is unchanged, and it is the statement that makes the recovery legitimate: the shadow’s boundary is the trace of one fixed plane, whatever it lands on.

The lamp, from the shadows aloneThe two intersections are the light and the point below it. Nothing about the lamp was given to the construction — it is shown three posts, three shadow tips and the camera's own horizon — and the recovered position is 1e-12 mm from the truth. The light's foot sits 351 px below the horizon, which is what says it is a lamp and not the sun.the shadow lines meet below the horizon — a lamp in the roomhorizoncorrect from 25 cm, at 160 mm wide3 posts · foot 351 px below the horizon
Fig. 13 Recovering the lamp from drawn shadow lines, which is one way to get the plane’s own vertex without measuring anything in the room.
The ball, read off its own shadow lineEach point of the shadow on the ball is recovered from its own image alone: the camera ray through the mark, met with the plane the lamp and the edge define. The residual over 75 points is 1.0e-15 m, and the amplification of a pixel of error runs to 1.34 where the ray is most nearly along the plane.correct from 20 cm, at 160 mm wideresidual 1e-15 m · 1/sin up to 1.34
Fig. 14 One more sweep position. Each frame is its own measurement, and the sweep is a sweep of planes rather than of viewpoints.

The plane a reader can find without being told

One objection is worth answering, because it decides whether the arrangement is a measurement or a demonstration: the plane was given. The lamp’s position and the edge’s two ends were known in the world, and everything followed from that.

They need not be given. The plane is three numbers up to scale, and the shadow’s boundary supplies constraints wherever it falls on something already known — the floor, for instance. A straight edge’s shadow on a flat floor is a straight line, and the line is the intersection of the light plane with the floor, so one visible straight piece of the shadow on a known plane fixes a whole line of the light plane. A second piece on a second known plane — a wall, a table — fixes another, and two lines fix the plane.

That is the same construction a shadow across an edge uses in reverse, and it means the arrangement needs no measurement of the lamp at all: a floor, a wall, and the shadow itself carry the plane. What has to be known is the floor and the wall, which is the ordinary price of single-view metrology and is exactly the price the plan hidden in the photograph already pays.

The recovery is then a chain — floor and wall give the plane, plane and ray give the point — and each link has its own conditioning. The site’s habit is to say so rather than to quote the last residual, and the last residual here would be as clean as the one above and would mean considerably less.

One map, applied across the creaseA homography fitted to four marks of the shadow that all lie on the floor, then run backwards over the whole shadow to recover the card. Where the shadow is on the floor it returns the card to 6e-16 m. Where the shadow has climbed the wall it returns an outline up to 78.9 cm away from the card — not because the map is inaccurate but because it is the wrong map, and nothing in the picture of the shadow says where one stops and the other starts.recovered from the shadow — up to 78.9 cm out on the wallcorrect from 16 cm, at 160 mm widefloor 6e-16 m · wall 78.9 cm
Fig. 15 What happens when one plane’s map is applied across a crease: the recovery returns the card where the shadow is on the floor and puts it somewhere the card is not where the shadow has climbed the wall.
The outline, the shadow, and the outline againA point light is a centre of projection, so the map from the occluder's plane to the floor is a plane projectivity and has an inverse. Running each shadow point back through the lamp returns the outline to 4e-16 m — the recovered curve is drawn over the original and cannot be seen apart from it.the outline, its shadow, and the outline recovered from itcorrect from 20 cm, at 160 mm widerecovered to 4e-16 m
Fig. 16 A shadow un-cast, for the flat case. It works because the caster is known to be flat and at a known height; here the known thing is the plane instead, and the caster is unknown.

Why a straight edge and not something else

The plane came from the edge being straight. That is not a convenience.

A curved occluding edge does not define a plane. It defines a cone, or a general ruled surface, with a different generator for every point — and then the ray through a mark meets that surface in a point only if the correspondence between the mark and the generator is known, which it is not. The whole of the recovery above rests on the receiving constraint being one surface, known in advance, the same for every mark.

Which is why a rod, a card’s edge, a ruler or a taut string will do it and a pencil scribble will not. And why the same construction with the sun instead of a lamp works just as well, and slightly better: the sun’s rays are parallel, so the plane through the sun and the edge is the plane containing the edge in the sun’s direction — no lamp position needed, one fewer thing to know, and the same single linear equation.

The ball, read off its own shadow lineEach point of the shadow on the ball is recovered from its own image alone: the camera ray through the mark, met with the plane the lamp and the edge define. The residual over 63 points is 2.2e-15 m, and the amplification of a pixel of error runs to 1.25 where the ray is most nearly along the plane.correct from 20 cm, at 160 mm wideresidual 2e-15 m · 1/sin up to 1.25
Fig. 17 A small step from the start of the sweep. Each frame is a different plane through the same lamp, and each recovers its own curve.

Sweeping, and what the sweep is a family of

Moving the edge sweeps the plane, and the family of planes it sweeps through is worth naming because it decides what the arrangement can and cannot reach.

Translating a straight edge sideways sweeps a family of planes all containing the lamp — a pencil of planes through a point, not through a line, because the edge is moving rather than rotating about a fixed axis. Every plane of the family passes through the lamp; that is the one thing they all share, and it is what makes them a pencil at all.

The consequence is a blind spot with a precise location. A plane through the lamp cannot separate two points that are collinear with the lamp, so any two points of the object on the same ray from the lamp are hit by the same plane at the same moment and get the same mark on the shadow’s boundary — except that the nearer one occludes the further, so only one of them is a boundary. The occluded surface is not merely poorly conditioned; it is not in the family’s reach at any sweep position.

Rotating the edge about an axis instead gives a pencil of planes through a line, and then the blind set is the line rather than a point’s worth of rays. Neither family covers everything, and which surfaces each one misses is decided entirely by where the lamp is — which is the same fact, again, that the whole row is about.

Where the measurement stops being oneThe recovery is exact at every station — 9e-14 m — and that is a statement about arithmetic. What a reader with a real photograph has is a pixel of error, and it is multiplied by one over the sine of the angle between the camera ray and the plane. Across this sweep that runs by a factor of 219.5, and it has no upper bound: a camera in the plane of the shadow measures nothing.0100200-50050the camera, swung about the ball (degrees)worst amplification of a pixel of error (1 ÷ sin)exact everywhereconditioned nowhere near equally
Fig. 18 The amplification again, as the closing statement: the residual is a fact about arithmetic and the sine is a fact about where the camera is standing.

What one picture gives, and what it does not

The recovered points are on the object, in three dimensions, from one photograph. That is more than a single view usually gives, and the reason it is available is worth being exact about, because the site has spent a whole field on the fact that one picture has no size.

It is available because the plane is known — its position and orientation in the room are given, by the lamp and the edge, and not read out of the picture. The camera contributes a ray and the plane contributes everything else. Take the plane away and the marks say nothing but the object is somewhere along these rays, which is exactly the one-view ambiguity.

So this is not a counter-example to the field’s central negative result. It is the ordinary way round it: a single view plus one known thing in the world. The known thing here happens to be made of light rather than of wood, which is what makes it easy to sweep and is the whole of why anybody would build the arrangement — but geometrically it is a ruler held up in the scene, and the site has been using those since the first essay about scale.

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.

Back projectionConditioningGrazing incidenceleast-squares intersectionPoint lightReceiving surfacereconstruction ambiguityShadow projectionsingle-view metrologyTriangulation