Hacker News new | past | comments | ask | show | jobs | submit login

ah gosh, a collab would be cool but I think you overestimate my knowledge in this area! I have no formal education or even an eighth of the vocabulary let alone mathematical background to contribute much ;-; I've been reading your paper on the spiro splines and a lot of it goes way over my head! I'd have to research every step along the way



After a year of skimming papers and fiddling with relevant code, I’m sure you know more than almost anyone. (Though as is always the case with math, there’s an infinite pool of deeper knowledge to swim through.)

While you’re here, it’s a bit of a tangent, but the introductory part of the video talking about lerp reminded me again that not enough people know about (not quite uniformly) interpolating along a circular arc using two lerps and one division:

For complex numbers a (start), m ("midpoint" on the circle), b (end), and t (parameter in [0,1], or in [-∞, ∞] to cover the whole circle),

  circle_interp = (a, m, b, t) =>
    lerp(a * (b - m), b * (m - a), t) / lerp(b - m, m - a, t)
https://observablehq.com/@jrus/circle-arc-interpolation

Conveniently, this works for points in a straight line (a circle of infinite diameter) and we never need to explicitly construct the center or radius of the circle.

I was astonished to find this, and even more astonished to find it had never been clearly published anywhere (at least not that I could find after a lot of searching).

[This parametrization of the circle can equivalently be rewritten as a rational quadratic Bézier, but this formula is IMO a lot clearer to understand.]


I'll let you in on a secret: neither do I. Thankfully, it turns out that "I need to know this to do a thing" is enough to get into it, and teaming up with folks who know way more than you do is basically the perfect learning opportunity =D

(I originally dug into Beziers because I was several levels deep into "Processing.js's text-in-a-box fitting is bad, how can I fix that". Queue learning how OpenType works, how TTF/CFF works, how Beziers work, writing up a code playground tutorial before we really had code playgrounds, and then going "...I can use this for more, can't I?"... And thanks to that I've talked to far smarter people with formal training in both the type design and maths communities. I still consider myself an amateur, but an amateur with expert acquaintances =)


Oh, I wouldn't worry. What would make a collab video cool is not dazzling people with mathematical BS, but rather visually showing the geometric and physical principles behind the splines, especially their relationship with bending elastic strips. If you want to have a chat to brainstorm (even if nothing comes of it), my contact info should be pretty easy to find.


I’d definitely up my Patreon contributions to see the results of such collaboration.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: