从零复刻 morphicons 的核心管线:d 解析 → 弧长重采样 → 对应匹配 → 2D Procrustes → 极坐标插值 → 弹簧驱动。右侧读出数学解,下方并排对比「极坐标 vs 朴素 lerp」。算法与 README 公式同构(θ=90° 涌现旋转已对拍验证),零网络依赖。
选一对真实 Lucide 24×24 图标,点「变形」看全程。右上的三个数是 Procrustes 闭式解出的最优相似变换:θ*(旋转角)、σ*(缩放)、residual(形状残差——≈0 表示这对图标本质是同一形状的旋转/缩放,系统会自动选择纯旋转路径)。
同一对图标、同一个 t:左边按 morphicons 的 P(t) = c(t) + σ*ᵗ·R(t·θ*)·lerp 插值,右边直接逐点线性插值。拖 t 滑杆到 0.5 附近,看右边的形状如何收缩退化(旋转 90° 的对会缩成一点)。弹簧驱动时两图同步飞行。
箭头对最直观:极坐标侧整支箭头沿圆弧刚体旋转;lerp 侧每点走弦,t=0.5 时杆长收缩为零——这就是「线性插值会杀死旋转」的教材现场。注意 spring 过冲时 t>1,极坐标公式在旋转和缩放上自然外推(轻微过头再弹回),lerp 则无物可推。