Where to stand

A set cut for one eye

Build a colonnade four metres deep and cut every column so that its picture is the picture of one eighteen metres deep. The taper is forced rather than chosen — height and width both scale as the real depth over the intended one — and the match from the design eye is exact to sixteen decimal places. What gives it away is the second eye, and not by the ratio anybody would predict.

Worth reading first: Anamorphosis is only a viewpoint · The point you have to stand at.

Every anamorph so far on this site has been paint on a surface. There is another way to build a picture for one eye, and it does not involve distorting anything: build the scene out of real objects, in a real space, cut so that what the eye receives is what the intended scene would have sent.

That is the stage set, the theatre perspective, the deliberately shortened colonnade. It is usually described as an illusion of depth, which is the same non-statement as describing a painted anamorph as a picture that resolves from one spot. This essay computes it instead, and the interesting part is not that it works — it works exactly — but what it cannot do and by how much.

A set cut for one eye, and what the second one readsFive columns in 4 m of real depth, cut so that their picture is the picture of a row in 18 m — the far one at 0.300 of full size, and the match is exact to 6.2e-17. The disparity between two eyes 63 mm apart is 74.1% of the deep row's, which is a ratio of reciprocal depths and not the 4.5× the set was cut at.eyefaint: the row it imitates · solid: the row that is builtbuilt row21.0 pxthe deep row28.4 pxdisparity across the row, two eyes 63 mm apartfar column cut to 0.300the eyes read 74.1%, not 22.2%
Fig. 1 Five columns in four metres of real depth, cut so their picture is the picture of a row in eighteen. Above, the plan: the built row solid, the row it imitates faint, and every built column’s edge sitting on the ray from the eye to the deep column’s edge. Below, the disparity two eyes get from each.

The taper is not a choice

A column at depth zz with height hh subtends h/zh/z; the intended column at depth ZZ with height HH subtends H/ZH/Z. Requiring the two pictures to agree gives

h=H zZh = H\,\frac{z}{Z}

and requiring the columns’ lateral edges to agree gives the same factor applied to the width:

x=X zZx = X\,\frac{z}{Z}

One factor, applied to every dimension of every column. There is no freedom in it and no craft in it: given the real depths and the intended ones, the taper is determined, and a set cut to any other taper is a set that does not work.

For the row drawn above the far column is cut to 0.300 of full size — three tenths of the height, three tenths of the width, three tenths of the spacing across. Every built column images exactly where the deep one does, and “exactly” here means the two directions agree to 6.2e-17 in tangent units over all five columns, which is the arithmetic floor.

A set cut for one eye, and what the second one readsFive columns in 4 m of real depth, cut so that their picture is the picture of a row in 38 m — the far one at 0.150 of full size, and the match is exact to 6.9e-18. The disparity between two eyes 63 mm apart is 70.2% of the deep row's, which is a ratio of reciprocal depths and not the 9.5× the set was cut at.eyefaint: the row it imitates · solid: the row that is builtbuilt row21.0 pxthe deep row29.9 pxdisparity across the row, two eyes 63 mm apartfar column cut to 0.150the eyes read 70.2%, not 10.5%
Fig. 2 The same real depth imitating a much deeper row. The compression is larger, so the taper is steeper and the far column is cut smaller — and the match from the design eye is exact at every setting, because it is algebra rather than approximation.

Where the free parameter went

The floor anamorph’s construction has one degree of freedom nobody names — the eye’s position — and the built set has one too, in a different place.

The map from real depth to intended depth is not determined. Any monotonic assignment z↦Zz \mapsto Z produces a set that works from the design eye, and the linear one used here is a choice. A set could put its first four columns almost at their true depths and compress the last one savagely, or compress evenly, and both would image identically.

What the choice controls is not the picture. It is everything a second eye, a moving head or a walking visitor gets, and that is the subject of the rest of this essay.

What a set can and cannot be made of

The taper being forced has a consequence that decides what can be built at all, and it is worth drawing out before the disparity.

Every dimension scales by the same factor z/Zz/Z. So a column that is meant to look cylindrical must be cylindrical, a floor that is meant to look level must be sloped — because the floor’s far edge has to rise to meet the shortened columns’ feet — and a doorway meant to look rectangular must be trapezoidal in plan and in elevation at once.

