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=HzZh = H\,\frac{z}{Z}

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

x=XzZx = 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 zZz \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.

The design, the eye, and where the rays landA 0.90 m design standing on the ground line, an eye 1.62 m up and 2.40 m back, and the marks the rays leave on the floor. Above: the section, with the ray through the top of the design reaching 3.00 m away. Below: the marks themselves, in plan.floorpicture planeeye level — no mark above thiseye · 1.62 m up, 2.40 m backthe ground line, seen from abovethe mark runs to 3.00 ma point 1.62 m up casts no mark at all
Fig. 3 The painted construction, for comparison. There the free parameter is where the eye stands; here it is how the depths are assigned. Both are invisible in the resulting picture and both decide everything about what happens when the reader moves.

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. 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/z01/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/21/6=1/31/2 - 1/6 = 1/3. The intended row runs from 2 m to 20 m, so its reciprocal range is 1/21/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. 4 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.
Disparity to depth, and the wall the reader's own head puts inz = b·D/(b − d). Zero disparity puts the point on the screen at 2.0 m; crossed disparity brings it forward; and at d = 63 mm — the separation of the eyes — the point reaches infinity. Past that the display is asking the eyes to diverge, which they cannot do, so the depth budget is set by the width of the reader's head and by nothing about the scene.010203040-2502550disparity on the screen — millimetreswhere the point is depicted — metres from the eyesd = 63 mm — the eyes' separationon the glassscreen at 2.0 m · eyes 63 mm apartthe ceiling is the head, and it does not move when the screen does
Fig. 5 And the same relation in the screen field, where it decides what a stereo display can show. The disparity a pair of eyes receives is inversely proportional to distance, so most of the available signal is spent on the nearest few metres.

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.

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. 6 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.

The other eye, found in the picture — 2.6 m apartTwo views of one courtyard. In each panel the arrow points at the epipole: the image, in this picture, of the eye that took the other one. It is computed from the 44 correspondences alone, as the null vector of a fundamental matrix that has never been shown a camera, and it lands on the projection of the other eye to 1.1e-9 px on the left and 3.7e-10 px on the right.epipoleepipoleleft pictureright pictureepipole from 44 correspondences vs the projected eye: 1.1e-9 px2.60 m between the eyes
Fig. 7 What a second view buys, from the twoviews field: depth for every point rather than for identified planes, and the epipolar structure that makes it possible. A built set gives the second eye a consistent scene, which is exactly why it gives itself away rather than failing to.
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. 8 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.

A 1.7 m figure, drawn at every distance, by two systemsThe falling curve is a pinhole: f·H/Z, dropping -4.06 px per metre on average and 20.0× overall across the range. The flat one is an oblique system, whose slope is 0e+0 px per metre — zero, not nearly zero. A system with no diminution has no size–distance signal at all, so depth has to be carried by something else, and the something else is where the figure stands on the page.0100200204060distance of the object, metresits drawn height, pxa pinholean oblique systemdrawn height of a fixed object against its distance20.0× against 1.000
Fig. 9 The relation the whole construction is trading on: apparent size falls as one over distance, so a column at three times the depth needs a third of the height, and the substitution is exact.
The subject held, the background moved: a step is not a zoomLeft, the camera 3 m from the subject at 50 mm. Right, 1.50 m from it at 25.0 mm, chosen to hold the subject at exactly the same drawn size. The subject is unchanged to twelve decimal places and the background is smaller by 0.526×. No focal length alone can do that: the near-to-far ratio is 10.00 at every focal length there is.3 m, 50 mm1.50 m, 25 mmsubject ×1.000000 · background ×0.526 · zoom alone would give ×1 for bothnear-to-far ratio 10.00 → 19.00changing the focal length leaves it at 1.000000000000
Fig. 10 And the distinction the site has drawn since its first phase. Changing the focal length is not changing where the eye is; a built set changes neither, and substitutes the scene instead.

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/z01/z11/z_0 - 1/z_1 against 1/Z01/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.

Three numbers, and the whole mapThe rabatted design maps to the floor marks by a homology: the ground line is fixed pointwise, one point off it is fixed, and one ratio does the rest. Rebuilding every mark from those three misses by 2.2e-15 m.axis — the ground line, fixed pointwisecentreaxisthe ground linefixed pointwisecentre(0.150, 4.020)height + distanceratio-1.481481−distance / heightevery mark rebuilt to 2.2e-15 meye 1.62 m up, 2.40 m backthree numbers back to the eye: 2.2e-16 m
Fig. 11 The painted construction’s own three numbers, which the built set has no equivalent of. A set is not a map of a plane and has no axis, no centre and no characteristic ratio; what it has is a taper, and the taper is one number per column.
The vault refuses the projective descriptionThe same design and the same eye, cast onto a flat floor and onto a barrel vault of radius 4.0 m. The best homography fitted to the floor's marks misses by 1.4e-15 m; fitted to the vault's it misses by 529.4 mm, which is 7.7% of the marks' own extent, and no choice of four marks helps.barrel vaulteye · 1.62 mon the floor1e-12 mmon the vault529.4 mmworst miss of the best homography, log scalevault radius 4.0 m7.7% of the extent, against 4e-14%
Fig. 12 And the third member of the family: paint on a surface that is not flat. Of the three ways to build a picture for one eye, only the first is a projectivity — which is the boundary the vault essay measures and the built set never had.
Seven identical spheres across a 84° frameThe outer sphere images 27% wider than the central one. That is what a correct rectilinear projection does, and it vanishes if the picture is viewed from 9 cm.54 px69 px84° across27% wider at the edge
Fig. 13 The wide-angle case, for scale. Every one of these constructions is the same claim in a different costume: a picture is correct from a point, and the further the reader is from it the more of the geometry shows.

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.

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.

AnamorphosisDemonstrationDepth compressionDepth cueDiminutionDisparityForced perspectiveForeshorteningFree parameterParallaxReference lengthStation pointViewing distanceViewing toleranceVolume anamorphosis