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