An ellipse is a stretched-out circle. It's not just any stretched-out circle though; an ellipse is not an oval, not an egg, not a lemon, not a squircle, nor a capsule. To make an ellipse out of a circle, it must be stretched by a consistent factor.
The red curve above is what's known as an ellipse.
An ellipse has two quantities that are unique from a circle, namely its focal points, and its major and minor axes. The two focal points of an ellipse have a property such that the sum of the distance from any point of the ellipse to each focal point is equal to the length of its major axis, which brings us to our second quantities. The major and minor axes of an ellipse are its longest and shortest "diameter" respectively. To clear up any confusion, the line connecting both purple points in the picture above is its major axis. Meanwhile, the line connecting both green points is its minor axis. Dividing an axis by two gives us a semi-major axis which is the ellipse's "radius".
Unlike the three points needed to create a circle, five points are needed to create an ellipse. This is because there are two new geometric properties introduced in an ellipse, which are its aspect ratio and rotation. The aspect ratio of an ellipse is the ratio of its major axis to its minor axis. The rotation of an ellipse is just how tilted it is from the x-axis or y-axis. This property is only significant in analytical geometry. That aside, the five points needed to create an ellipse can be translated into five variables to modify an ellipse. In the equation I made, the five variables I chose are its tilt (ϕ), its aspect ratio (a), its center's x-coordinate (c), its center's y-coordinate (d), and its "vertical" radius (r).
with ρ being sqrt(1−ϕ²).
(Note: When I use the words "horizontal" or "vertical", I am referring to the orientation of the ellipse's axes with zero tilt.)
Honestly, I was going to explain how I got the equation above, but I ain't got time for allat, so I'll just explain what most of the shit here means. We'll start from the (x-c)'s and the (y-d)'s; these are standard translation operations. For the rho's and the phi's, well, they are modified rotation matrices. They used to be cosine and sine functions of an angle, but I decided against using trigonometric functions to keep it fully algebraic. With that, I transformed the sine function into a variable ϕ (which I bounded between -1 and 1). The a in the leftmost side of the equation is to stretch its "horizontal" diameter of the ellipse; the further away from 1 it gets, the more stretched out it becomes. Finally, the right-hand side of the equation is just to scale up the ellipse. I initially filled it out with a zero but then realized it wouldn't work; the ellipse had to have a size.
The black lines are made with these two equations.
These are standard line equations, but the gradients are... how did I get these gradients? Trial and error, my friend.
For the points, I, uh, trial and error again. Sorta.
Why there are four focal points is because I couldn't find out a way to switch their locations from the "horizontal" axis to the "vertical" axis. Basically, I made two points for the case where the "horizontal" axis was longer than its "vertical" axis, and vice versa with the curly brackets acting as an if-then statement. The purple points mark the edges of the "vertical" diameter; they are the center of the ellipse translated <horizontal axis length> units away according to the gradient of the corresponding black lines. The green points are the center translated <vertical axis length> units away according to the gradient of the other black line.
This is the Desmos link if you want to try out stretching or rotating ellipses!