Studio · 出自《Approximation》
绘图员的样条
穿过同样这些点,哪条曲线弯得最少?
正在绘制第一帧……
在画面上把这十个点上下拖。金线是穿过它们的自然三次样条:一段段三次多项式接起来,接缝处位置、斜率、弯的程度都连着,在两个端点上不弯。冰蓝的梳齿沿法向画出每一处的曲率,梳齿端点连成的线是连着的(在接缝处可能折一下),到两端归零。珊瑚色的是穿过同样这些点的 9 次多项式:它常在两端甩开,点一挪甩得更明显,右上角它的弯曲总量常常是样条的几十上百倍。拖「加一个仍过这些点的起伏」那个滑块:在样条上叠一个在每个点上都是 0 的波,曲线照样过这些点,梳子立刻乱起来;从 0 往哪边拖都一样,起伏越大,右下角的弯曲总量越大,总比样条的大,多出来的正好是起伏自己的那一份(第三行用公式另算一遍)。右下角上面那个等式对过这些点的每一条曲线都成立,多出来的那一份不会是负的,所以过这些点的曲线里,弯得最少的就是样条。这里的弯曲总量是 ∫ s″²,和梳子是两种量法:梳齿画的是曲率,读数是二阶导数的平方积起来;木条在坡度小的地方弯曲的能量差不多就是它。