Visual Plane

About

What this site is, why every figure states the point it is correct from, and where a geometry of pictures stops being a description of seeing.

This is a growing collection of illustrated essays about perspective and the other drawing systems. Each takes a single idea and draws it until the argument is visible — and every point in every figure comes out of a camera with a focal length rather than out of a line run to a vanishing point placed by eye.

Why a camera rather than a construction

A perspective figure is normally constructed. A horizon is drawn, two vanishing points are put on it where the composition wants them, edges are run to them, and the remaining edges are placed by judgement. The method is centuries old, it is what every book on the subject teaches, and it is sound in the hands of someone careful.

It has a failure mode with no symptoms. The construction has a free step — where the far vertical edges of the box go — for which no printed method supplies a construction, because doing it properly needs a measuring point the method never introduces. The picture that results is a picture of a box. Which box is decided entirely by that free step, and nothing in the drawing says which one it was.

That is measurable rather than arguable. Given the two vanishing points and a principal point, the focal length follows; given the focal length, the drawn quadrilateral can be back-projected and the solid it depicts read off. Doing that to the taught construction gives the result the essays are built on: place the two far edges symmetrically and you get a cube for free, and eight points of asymmetry — a difference invisible in the drawing — gives a box whose depth is 1.4× shallower than its width.

So on this site there is no construction step. There is a camera with an eye, a target, a focal length and a principal point; a scene of world points in metres; and a projection. A picture that no camera could produce cannot be drawn, because there are no coordinates to draw it from.

Where the picture is correct from

The reason for insisting on a real focal length is that it answers a question the whole subject leaves out. A picture is a projection through a centre. Scale the picture to the width it is actually displayed at and the centre scales with it, and the scaled focal length is the distance the viewer's eye has to be from the page.

Nothing about the scene enters that calculation. The correct viewpoint is a property of the picture and its printed size, not of what it depicts. Shown 160 mm wide, a 40° picture is correct from 22 cm; a 90° picture from about 8 cm, which is closer than most people can focus.

That single number disposes of the most-asked question in the subject. A wide-angle photograph does not distort faces. It is a correct rectilinear projection, its edge stretch is exactly 1/cos θ off axis — 3% at 28°, 41% at 90° — and every bit of that stretch disappears if the picture is viewed from the point it was made for. Nobody views it from there, which is a fact about how photographs are looked at rather than a fault in the lens.

Every figure that draws a projection states its viewing distance in the caption strip, alongside the width the figure was assumed to be shown at, so a reader on a phone or a projector can redo the arithmetic. The assumption is stated because it cannot be measured from here, and hiding it inside a constant would make the claim look more certain than it is.

The rule has a second half, and it is what makes the first one honest. Some pictures here are a projection of nothing from anywhere, and those say so instead — beside the measurement that proves it, in metres or millimetres of the world. There are four ways for a picture to lose its centre and this site draws all four: light bent by a medium, an eye that moves while the picture is being made, a reflector that curves, and — the only one that is a decision rather than an accident — a picture drawn from more than one eye on purpose, which several drawing traditions do with a floor and the people standing on it. A figure may take that exemption only if it is on a checked list with the number that justifies it, because an exemption a figure can take silently is a hole rather than an exemption.

The camera is recovered from the picture

A projection that only ever runs forwards proves nothing about itself. So the machinery runs backwards as well, and the two halves are kept apart in the code: lib/projective.js never sees the scene or the camera. It is given the drawn line segments and nothing else.

From those it finds three vanishing points — each as the least-squares meet of a bundle of four drawn edges, with the residual reported so a bundle that does not really share a point cannot pass quietly — takes the orthocentre of the triangle they form as the principal point, and gets the focal length from the relation that two orthogonal directions must satisfy. Each of the three pairs gives a focal length independently.

On a box drawn from a known camera the three agree to within 3 × 10⁻¹⁶ of each other and the recovered focal length matches the true one to about 10⁻¹⁵ relative, with the principal point out by 2 × 10⁻¹² of a pixel. Those numbers are a statement about the geometry, because the only thing that crossed from one half to the other was twelve line segments.

Two routes, wherever there are two

What broke while this was being built

Four of the site's own checks failed in ways worth recording. Three of them were checks that looked right and measured nothing, and they are the same mistake in three costumes: a condition evaluated at the one input where it cannot fail.

