9 comments

[ 2.4 ms ] story [ 14.8 ms ] thread
What an amazing resource.

I’ve been building a vector editor that by default draws shapes with smooth curvature and shows the comb. [1] In addition to the four point types mentioned in the article, you get a new “curve” point type. I’ve also been making a font editor with the same drawing capability. [2]

Both are free static web apps that use local storage and have import/export capability for SVG files (and OTF files for the font editor).

[1] https://svg.a10z.co/editor

[2] https://svg.a10z.co/font

Well that’s wild because I had a disagreement with beziers recently and did a similar thing! [1] albeit with more madness and less polish. Driven by the a/s/d/f keys with find edges snap to reference images and curve fitting to construction geometry.

Feel I should also call out Freyr’s videos for anyone who has missed them - continuity of splines [2] and the beauty of Bézier curves [3]

[1] https://gadgetoid.github.io/asdf

[2] https://youtu.be/jvPPXbo87ds

[3] https://youtu.be/aVwxzDHniEw

I remember watching the splines video for entertainment, thinking "Surely it can't be this hard for the common case: where we're not too picky, our points are far apart, and we don't need to minimize the segment count. This has to be a solved problem right?" After a bunch of fiddling with a project I had to come crawling back. It's so easy to get kinks, and derivative discontinuities are very noticeable. In the end I switched to a force-based navigation method instead a fixed path iirc.
I shouldn’t tell you this, cause I’m also working on a font editor, but I’d consider looking into Raph Levien’s Hyperbezier work
(comment deleted)
As another comment mentioned, Raph Levien has a few words to say on the topic of improving Bezier curves.

Simplifying Bézier paths (2023) https://raphlinus.github.io/curves/2023/04/18/bezpath-simpli...

Parallel curves of cubic Béziers (2022) https://raphlinus.github.io/curves/2022/09/09/parallel-bezie...

Fitting cubic Bézier curves (2021) https://raphlinus.github.io/curves/2021/03/11/bezier-fitting...