Draw a knot shadow with JavaScript using circle packings and Ricci flow.
Draw a knot shadow with JavaScript using orthogonal embedding + ImPrEd.
Available at https://hchapman.github.io/knotdraw_js
(Older, less stable Ricci flow version available at https://hchapman.github.io/knotdraw_js/index_cp.html)