alas, this wouldn't work if the ellipse is rotated so I wrapped this in an if-block of its own with a note about the arbitrary ellipse