Every quadric has one outline
Worth reading first: The ball at the edge of the frame · The polar with a straightedge · The circle whose centre moves.
Point a camera at a solid and the solid has an outline. Everything inside it is the solid; everything outside is not.
That sentence is doing more work than it looks. The outline is not an edge of the solid — a ball has no edges at all and still has an outline — and it is not painted on the surface, because it moves when the eye moves. It is a curve that belongs to the pair.
The claim of this essay is that for one whole class of solids the outline is not merely computable but is three matrix products, and that the class is large enough to be interesting and has an edge sharp enough to be instructive.
The class
A quadric is a surface whose points satisfy one quadratic equation. In homogeneous world coordinates that is a symmetric four-by-four matrix with , exactly as a conic in the picture is a symmetric three-by-three with .
The class is wider than it sounds. A sphere, every ellipsoid, both hyperboloids, a paraboloid, every circular and elliptic cylinder, and every cone are quadrics, and they differ only in the entries.
The site already has the flat version of this whole apparatus. The polar with a straightedge takes the pole and polar of a conic, and five marks and the sixth fits one to five points. Everything below is one word changed: line for plane, conic for quadric, three for four.
The plane the eye cuts
The polar of a point with respect to a conic is . The polar plane of a point with respect to a quadric is , and the same words describe what it is for: it collects the points whose tangent contains the given point.
For an eye outside the surface, that means the polar plane collects exactly the points where the surface turns away from the eye. The contour generator — the curve whose image is the outline — is therefore the polar plane of the eye, and no search is involved.
Two consequences follow immediately and neither needs any more machinery.
A plane section of a quadric is a conic. That is what the quadratic form restricted to a plane says: two variables, degree two.
The image of a conic is a conic. A projection is a linear map of homogeneous coordinates, and a linear map takes a quadratic form to a quadratic form.
So the outline of a quadric is a conic. Always, whatever the surface and wherever the eye. The ball’s ellipse in the ball at the edge of the frame is not a special case; it is this statement met once.
The three matrix products
Doing it by sampling is honest and slow. There is a closed form and it is worth writing out, because the shape of it explains why the outline is the object it is.
where is the dual quadric and the dual conic. A dual quadric is a list of the planes tangent to the surface; a dual conic is a list of the lines tangent to the curve.
The duals are the right objects because of what an outline is made of. The eye does not see chosen points of the surface; it sees which planes graze it. Push the tangent planes forward through the camera and what comes out is the set of tangent lines to the outline, which is the outline’s dual. Written that way there is no case analysis, no silhouette tracing and no sampling.
The adjugate rather than the inverse is not a stylistic preference, and the next section is why.
Where it stops
A cone and a cylinder are singular quadrics: their determinant is zero, so does not exist. The adjugate does, and it is rank one.
Push a rank-one dual through the camera and the result is rank one. As a dual conic, a rank-one matrix is not a curve at all — it is a point, and the set of lines it names is the pencil of all lines through that point.
Which is right, and useless. The outline of a cone from outside is two lines through the image of the apex; the dual conic names the point they pass through and forgets which two they are. Taking the adjugate back to recover the point conic gives a matrix of zeros — a millionth of a millionth of the size of its own entries — and a routine that normalised those zeros would return a perfectly plausible ellipse with nothing behind it.
So outlineConic refuses. It measures the rank of the dual, and a rank other than three is an error rather than a number to press on with. The refusal is the useful part: the point route is unaffected — the contour generator is still the polar plane’s section, still exactly two straight lines, still projects to the outline — so what has been found is not a hole in the theory but a domain.
Why the degenerate section had to be handled at all
Tracing a plane conic is normally done by sweeping a direction out of its centre and solving a quadratic. That is fine for an ellipse and impossible here: a pair of parallel lines has no centre, and a pair of crossing lines has one exactly where the tracing would divide by nothing.
So the tracing is done by parallel chords instead — sweep one coordinate, solve for the other — and where the curve exists at all is itself solved rather than searched for, because the chord’s discriminant is a quadratic in the sweep coordinate. A bounded section then gets its own extent and an unbounded one gets whatever clip the figure asked for.
That is a small implementation decision and it is the reason the four surfaces are one routine rather than two. A version that swept directions would have worked on the two proper quadrics, would have thrown on the two singular ones, and would have suggested that the singular ones were a different subject.
light field, where a shadow is cast onto four differently shaped receivers by one routine. Writing the general case first is what makes the special ones comparable.Which conic comes out, and what decides it
The outline of a ball is an ellipse in every ordinary picture, and it need not be.
The test is the one the conic a circle becomes already gives for a curve, and it transfers without a word changed: the type of the image is decided by whether the object reaches the plane through the eye parallel to the picture. A contour generator entirely in front of that plane images as an ellipse. One that touches it images as a parabola. One that crosses it — which happens when the eye is close enough to the surface for the grazing curve to wrap past the eye’s own plane — images as a hyperbola, and half the outline is off at infinity.
For a sphere the crossing cannot happen at all from outside: the grazing circle is always nearer the eye than the centre is, so it is always in front of the eye’s own plane, and a ball is an ellipse in every picture anybody takes. For an unbounded quadric it happens constantly: a cylinder that runs past the observer has an outline with two branches, and a paraboloid seen from close in has a hyperbola for an outline. The formula does not notice — it returns the conic and the conic knows which kind it is — and the drawing has to notice, because an unbounded outline cannot be traced as a closed loop.
The formula in two lines, and what one view costs
The three matrix products were stated above and used. They are also provable in two lines, and the proof is the reason the duals had to be the objects rather than a convenient choice among several.
A camera sends world points forward: . It sends image lines backward: the set of world points landing on a line is the plane , because . So a line and the plane of sight through it are the same object written twice.
Now the outline’s tangent lines are exactly the lines whose planes of sight graze the surface. A line is tangent to the outline when ; the plane is tangent to the quadric when . Those two conditions must hold for the same lines, and the second is , so and the derivation is finished.
Nothing in it would work in the primal. A point of the surface has no image-side partner to be matched with, because the projection is not invertible on points — a whole ray comes back — while it is invertible on the incidence a line and a plane share. That is the general lesson: when a projection has to be pushed forward, push the objects it pulls back cleanly.
And the same equation says what a single view throws away, exactly. The map is linear, from the ten entries of a symmetric four-by-four to the six of a symmetric three-by-three. So it has a kernel, and the kernel is computable rather than estimated. Let be the camera centre, the null vector with . Then for any vector ,
and those are all of them: a four-parameter family of dual quadrics draws the identical outline. Nine degrees of freedom in, five out, four lost — the same four, counted twice, and the second count names them. Geometrically they are the quadrics inscribed in one tangent cone: slide an ellipsoid along the cone, fatten it until it touches everywhere, and every one of them grazes the same planes through the eye.
That is a sharper version of the standing refusal that a single picture of a plane makes, and it is sharper in a useful way. The usual statement is that one view cannot recover a scene’s scale; this one says which four directions in the space of quadrics are dark, writes them down as , and hands the next view something specific to be asked about.
Two members of that family are already on this page, which is the check that it is real rather than a
count. The tangent cone through the eye is in it — it grazes exactly the planes the surface grazes, by
construction — and so is the flat disc cut by the polar plane, which is the family’s other degenerate end.
Both draw the outline the ellipsoid drew. So the refusal recorded two sections above, where a cone’s dual
comes back rank one and outlineConic stops, is not an awkward exception sitting outside the theory: it is
the boundary member of the very family that makes a single view four-fold blind, met from the other
direction. A routine that pressed on there would be reporting one member of a family as though the view had
chosen it. Stated the other way round, the rank of the dual is not an implementation detail to be guarded
against but the one place where the family’s structure becomes visible inside a single view, which is why
the refusal is worth reporting rather than smoothing over.
Nine points, and what a quadric costs
A conic has five degrees of freedom, which is why five points fix one and why five marks and the sixth is a prediction rather than a fit.
A quadric is a symmetric four-by-four up to scale, which is nine. So nine points in general position fix a quadric, and a tenth is predicted. That is the same sentence again with the number changed, and it sets the price of the whole class: recovering a quadric from marks is nearly twice the work of recovering a conic, and every conditioning problem the conic fit has is worse.
The outline route sidesteps that entirely, and it is worth being clear about why. Nothing here fits a quadric to anything. The quadric is given — it is the object being drawn — and the question is what its picture is. That is the forward direction, and it is exact. The backward direction, recovering a quadric from its outlines in several pictures, is a real subject with real conditioning, and the outlines it works on are the ones computed here.
The two curves on one solid
A quadric seen from a point has a contour generator. A quadric lit from a point has one too, and they are different curves.
That is the same construction twice with the centre moved, which is this site’s oldest habit and the reason the light field needed no new machinery when it was opened. One routine computes the curve for a lamp and another computes it for an eye, written at different times for different reasons, and they agree on the case they share.
What comes out of it that a silhouette does not give
The outline as a conic is five numbers rather than a traced curve, and the difference matters as soon as anything is to be recovered.
Fitting a conic to a drawn outline and taking the tangent cone through the eye gives back a cone in space, exactly. For a sphere the axis of that cone is the direction to the ball and its half-angle is the ratio of radius to distance. For a cylinder the two outline lines meet at a vanishing point, which is the direction of the axis, recovered from an outline with no end-caps visible anywhere.
What this does not say
It does not say that real solids are quadrics. Almost nothing is. What the class buys is that the outline of a member is exactly computable, which makes it the right place to check a silhouette routine that will later be pointed at something arbitrary — the same reason this site draws boxes rather than buildings when it wants to recover a camera.
It does not say the contour generator is visible. It is a curve on the surface and the reader is looking at the surface edge-on there, so nothing marks it in the picture except the outline itself. Where it is visible is on a second solid: the curve where a ball turns away from a lamp is drawn on the ball as the edge of its own shadowed part, and that is the version the edge of a shadow is drawn on the object can point at.
It says nothing about finding the outline in a photograph. Every outline here is computed from the surface, and detecting one in an image is a matter of image data, which this site’s multi-view ruling puts outside its own scope on purpose.
And it does not say the dual route is better. It is faster, it has a domain, and the point route has no domain and is slower. Keeping both is what let the domain be discovered at all: the disagreement was not predicted, it was found by running one against the other and watching the check fail.
The transferable form
The interesting half of this essay was not the formula. It was the day the formula stopped working.
A closed form and a sampled routine kept side by side will eventually disagree, and the disagreement is where one of them has a domain the other does not. A single route never tells its user which cases it is wrong on.
That is the same shape as the site’s oldest habit stated from a new angle. Two routes are usually kept so that agreement means something; here they were kept and the disagreement meant something, and it meant the more useful thing. A cone’s outline was going to be drawn either way; without the second route it would have been drawn from a normalised matrix of numerical zeros, and it would have looked entirely reasonable.
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.
- One conic calibrates the camera — both name camera matrix, conic, demonstration, homogeneous coordinates, pole and polar
- A texture does not interpolate on the page — both name camera matrix, demonstration, homogeneous coordinates
- A wire with a corner in its shadow — both name conic, contour generator, degeneracy
- An angle is a cross-ratio — both name conic, demonstration, homogeneous coordinates
- The divide is postponed, not avoided — both name camera matrix, demonstration, homogeneous coordinates
- The pixel that is not square — both name camera matrix, degeneracy, demonstration
Named objects
A flat tag is an object no other essay names yet.
AdjugateCamera matrixConicContour generatorDegeneracyDemonstrationDual conicDual quadricHomogeneous coordinatesPolar planepole and polarQuadric