我需要实现一种方法,用于值之间的非线性插值、缓入、缓出、一般缓动曲线以及用户定义的曲线。
我对如何做到这一点有一个基本的想法 - 但我不确定它是否是最有效的解决方案。我的想法基本上如下:
使用二维三次、二次或 n 阶贝塞尔曲线来控制插值。线性遍历曲线得到非线性 Y 分量,并用它来赋值给一个简单的线性插值方法:
value = v1 + (v2 - v1) * t;
其中 t 是控制曲线的非线性 Y 分量。
这允许自定义、用户定义的插值方法,但这是有代价的,一个非线性插值的成本等于:
1 + 2 * (n-1)
总插值,其中 n 是控制曲线的阶数或控制点数。
我不是数学家,这是我能想到的最好的,所以我的问题是是否有更好的解决方案?
编辑:我可能解释不正确,我不是母语人士,所以希望每个人都能理解: