Determining the major/minor axes of an ellipse from general form

If you are looking for the length of the minor and major axis you can calculate $ r_{min} $ and $ r_{max} $ (see formulae below).

If you are trying to determine the bounding box, you can calculate the left-most, right-most, top-most and bottom-most points.

As far as the angle of rotation is concerned, I use the algorithm and formulae below.

Properties of an ellipse from equation for conic sections in general quadratic form

Given the equation for conic sections in general quadratic form: $ a x^2 + b x y + c y^2 + d x + e y + f = 0 $.

The equation represents an ellipse if $ b^2 - 4 a c < 0 $ , or similarly, $ 4 a c - b^2 > 0 $

The coefficient normalizing factor is given by:

$ q = 64 {{f (4 a c - b^2) - a e^2 + b d e - c d^2} \over {(4ac - b^2)^2}} $

The distance between center and focal point (either of the two) is given by:

$ s = {1 \over 4} \sqrt { |q| \sqrt { b^2 + (a - c)^2 }} $

The semi-major axis length is given by:

$ r_\max = {1 \over 8} \sqrt { 2 |q| {\sqrt{b^2 + (a - c)^2} - 2 q (a + c) }} $

The semi-minor axis length is given by:

$ r_\min = \sqrt {{r_\max}^2 - s^2} $

The center of the ellipse is given by:

$ x_\Delta = { b e - 2 c d \over 4 a c - b^2} $

$ y_\Delta = { b d - 2 a e \over 4 a c - b^2} $

The top-most point on the ellipse is given by:

$ y_T = y_\Delta + {\sqrt {(2 b d - 4 a e)^2 + 4(4 a c - b^2)(d^2 - 4 a f)} \over {2(4 a c - b^2)}} $

$ x_T = {{-b y_T - d} \over {2 a}} $

The bottom-most point on the ellipse is given by:

$ y_B = y_\Delta - {\sqrt {(2 b d - 4 a e)^2 + 4(4 a c - b^2)(d^2 - 4 a f)} \over {2(4 a c - b^2)}} $

$ x_B = {{-b y_B - d} \over {2 a}} $

The left-most point on the ellipse is given by:

$ x_L = x_\Delta - {\sqrt {(2 b e - 4 c d)^2 + 4(4 a c - b^2)(e^2 - 4 c f)} \over {2(4 a c - b^2)}} $

$ y_L = {{-b x_L - e} \over {2 c}} $

The right-most point on the ellipse is given by:

$ x_R = x_\Delta + {\sqrt {(2 b e - 4 c d)^2 + 4(4 a c - b^2)(e^2 - 4 c f)} \over {2(4 a c - b^2)}} $

$ y_R = {{-b x_R - e} \over {2 c}} $

The angle between x-axis and major axis is given by:

if $ (q a - q c = 0) $ and $ (q b = 0) $ then $ \theta = 0 $
if $ (q a - q c = 0) $ and $ (q b > 0) $ then $ \theta = {1 \over 4} \pi $
if $ (q a - q c = 0) $ and $ (q b < 0) $ then $ \theta = {3 \over 4} \pi $
if $ (q a - q c > 0) $ and $ (q b >= 0) $ then $ \theta = {1 \over 2} {atan ({b \over {a - c}})} $
if $ (q a - q c > 0) $ and $ (q b < 0) $ then $ \theta = {1 \over 2} {atan ({b \over {a - c}})} + {\pi} $
if $ (q a - q c < 0) $ then $ \theta = {1 \over 2} {atan ({b \over {a - c}})} + {1 \over 2}{\pi} $