相机手感为什么总差一点:导数视角下的跟随、样条与弧长参数化
一、三个症状,同一个底层概念先摆三个你大概率都遇到过的场景:你给相机写了个跟随逻辑,在自己机器上试手感很好,交给同事试,对方说「有点飘」。你们俩跑的是同一份代码。你给相机画了条样条路径让它平滑飞过,曲线画得很漂亮,跑起来相机却忽快忽慢。你把路径上的控制点摆得更密一些,期待它更平滑,结果某个点上相机猛地甩了一下头。这三件事看起来分属相机、路径、动画三个模块,但它们共享同一个概念——导数。导数回答的问题只有一个:变化有多快。而「手感好不好」,在绝大多数情况下,取决于变化率本身是否连续、是否可预期。这条线索一旦抓住,上面的三个症状就能被精确归类:第一个是变化率绑在了帧率上,第二个是参数化的速度不均匀,第三个是变化率在接缝处跳变。二、导数:位置、速度、加速度是同一条链先把定义说清楚:位置是你在哪;速度是位置变化有多快;加速度是速度变化有多快。后一个是前一个的导数。就这么简单。位置 →(求导)→ 速度 →(求导)→ 加速度这不是三个互不相干的量,而是同一条轨迹被看了三遍:看第一遍得到你在哪,看第二遍得到你跑多快,