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?