Find points that defines the intersection of an ellipse with a plane.

130 Views Asked by At

I want to test for the intersection of two ellipses $E_1$ and $E_2$ in $\mathbb{R}^3$ represented on a computer. In some sense, this isn't a hard problem:

1) Check if the plane and $E_2$ have the same normal.  
   If Yes, return True iff the center of $E_2$ is on the plane.  
   If No, goto 2).
2) Then $E_2$ and the plane might intersect, and the intersection
   is two points if it exists.  Find these two points, and create a 
   line segment $L$ that connects the two points.
   If no points exist return False.
3) Compute if $L$ intersects $E_1$.
4) If yes return True, else False.

Essentially, this reduces the problem of checking for ellipse intersection to the problem of finding the points an ellipse intersects a plane. I am currently doing this numerically by a sort of sweeping algorithm: push a line across the ellipse, checking if the pairs of points the line hits are on the plane.

Is this a good approach, or is there a better way to find where the ellipse and plane intersect?