What a point in shadow can see of the sky
Worth reading first: The penumbra is the lamp's image · A lamp lights less than half a ball.
How many lamps make one lamp and the two essays before it all asked what a shadow says about the source casting it — its size, its distance, how many smaller lamps could stand in for it. Every one of those questions is put from the lamp’s side of the picture. This essay stands on the floor instead and asks what a place in a shadow actually has, which turns out not to be nothing.
A point directly beneath an overhead slab is, by any everyday description, “in shadow.” It is not, however, cut off from the sky: everywhere the slab does not stand, the sky is still there, and how much of it that place can see is a purely geometric quantity — a solid angle, the fraction of all the directions available to a point in the open that are not blocked by anything. Measuring that fraction along a line that walks under a slab, from well clear of it to the middle and out the other side, shows there is no line where the sky “stops” — only a solid angle that falls to a minimum and rises again, with the fully-lit and fully-blocked cases sitting at the same clean 0 and 1 that bookend every fraction this site has measured before.
The same call as before, with the source swapped
The fraction above was not computed by anything built for this essay. It is the identical routine that measured a lamp’s penumbra in the penumbra is the lamp’s image and again in the lamp’s size over its distance, and nothing else, given a different source to count directions toward.
That the two questions — how much of a lamp does a shadowed place see, and how much of the sky does it see — are one computation with the source relabelled is the whole content of this essay’s opening claim, and it is worth taking literally rather than as a loose analogy. Nothing about the routine that counts directions toward a lamp knows the lamp is a lamp; it is handed a source, a list of occluders and a place to stand, and it returns what fraction of the source’s own extent is unblocked from there. Widen the source from a 36 cm strip to the entire upper hemisphere and the routine does not need to be told anything new — it counts exactly as before, over a larger set of directions.
The 0.0044 gap between counting by area and counting by solid angle is not noise, and it is worth pausing on because it is a decision rather than an approximation error. “How much of the lamp is visible” can mean the fraction of the lamp’s own surface that is unblocked, or the fraction of the directions the lamp occupies from that point that are unblocked, and the two are different quantities whenever the lamp is not equally distant in every direction from the measuring point — which is always, for anything with a size. Both are legitimate; neither is the “real” one lurking behind an approximation in the other. A measurement quoting one without saying which is quoting an answer to a question it has not stated.
The distinction is not academic once the source is the whole sky rather than a 36 cm strip. Weighting by area treats every square metre of an occluder’s silhouette as worth the same regardless of how far away it is, which is the natural choice when the “source” really is a physical panel with a stated width; weighting by solid angle treats every direction as worth the same regardless of how much surface subtends it, which is the natural choice once the object of interest is the sky itself rather than any particular panel of it, because the sky has no surface to measure area on in the first place. The sections that follow use the solid-angle reading throughout for exactly that reason — a rectangle overhead is being treated as an occluder blocking directions, not as a source whose own area is the quantity of interest.
There is no line where the sky stops
Having established that this essay’s fraction is the same kind of object as a penumbra’s, the next step is to walk it along a line and see what shape it actually has.
A hard-edged shadow — the kind a point source casts — has a line: cross it and the visible fraction jumps from one value to another with nothing in between. This curve has no such line anywhere in it. It falls smoothly as the walk approaches the slab’s own footprint and rises again smoothly on the far side, with its single lowest point directly under the middle, exactly where a reader would expect the least sky to be visible and exactly where the least sky is visible — 83.5 per cent, not some much smaller number, because a slab of finite size, however wide, still leaves most of the upper hemisphere unobstructed everywhere beneath it. “In shadow” and “cut off from the sky” are not the same claim, and the gap between them is the whole subject of this essay: the first is usually a statement about one particular source, a sun or a lamp, occupying one particular direction; the second would require an occluder large enough to fill essentially the whole hemisphere, which a slab overhead simply is not.
The smoothness itself is worth accounting for rather than taking as obviously true of any extended source. A point source’s boundary is sharp because the whole question at any place is binary — the one ray to the one point is either blocked or it is not — so the transition from lit to dark is a single instant as a place crosses the line where that one ray first meets the occluder’s edge. A place under a slab is asking about thousands of rays to thousands of points across the sky at once, and as the place moves a little, only the small number of those rays nearest the occluder’s own edge change their answer; the rest of the sky’s directions are unaffected. A gradient rather than a line is what “most of the source stays the same while a little of it changes” looks like when it is added up into a single fraction, and it is the direct geometric reason a soft shadow — from a lamp with a size, three essays ago, or from the whole sky, here — never has the crisp boundary a point source’s shadow has.
Two controls a dividing integrator can fail
A fraction is only informative once its two ends are known to be reachable, and reachable for the right reason — which is what normalisation is actually a claim about, rather than a bookkeeping detail. Both ends turn out to be harder to get right than they look, in two different ways.
The zero is the harder end to get right, and it is hard for a specific, nameable reason. A ray test built to ask “does this ray enter the occluder” has no answer for a ray that starts inside it — there is no entry to find, only an exit — so a test written that way reports every direction clear from inside a sealed box and the place would read the whole sky rather than none of it. The routine used throughout this essay tests for the exit instead, which is the version of the question that is true whichever side of the surface the ray starts from, and it is why the enclosed place above reads exactly nothing rather than everything.
The three readings that must come back as exactly 1 are the opposite kind of trap. A fraction built as “directions kept, divided by directions started with” returns 1 for an empty list of occluders regardless of what the geometry is doing, which means a measurement that always includes at least one genuinely irrelevant occluder — one below the place, one far to the side, one on the wrong side of the source entirely — is the only way to be sure the routine is testing the occluder and not merely reporting the shape of its own arithmetic. All three pass here, each with an occluder present and dismissed rather than absent.
The half is neither a floor nor a ceiling; it is a statement about the sampling lattice rather than about any occluder, and it is the reading that would catch a subtler mistake than either of the other two. A set of directions distributed evenly in solid angle puts exactly half of them within sixty degrees of the zenith, because the solid angle of that cap is exactly half of the hemisphere’s own total — one minus the cosine of sixty degrees is one half. A lattice that instead spreads its directions evenly in the polar angle — the obviously simpler thing to build, and wrong for this purpose — crowds two thirds of its directions into the same cap, and would go on reporting a correct 1 in the open and a correct 0 inside a box while quietly misreporting every fraction in between, because both of those extremes are insensitive to how the directions in between them are distributed and only a genuinely intermediate reading exposes it.
That third check is the one worth carrying away as a general habit rather than a fact about this one measurement. A test aimed only at the two endpoints of a fraction can be satisfied by an instrument that is broken everywhere in between, provided the two endpoints happen to be the two cases every instrument gets right regardless — a fully open sky and a fully sealed box are both insensitive to the fine structure of a sampling lattice, because at either extreme every direction gives the same answer and no distribution of directions can misread a unanimous vote. The 0.667 reading is what a lattice built the wrong way actually produces at the one place the wrongness has somewhere to show up, and finding it required constructing a case where the two lattices disagree rather than trusting that agreement at the extremes implied agreement everywhere.
A theorem hiding in what looked like a bug
The same counted-directions routine used throughout this essay has to be handed the right list of occluders, and getting that list right turned out, on one particular floor, to be less obvious than it looks.
A soft shadow on a curved floor is not the lamp’s image measured a floor with a step in it, and a step is not only a receiver — its own riser stands in its own light. A place on the low floor beside the seam cannot see the part of the sky, or the part of a lamp, that the riser itself occupies, and leaving the riser out of the occluder list on that floor reports a visible fraction the place does not actually have. Adding it back in is where a plausible check briefly asked for something impossible: it required a place beside the step to see less of the source once the riser was counted alongside the card’s own straight edge, and at the seam that comparison read one number against itself, 0.5424 against 0.5424, as though the riser had done nothing at all.
It had not done nothing — on its own, with no other occluder present, the riser removes 44 per cent of the source at the seam and takes nothing at all from a place 0.45 m away, which is exactly the local, receding effect a physical wall should have. What it adds beside the card’s own edge is nothing, and the reason is geometric rather than a defect: a riser standing in the same plane as the card’s edge and no taller than it blocks a set of directions that is already a subset of what the card’s edge blocks on its own, because any ray that would be stopped by the riser reaches that same vertical plane at a height the card’s edge has already intercepted. Raise the riser even slightly above the card’s own height and the containment breaks — a ray that passes over the card can still be caught by a riser that now stands taller than it — and the addition becomes measurable: nothing at a riser height of 2.39 m, and 0.001664 of the source newly blocked at 2.41 m, against a card at 2.40 m. The corrected check asks for exactly that shape — nothing while the riser stays at or below the card, something as soon as it is raised past it — which is a theorem about one occluder containing another’s shadow rather than a tolerance quietly loosened to let a broken assertion pass.
The edge of the visible dome
The crossing figure showed the shape of the fall as a curve. Two single readings from either end of it are worth setting beside each other directly, because the contrast is what “no line where the sky stops” looks like as a pair of numbers rather than a shape.
Ten percentage points separate the two readings, and both are a great deal closer to full sky than to none of it. That is the honest shape of “ambient” occlusion from a single overhead object: a slab wide enough to cast a clear shadow from one lamp is nowhere near wide enough to block most of an entire hemisphere, because a hemisphere is a very large thing to occupy and an ordinary piece of overhead architecture is not. A reader picturing “in shadow” as “in the dark” is picturing the wrong source; a single lamp genuinely can be reduced to nothing by a hard-edged shadow, and the whole sky, being everywhere at once, essentially cannot be.
The honest limit
Every number in this essay is a solid angle — a fraction of the directions available to a point, weighted only by geometry. None of it is a statement about how bright that point actually looks, and the difference is not a nuance to be waved past.
A wall does not get darker is where that falloff is measured properly, with the cosine of incidence and the inverse-square law both doing real work, and it is worth being precise about why this essay borrows the picture rather than the arithmetic. A solid angle answers “what fraction of the sky’s directions are open here,” and it treats every open direction identically regardless of how much light actually travels along it. Radiance — how strong the source is along each of those directions, how it spreads with distance, how obliquely it arrives at a surface — is exactly what a solid angle ignores, and a place that sees 83.4 per cent of the sky is not thereby receiving 83.4 per cent of the light one in the open receives, because “per cent of directions open” and “per cent of light received” coincide only under an assumption about the sky’s own radiance that this essay never makes. A lamp lights less than half a ball sits on the same boundary from the opposite direction: it is a claim about how much of an object’s surface receives any light at all, a geometric question much like this essay’s own, right up until it is asked how bright that lit part looks, at which point it too stops and hands off to the same radiance this essay declines to compute.
What is settled, and does not need any of those cautions to stand, is that a shadowed place’s relationship to an overhead source is a genuine solid angle, computed by exactly the machinery that already measured a lamp’s own penumbra, checked against a closed form to parts in a thousand, and validated at both of its own necessary extremes plus a third check on the sampling lattice that neither extreme could have caught alone. A shadow is a second projection and where shadows vanish both treat a shadow as a hard-edged region with a boundary; this essay is the record of what the same subject looks like once the source is given an extent large enough that the boundary dissolves into a gradient with no edge in it at all. The lamp a low shadow cannot locate returns to a single point source and a hard edge, and reading it after this essay is worth doing for the contrast: everything that goes wrong there — an ill-conditioned meet, a pencil of nearly parallel lines — is a problem this essay’s own gentle, boundary-free fractions never have to face, because nothing here is asking two shadows to agree on a point.
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.
- The edge of a shadow is drawn on the object — both name shadow projection, solid angle, umbra
- A dent breaks the terminator — both name shadow projection, umbra
- A hole is not preserved — both name shadow projection, umbra
- Counting shadows is not counting lamps — both name shadow projection, umbra
- The ball stands at a focus — both name shadow projection, umbra
- Two lamps and one map — both name shadow projection, umbra
Named objects
A flat tag is an object no other essay names yet.
NormalisationPenumbraPoint sourceRadianceShadow projectionSolid angleUmbra