One neat thing that as far as I can tell is not very well known is that we can interpolate between three complex numbers a, m, b lying on a circular arc (m for midpoint) using the rational expression:
Where we let \tilde{t} = 1 - t for convenience.
In computer graphics language (where “lerp” means linear interpolation):
This can be extended to arbitrary Euclidean vectors a, m, b, using GA for multiplication/inverses, but since the terms might not commute, we need to put the denominator q(t) = (b - m)\tilde{t} + (m - a)t separately into the middle of each term:
Or asymmetrically,
This is computationally cheap (no trig! only one division per point), and while it is not arclength-uniform (except in the case where b - m = m - a, where it reduces to linear interpolation), if m is the midpoint on the desired circular arc between a and b then it behaves very nicely, especially when the arc is small. If a and b and the arc (e.g. via another point on it, or the circle center) are known, then the midpoint m can be computed with just one square root.
If someone really needs approximately arclength-linear interpolation for some reason, the function can be pre-composed with a very cheap rational approximation of tangent accurate to 5 digits:
I’d love to hear if anyone knew the above, or if there has been any past literature about it. The only somewhat similar thing I can find is the obscure never-cited conference paper Xuexiang Li & Junxiao Xue (2014) “Circular Arc Representation based on Parametric Complex Functions”, LEMCS 2014, proposing it for use in CNC machining.