That is a strong constraint and it is the reason a built anamorph looks like a built anamorph from anywhere else in the room. A painted anamorph on a floor is a flat surface with an odd pattern; it gives away nothing about what it depicts. A shortened colonnade is a shortened colonnade, visibly, from every position but one, because the geometry forced its every dimension and none of those dimensions can be hidden.

There is one exception worth naming, and it is the one that gets used. A set whose compression is applied only to depth and not to the transverse directions is not an anamorph at all — it is a scene at a different scale, and it works from everywhere. The construction becomes interesting exactly when the transverse dimensions are compressed too, which is when the eye’s position enters and the set stops being a model.

The second eye reads a different number

A viewer has two eyes, and each of them is at a different place, so each receives a different picture of the same set. The disagreement between them is horizontal disparity, and for a point at distance dd with the eyes separated by bb it is

disparity=bfd\text{disparity} = \frac{b f}{d}

which depends on the depth and on nothing else — the same relation a stereoscopic display runs backwards to put a point in space. A set cut for depth cannot cut its disparity to match, because the cutting changed the sizes and left the distances alone.

That much is obvious. The number is not.

The natural expectation is that the disparity gives away the compression ratio — that a row imitating eighteen metres in four gives the eyes a quarter and a half of the depth signal it should. It does not, and the reason is one this site has already made an essay of.

Disparity lives in the reciprocal of depth. The range of disparity across a row running from z0z_0 to z1z_1 is proportional to 1/z0−1/z11/z_0 - 1/z_1, and the ratio between the built row’s range and the intended row’s is a ratio of reciprocal differences rather than of depths.

For the row above: the built row runs from 2 m to 6 m, so its reciprocal range is 1/2−1/6=1/31/2 - 1/6 = 1/3. The intended row runs from 2 m to 20 m, so its reciprocal range is 1/2−1/20=0.451/2 - 1/20 = 0.45. The ratio is 74.1%.

Not 22.2%, which is what the depth compression of 4.5×4.5\times would suggest. The two eyes get three quarters of the depth signal from a set built at less than a quarter of the depth.

Depth from disparity, with the 1 px the reading is worthZ = fB/d on a 65 mm baseline at 900 px. The line is exact — it returns the camera's own depth to 1e-12 m. The band is what 1 px of disparity error costs, and it stops being a ±. At 6.5 m it runs 5.86–7.33 m, lopsided by 1.25, and the textbook ±Z²δ/fB is 1.2% out. At 40 m it runs 23.8–126.5 m — 86.5 m beyond the estimate against 16.2 m before it, a lopsidedness of 5.32 — and the same formula is 47% out. Past 58.5 m the far edge is infinity.025507510010203040true depth (m)depth reported from the disparity, with a 1 px reading error5.86–7.33 m13.96–26.69 m23.76–126.49 mat 40 m: +86.5 m against −16.2 munbounded past 58.5 m
Fig. 3 The reason, from the depth field. Everything a picture carries about depth is carried in 1/z1/z rather than in zz: equal steps in the picture are equal steps in reciprocal depth, and the far half of any scene occupies almost none of the range.

Which is why forced perspective works at all

That number is the whole practical content of the construction, and it explains something the geometric description leaves mysterious.

If the built set gave a quarter of the intended depth signal it would read as a shallow box with small things at the back, and no amount of care in the cutting would help. It gives three quarters, because the deep row’s own disparity range is nearly used up in its first few metres — the intended columns at 15 m and 20 m are contributing almost nothing to begin with.

The ratio, in general

The 74.1 per cent is one arrangement of a formula worth having, because it says which sets work and which do not before anything is built. With the near end shared at z0z_0 and the two far ends at z1z_1 and Z1Z_1,

R  =  1/z0−1/z11/z0−1/Z1,R \;=\; \frac{1/z_0 - 1/z_1}{1/z_0 - 1/Z_1},

and for an intended row running to the horizon it simplifies to

R  =  1−z0z1.R \;=\; 1 - \frac{z_0}{z_1}.

A set from two metres to six delivers two thirds of the depth signal of a scene running to infinity, and it does so on four metres of stage. Some readings:

built imitating signal delivered
2–4 m 2–20 m 55.6%
2–6 m 2–20 m 74.1%
2–10 m 2–20 m 88.9%
2–6 m 2–∞ 66.7%
5–9 m 5–20 m 59.3%

