Title: I was fascinated by this [0] and this video [1]. After many struggles, I finally built this app that traces images using circles similar to what these videos had shown.<p>The most challenging part (to me) is to find a way to convert images to vector lines. I had tried Potrace, but its output is not suitable for my use case: too many small elements share the same border. Potrace&#x27;s goal is to represent the original image faithfully using vector lines. But I want to trace the image edges.<p>After searching and trying some Potrace alternatives in vain, I finally found my keyword. Surprisingly (to me), it lies at the end of the wiki page of the very topic [2]. Then I found a paper [3] that has nice pseudocode and a C implementation. I rewrote the pseudocode in Rust because I wanted to experiment with rustwasm. Honestly, I didn&#x27;t care much about the math behind it.<p>From then, I could continue to finish the app and show it to the world.<p>This app is also my chance to learn about rustwasm and WebGL.<p>FYI: this app is offline-only; your images never leave your browser<p>[0] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=r6sGWTCMz2k" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=r6sGWTCMz2k</a><p>[1] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=-qgreAUpPwM" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=-qgreAUpPwM</a><p>[2] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Edge_detection#Subpixel" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Edge_detection#Subpixel</a><p>[3] <a href="https:&#x2F;&#x2F;www.ipol.im&#x2F;pub&#x2F;art&#x2F;2017&#x2F;216&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ipol.im&#x2F;pub&#x2F;art&#x2F;2017&#x2F;216&#x2F;</a>
Upvote: