Equation for conic section given an arbitrary cone

conic sectionsgeometry

I learned in school that the curve formed by the intersection of a double cone and a plane is always one of the three types of curves called "conic sections" – an ellipse, a parabola, or a hyperbola (or the degenerate forms of each – a point, a line, or a pair of lines). Apparently this has been known since at least the days of the ancient Greek mathematicians. And Cartesian coordinate systems have also been around for centuries. Both are very useful and easy to study.

But it is surprisingly difficult for me to find any references describing how to relate the conic sections to defined cones and planes that are defined in a 3D Cartesian coordinate system. Surely someone has done it before!

In general, what is the equation for the intersection of the Cartesian XY plane with a circular double cone centered at $(x_c, y_c, z_c)$, with axis of symmetry $[x_a, y_a, z_a]$ and with an angle of $\theta$?

As a simple example, if the cone is centered at $(5, 6, 10)$ and has an axis $[0, 0, 1]$ and an angle of 45°, then its intersection with the XY plane is the circle $(x – 5)^2 + (y – 6)^2 = 100$. But surely there must be a general solution?

Best Answer

Here's a relatively elementary approach. The main difficulty is simply in coming up with an equation for an arbitrary cone.

Consider a right circular cone. Let the position vector of the vertex of the cone be $\mathbf c = [x_c, y_c, z_c]^T$. Let the axis of the cone be parallel to the vector $\mathbf a = [x_a, y_a, z_a]^T$ and the half-angle of the opening be $\theta$ (so $\theta$ is the angle between the axis and one of the lines lying on the surface of the cone.

Then if $\mathbf x = [x,y,z]^T$ is an arbitrary point on the surface of the cone other than the vertex the vector $\mathbf x - \mathbf c$ is a vector parallel to one of the lines lying on the surface of the cone. Therefore the angle between $\mathbf x - \mathbf c$ and the vector $\mathbf a$ is either $\theta$ or $\pi - \theta$. That is,

$$ (\mathbf x - \mathbf c)\cdot \mathbf a = \pm \lVert \mathbf x - \mathbf c\rVert \lVert \mathbf a\rVert \cos\theta. $$

For simplicity let's assume that $\lVert \mathbf a\rVert = 1$, since we can always "normalize" the axis vector to make this so. Squaring both sides of the equation above, we have

$$ ((\mathbf x - \mathbf c)\cdot \mathbf a)^2 = \lVert \mathbf x - \mathbf c\rVert^2 \cos^2\theta. $$

Spelling this out componentwise, $$ ((x - x_c)x_a + (y - y_c)y_a + (z - z_c)z_a)^2 = k^2 ((x - x_c)^2 + (y - y_c)^2 + (z - z_c)^2) $$ where $k = \cos\theta$. (I introduce $k$ here merely to emphasize that $\cos\theta$ is simply a constant in this formula.)

That's an equation of the cone. We can do the algebra to turn it into a polynomial in $x$, $y$, and $z$ in the usual form, but that will just give us another equation of the same cone.

To find the intersection with the XY plane, simply set $z = 0.$ Then

$$ ((x - x_c)x_a + (y - y_c)y_a - z_c z_a)^2 = k^2 ((x - x_c)^2 + (y - y_c)^2 + z_c^2). $$

As before, if you want the equation to be in a standard form like $Ax^2 + Bxy + Cy^2 + Dx + Ey + F = 0$, multiply out all the factors and collect all terms on the left side.