I'm looking for an equation for a cone along an arbitrary axis and I've run a few Google searches, but haven't come across much except for:

"Let V be the vertex, A be a unit vector in the direction of the axis of rotation, and B,C be unit vectors such that A,B,C are mutually orthogonal. Let theta be the angle between the cone and the axis.

To get to an arbitrary point on the cone, we start at P, travel a length of s along the axis (where s is an arbitrary real number), and then travel a distance of s*sin(theta) in any direction perpendicular to the axis. An arbitrary direction perpendicular to A has the form B*cos(t) + C*sin(t), where t runs from 0 to 2π.

Putting this together gives us a parametrization of:

P + s * A + s * sin(theta) * (B * cos(t) + C * sin(t))."

I'm not sure how this fits into what I'd like to do though. Specifically, I'm attempting to find a way to construct a cone such that its vertex is at point

*p*= (p

_{x},p

_{y},p

_{z}) and the cone runs tangent to a sphere with origin

*o*= (s

_{x},s

_{y},s

_{z}) and radius

*r*. In other words, I want the cone to run along the axis defined by the vector

*o*-

*p*, with height equal to the length of said vector and its base have radius

*r*.

This is not homework. I'm going to use the cone to construct a circle on a plane that intersects with the cone. I know that the conic section formed by the cone-plane intersection will not be a perfect circle - I'm just interested in an approximation.

Thanks in advance.