Drag the red points around. You can turn the resolution up if the program is running slow. Hit space to make all the points start moving. I recommend you run this in TurboWarp: https://turbowarp.org/411362675
5 points determine a conic. This project has been in my drafts for months before I finally figured out how to graph the implicit function. You can see all my past attempts by the mass amounts of unused code. I ended up doing a super simple version of marching squares - check if nearby points change signs, if so, graph the white pixel, else ignore. It's fast-ish on lower resolutions and good enough for me (TurboWarp has no problems even on the highest resolution). One day I'll look into quadtrees.