Hacker News new | ask | show | jobs
by juanbyrge 1930 days ago
Very interesting article. Got through the first few paragraphs until I got completely lost. This seems like something that should be submitted to an academic journal and OP should be in a research group or academia.
1 comments

I am currently (as of the first of the year) a research software engineer on the Google Fonts team. I'm doing a bunch of font tools in Rust now, and that gives me an opportunity to revisit classic algorithms and techniques to see if there's a better way to do things than the usual.

I'm sorry you got lost. This particular technique is fairly deeply mathematical, and to really appreciate it I guess you need some grounding in the relevant math as well as familiarity with the curve and geometry concepts. I tried to get the intuition across as much as possible, certainly as opposed to the "wall of greek" I see in a lot of academic papers.

This might well turn into an academic paper - I have as a goal to do one or two of those a year. But I also really wanted to do a blog post because I think this could be useful now, and also because the insight about triplets of similar cubic Béziers is something that might be useful even to artists and designers as opposed to tool builders.

I only skimmed it (so far) but the immediate application that intrigued me was G code compression. arcwelder fits points on arcs, but Bèzier curves would be so much more powerful (I don’t know if 3D printer firmware currently support that, but that’s a technicality)
My understanding is that most available CAM tools deal exclusively with circle arcs and straight segments.

Personally I don't think cubic Béziers per se seem like an especially good CAM primitive, but they are ubiquitous in 2d computer graphics, so they might be convenient for that reason.

I have received the impression (as an outsider) that NURBS get used quite a bit in CAD and CAM too: https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline