Hacker News new | ask | show | jobs
by xeonmc 460 days ago
essentially you decompose the transformation into (axial translation) + (screw rotation) + (oriented orthogonal stretch) and each of them are just straightforward interpolation: axial is linear, screw is angular, and stretch is exponential.
1 comments

(author here) Be careful because (ignoring scale for to keep things simple) a transformation T can be decomposed into a translation and rotation, such that T=Rotation * Translation, but that translation is not along the axis of rotation. You probably want to instead interpolate with a screw motion, which is a rotation about an axis along with a translation along that axis (a helical curve; a curve along the outside of a cylinder). The screw motion is what you get when you interpolate with exp(log(T)*t).
Yes, hence I wrote (axial translation)+(screw rotation) instead of just (translation)+(rotation).
Yep!