The last row is the one a designer should read twice. The same four metres of depth delivers 74 per cent when it starts at two metres and 59 when it starts at five, because disparity lives in the reciprocal and the reciprocal’s range is spent near the eye. What makes forced perspective work is not how deep the set is but how close its front is — which is why a theatre puts something real and near in the foreground and why the trick collapses in a large room with the audience held back.

And the free parameter has a right answer

The assignment z↦Zz \mapsto Z is described above as a choice that changes nothing the design eye sees. It changes a great deal of what the other eye sees, and there is one assignment that is best.

Choose the depths so that 1/z1/z is a linear function of 1/Z1/Z — not zz a linear function of ZZ, which is what the row above uses. Then every column’s disparity is exactly RR times the disparity the intended column would have given, with the same RR throughout. The two eyes then receive a consistent stereo picture of a room compressed in depth by a single factor, rather than an inconsistent one in which the near columns are nearly right and the far ones are wrong by a growing amount.

That distinction is not cosmetic. A uniformly scaled depth is a room — a wrongly-viewed picture is always a correct picture of a stretched room, and the visual system accepts one without complaint. A depth map that is right near the front and wrong at the back is not a room at all, and it is the arrangement in which a viewer reports that something is off without being able to say what.

So the built anamorph has the same structure as every other one in this field: an exact picture for one eye, a free parameter invisible in that picture, and the free parameter deciding everything about the neighbourhood. Here the neighbourhood is not a region of standing room, as it is for a painted design, but the sixty-three millimetres between a reader’s own two eyes — which is why the construction survives an audience spread across a theatre and an anamorph on the floor does not. One more consequence of the reciprocal, and it is the one that decides whether a set can be walked past. A viewer who moves sideways by δ\delta gets the same reading as a pair of eyes δ\delta apart, so everything above applies with the interocular distance replaced by the step — which means the set’s depth signal is short by the same fraction 1−R1 - R however far the viewer moves, and the absolute error grows in proportion to the step. At sixty-three millimetres it is a quarter of a small number; at a metre it is a quarter of a large one, and the columns visibly part company with the row they are imitating.

Which is the practical difference between a stage set and a film set. A theatre audience is seated and the largest step available is the width of a head; a camera can be put exactly at the design eye and has only one. The arrangement that fails is the one nobody builds — a forced-perspective colonnade in a gallery that people walk through.

A deep scene’s depth signal is concentrated where a shallow set can supply it. So a set imitating eighteen metres in four is not cheating by three quarters; it is reproducing the part of the signal that carries most of the information and dropping the part that carries least.

Push the imitation further and the number improves rather than worsening, which is the counter-intuitive direction: a set imitating forty metres in four gives an even larger fraction, because the extra thirty metres contribute almost no reciprocal range at all.

A set cut for one eye, and what the second one readsFive columns in 4 m of real depth, cut so that their picture is the picture of a row in 6 m — the far one at 0.750 of full size, and the match is exact to 1.1e-16. The disparity between two eyes 63 mm apart is 88.9% of the deep row's, which is a ratio of reciprocal depths and not the 1.5× the set was cut at.eyefaint: the row it imitates · solid: the row that is builtbuilt row21.0 pxthe deep row23.6 pxdisparity across the row, two eyes 63 mm apartfar column cut to 0.750the eyes read 88.9%, not 66.7%
Fig. 4 The modest case, for the other end. Imitating six metres in four is barely a compression, the taper is gentle, and the disparity fraction is close to one — which is a set that has not gained much and has not given much away either.

Against the painted anamorph

The comparison with paint is the point of putting this essay beside the other four.

A painted anamorph is on a plane. Both eyes agree completely about where that plane is, and their disagreement about the depicted scene is total: the paint carries no disparity at all beyond the plane’s own. So a flat anamorph read binocularly reads as a flat surface with a pattern on it, which is what it is.

A built set carries real disparity, in the correct sign and at three quarters of the correct magnitude for the row above. Its second eye is not told the truth and is not told nothing; it is told something wrong by a factor that is computable in advance.

That difference is a difference of kind and it is the reason both constructions exist. A painted anamorph can depict anything and convinces one eye; a built set can only depict things that can be built and convinces both, imperfectly and by a stated amount.

