Detect if two elliptic cones overlap

245 Views Asked by At

Suppose I have two elliptic cones, both of whose vertices are at the same point. Do the interiors of these cones intersect?

I'm working in normal 3-dimensional Euclidean space.

An elliptic cone can be defined by 3 orthogonal unit vectors $\hat{z}, \hat{a}, \hat{b}$, which define the orientation of the axis of the cone, the direction of the semi-major and semi-minor axis respectively. In addition to these directions we have two parameters $a,b$, both $>0$, specifying the opening of the cone in different directions.

With these definitions, the criterion that a vector $\vec{x}$ is inside the cone can be expressed as:

$$ \left[ \frac{ \vec{x} \cdot \hat{a}}{a} \right]^2 + \left[ \frac{ \vec{x} \cdot \hat{b}}{b} \right]^2 < \left[\vec{x} \cdot \hat{z}\right]^2 $$

The cone is elliptic in the sense that its intersection with a plane perpendicular to the $\hat{z}$ direction is the interior of an ellipse.

Given two such elliptic cones $\hat{z}_1, \hat{a}_1, \hat{b}_1, a_1, b_1$ and $\hat{z}_2, \hat{a}_2, \hat{b}_2, a_2, b_2$, is there an expression using these parameters whose truth value indicates whether the interiors of these cones overlap, i.e. that there exists at least one point $\vec{x}$ that is inside both cones?

For circular cones ($a=b$) it's easy. In words it's: "the two cones intersect if the angle between $\hat{z}_1, \hat{z}_2$ is less than the sum of the opening angles of the two cones". I'd like to generalize this to cones with elliptical cross sections.

2

There are 2 best solutions below

1
On

Outline of an approach:

  1. Find the find the equation for intersection of the first cone with a plane perpendicular to it's axis
  2. Find the equation for intersection of the second cone with that same plane (TBD: is there an expression for the intersection of an elliptic cone with an arbitrarily oriented plane)
  3. Compute the affine transformation that makes the first intersection to be a circle.
  4. Apply that transformation to the second ellipse.
  5. Pad the ellipse by the radius of the now circular first ellipse.
  6. Hit test the center of the first ellipse with the transformed and inflated second ellipse.

The main gap is whether one can compute the parameters of the intersection of an arbitrary elliptic cone with an arbitrarily oriented plane.

0
On

You can stretch space so that one of the cones becomes circular, and rotate it so that its axis becomes vertical (map $\hat a,\hat b, \hat z$ to the canonical basis). The intersection with a sphere centered at the vertex is a circle of constant elevation.

Then you can write the implicit equation of the second cone in spherical coordinates and check if the value of that constant elevation can satisfy it.