[Math] Finding the angle of a cone from a 3D point

geometry

Given a point in $3$D space $(x,y,z)$ and a circular cone about the $x$ axis, I wish to find the angle of the cone such that the point is on the surface of the cone. For a given point, there is only one possible angle (I think). If the point lies in the plane defined by $z$, then the intersection between the plane and the cone is a hyperbola.

This image I found describes the problem fairly well – the plane is traveling along the $x$ axis:
image

The apex of the cone is in the origin $(0,0,0)$, and my point is in $(x,y,z)$, that is, somewhere on the ground. How do I find the angle of the cone such that the point lies on the hyperbola resulting from the intersection of the cone and the ground?

Best Answer

I think I found a solution.

The point $(x,y,z)$ is not only on the hyperbola, but also on the circle that results from intersecting the cone with the plane defined by $x$ and that is given by the equation $y^2+z^2=r^2$, where $r=\sqrt{y^2+z^2}$ is the radius of the circle, which has its center in $(x, 0, 0)$.

Now that I have the radius $r$ and length of the cone $x$, I can find the angle of the cone $\alpha=arctan(r/x)$, which was what I was looking for.

Tl;dr: $\alpha=arctan(\sqrt{y^2+z^2}/x)$.