[Math] Perspective projection of a sphere on a plane

geometryprojective-geometry

I know the perspective projection of a sphere on a plane is an ellipse. How would I find the parametric equation for this ellipse?

Say I have a camera at $(0, 0, z_2)$, a plane at $z=z_1$, and a sphere with radius $r$ centered at $(x_0, y_0, z_0)$. Specifically I want to find the equation of the ellipse created by the intersection of the plane with a cone with apex at the camera and tangent to the sphere.

I made a model in GeoGebra in case it helps: http://ggbtu.be/mCbZok04r

Best Answer

WLOG I assume that $z_2=0$.

Let a ray be cast to the viewing plane in an arbitrary direction $\vec d=(x,y,z_1)$, so that a point along it is $t\vec d$. If we plug the coordinates to the sphere equation,

$$(t\vec d-\vec c)^2=r^2,$$

we get a second degree equation in $t$

$$\vec d^2t^2-2\vec d\cdot\vec c t+\vec c^2-r^2=0.$$

The ray passes through the apparent outline when the equation has a double root, i.e. when

$$(\vec d\cdot\vec c)^2-\vec d^2(\vec c^2-r^2)=0,$$ or $$(xx_0+yy_0+z_1z_0)^2-(x^2+y^2+z_1^2)(x_0^2+y_0^2+z_0^2-r^2)=0.$$

This is the implicit equation of the searched ellipse. You can reduce it to the canonical form by well-kown techniques of translation and rotation (also).

Related Question