Squash a circle and you get an ellipse. From a point on the circle drop a perpendicular to the axis and cut it in a fixed ratio. As the point runs around the circle, the cut point traces an ellipse.
The source code is at github.com/KirillOsenkov/LiveGeometry. It is written in .NET and Avalonia.