wow, have never wanted to design a font until playing this this demo!
(I’ve never used “kcurves” though)
Agreed, that was fun to play around with. (As a small suggestion to the author, it would have been great to have a way to play around with that demo letter ‘A’.)
If, as is likely, I keep pushing that codebase forward, load/save (and export to SVG) functionality is high on the list. Thanks for the kind words, I’m glad you like it!
Gotta say, as someone who knows and cares little about the math, the technical benefits, and probably will never touch these things in practice… Playing around with the curve tool just automatically made things that I found viscerally beautiful, which is pretty cool.
I tried the demo and I think like I almost like the original Spiro curves a lot more. When I use your spiro curves in the inkscape, they beautifully adjust along the whole spline trying to form a curve that neatly goes through every point. These new curves do not do that, they feel and look more like your usual bezier curves.
I haven’t really looked at your work in detail (I probably don’t have the time for it either), but I have some experience with B-splines. I guess that one of the advantages of the splines you’re working with are that they are interpolatory (I used B-spline basis functions as basis functions for the finite element method, where you mostly don’t care about interpolation)? Is there a reason that only the angle of the tangent curve is displayed (not the magnitude)?
It’s because “magnitude” is not one of the state variables in the representation of my spline. It’s not a lightly reskinned cubic spline. That said, the question of explicitly setting curvature at a node has come up enough times I’m inclined to experiment with exposing it in the UI. I suspect that it won’t be intuitive and that users will find it easier to control curve shape just by adding more points, but you often learn something by trying it.