Moved 250 mm in, the picture becomes a homologyThe intended design and the one a displaced eye actually sees, drawn over each other. The map between them fixes the ground line pointwise, so the departure is exactly zero there and reaches 32.3 mm at 1.38 m up.ground line — right from anywherefaint: intended · solid: seendeparture (mm) against height (m)01.38the error map is a homology, with the ground line as its axischaracteristic ratio 0.905660250 mm inoutzero on the axis, 32.3 mm at the top
Fig. 5 And the painted case’s response to a moving viewer: a central collineation with the ground line as its axis. A built set’s response is not a collineation of anything — the columns are at real depths and the parallax is the real parallax of a shallow room.

Walking is the harder test

Moving the eye sideways is where the two constructions separate again, and where the built set is the weaker one.

A painted anamorph shears; the picture goes wrong in a way that is linear in height and can be made small by keeping the design short. A built set does something else entirely: it reveals its own depths. Step sideways and the near columns move against the far ones by the parallax of a four-metre room, not of an eighteen-metre one — and the ratio of the two parallaxes is the same reciprocal-depth ratio that governs the disparity.

So a set’s tolerance for a step is the same number as its disparity fidelity, which is a pleasant economy: one measurement covers both, because two eyes and two positions of one eye are the same geometry with a different baseline.

The consequence for anybody building one is that the interocular distance is the smallest baseline the set will ever face, and every other baseline is worse in exact proportion. A set that survives being looked at survives being walked past only over the fraction of the room the disparity ratio allows.

The number is a design tool

Because the disparity ratio is computable before anything is cut, it can be used to choose the compression rather than to explain it afterwards.

The quantity to hold is 1/z0−1/z11/z_0 - 1/z_1 against 1/Z0−1/Z11/Z_0 - 1/Z_1, and both of those are dominated by the near end. So the near depth z0z_0 matters far more than anything else in the design: bringing the built row’s first column closer costs disparity fidelity immediately, while pushing its last column further away buys almost none back.

Three readings of that, all of them consequences rather than advice:

The near end should match. A set whose first column stands at the intended row’s own first depth starts the two reciprocal ranges at the same place, and every discrepancy is then in the far end where it is cheapest. The rows drawn here do exactly that — both start at 2 m — which is why the fraction is as high as it is.

Depth bought at the far end is nearly free and nearly worthless. Extending the intended row from twenty metres to forty changes its reciprocal range from 0.45 to 0.475, about five per cent. So a set can claim to imitate twice the depth for almost no additional cost in disparity fidelity, and it gains almost nothing in the picture either.

The compression ratio is the wrong number to quote. A set described as compressing eighteen metres into four sounds like it is discarding three quarters of the depth, and it is discarding a quarter of the signal. Anybody reasoning from the depth ratio is reasoning in the wrong variable, which is the same error the depth field records for a depth buffer’s precision and the metrology field records for a height’s sensitivity.

The refusal the construction needs

One case has to be refused rather than answered, and it is the one a careless implementation would get wrong.

Both rows have to be in front of the eye. A construction handed a row of columns standing behind the viewer would compute a taper — the algebra is happy with negative depths, and returns a scale factor of the right magnitude and the wrong sign — and produce a set whose columns are inverted and whose picture is a picture of nothing.

The machinery refuses, and the refusal is in the site’s gate rather than in a comment. It is the same discipline the floor anamorph needs for a design point above the horizon: an expression that returns a number outside its domain is more dangerous than one that returns nothing, because the number looks like an answer.

The short version

A forced-perspective set is an anamorph made of objects instead of paint. Its taper is forced: every dimension of every column scales as the real depth over the intended one, and the match from the design eye is exact to sixteen decimal places.

The free parameter is how the depths are assigned, and it controls nothing about the picture and everything about what a moving or binocular viewer receives.

Two eyes read a disparity range that is 74.1% of the intended row’s, for a set built at 4.5 times compression — because disparity lives in reciprocal depth, and a deep scene’s depth signal is nearly all spent in its first few metres. That is why the construction works, and it is a considerably better number than the depth ratio would suggest.

The design that produces it is three numbers on a floor, and the set is that design given thickness. What changes with the third dimension is not the construction but the tolerance: a painted floor is right from a point and wrong gracefully around it, while a built set has parts at different depths that come apart at different rates.

What links here

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

Reads more easily once this is understood

Essays that name this one as worth reading first.

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.

AnamorphosisDemonstrationDepth compressionDepth cueDiminutionDisparityForced perspectiveForeshorteningFree parameterParallaxReference lengthStation pointViewing distanceViewing toleranceVolume anamorphosis