The first: comparing the cross-ratio of four consecutive divisions in a receding row against the value four equally spaced points must have. That test gives the equal-steps-by-eye method a perfect score. It has to — four points equally spaced in the picture have the same cross-ratio as four points equally spaced in the world, because the cross-ratio of 0, 1, 2, 3 is 4/3 either way. The invariant is necessary and not sufficient, and a check that only knows it is necessary will certify a wrong construction. Bringing the vanishing point in as the fourth point fixes it, and then all three by-eye methods fail.

The second: the figure that measures what the taught cube construction depicts reported a side ratio of exactly 1.000 at every setting, which looked like a bug. It is a result. Moving both far edges together keeps the drawing symmetric, and symmetry forces a square. What decides the solid is the difference between the two by-eye placements, not their common value.

The third: measuring whether a picture surface preserves angle by differencing along one pair of perpendicular directions and comparing the result with 90°. That gives the cylinder a perfect score — 5.5 × 10⁻¹⁰ degrees — and a cylinder is emphatically not conformal, as anyone who has stitched a panorama and seen the top of the frame stretched can attest. The pair the helper builds happens to be the cylinder's own azimuth and elevation, and those two do stay perpendicular; every other right angle at the same point does not. Rotating the pair through a half-turn and keeping the worst case rejects it by 5.6°.

The fourth was an argument rather than a check. Recovering a height from one photograph divides by CR − 1, which goes to zero for a tall object, so the sensitivity grows as the square of the height — a confident, quotable warning about measuring tall buildings. Measured, it is false: at a fixed distance a taller object is recovered better, because its two ends are further apart in the picture and the cross-ratio's sensitivity to a pixel falls faster than the formula's sensitivity to the cross-ratio rises. What the error actually tracks is distance, linearly. The curve that was expected is plotted alongside the one that turned up.

One figure is printable

Every viewing distance quoted here is conditional on a display width the site cannot measure. There is exactly one exception: the anamorph essay ships a second SVG whose dimensions are in millimetres, so it prints at a known size and states where to put an eye without any arithmetic left over. It is the site's only unconditional claim about where a reader has to be, and the reason there is only one is that a viewing distance means something for a picture that is a projection of a scene and nothing for a plot of one quantity against another.

Where this stops

This is a geometry of pictures, not an account of seeing. It says where a point goes, what survives the journey, and where a viewer must stand for the picture to be a projection of anything. It says nothing about perception. The eye is not a pinhole; it moves constantly, it has one sharp degree at the centre of a wide field, and pictorial depth cues compete with binocular ones that say truthfully that the picture is flat. A viewer at the wrong distance usually does not notice and is not troubled.

Nothing here reproduces an artwork. Where a painting is discussed, its geometry is reconstructed from a synthetic scene and the original is described in words. That is partly a licensing rule and mostly a methodological one: the projection is the content, and a photograph of a painting would add authority the argument has not earned.

The pinhole is an idealisation. Real lenses have radial distortion, which bends straight lines and is corrected for rather than modelled here; they have finite apertures and depth of field; and a photograph's projection centre is the entrance pupil rather than a point. None of that changes the geometry these essays are about, and all of it matters to anyone comparing a figure here with a photograph.

An instrument need not put the picture where it is being read from. A camera turned about the screw under its baseplate has its pupil somewhere else, so the panorama stitched from it is a projection from a small sphere rather than from a point; a rig of several cameras has as many centres as lenses and no warp registers all of a scene at once. Those are measured here rather than assumed away, and the measurement is a length in the room instead of a complaint about a photograph.

The viewing distances assume a display width. 160 mm, which is roughly what a figure occupies on a laptop. The arithmetic is given every time so it can be redone; the number itself is an assumption and is labelled as one. They also assume a flat picture surface: a cylindrical or fisheye picture printed flat is being looked at from the wrong shape rather than the wrong distance, and no single distance repairs it.

And they assume a flat display. A screen that curves is itself one of the picture surfaces this site measures, so a rectilinear picture shown on one is not a picture from anywhere — which is a different failure from sitting at the wrong distance in front of a flat one, where the picture reaching the eye is still a projective transformation of the intended one and therefore still a correct picture of some room.

Corrections are welcome and will be made. A picture drawn from an impossible camera looks like a picture, which is the entire reason this site computes rather than constructs, and the same courtesy applies to its own figures.