我需要实现一种非线性插值方法,包括ease-in、ease-out、通用缓动曲线以及用户定义的曲线。
我有一个基本的想法,但不确定它是否是最有效的解决方案。我的想法基本上如下:
使用二维立体、二次或n阶贝塞尔曲线来控制插值。线性遍历曲线以获取非线性Y轴分量,并将该值传入简单的线性插值方法中:
我有一个基本的想法,但不确定它是否是最有效的解决方案。我的想法基本上如下:
使用二维立体、二次或n阶贝塞尔曲线来控制插值。线性遍历曲线以获取非线性Y轴分量,并将该值传入简单的线性插值方法中:
value = v1 + (v2 - v1) * t;
t为控制曲线的非线性Y分量。
这允许自定义用户定义的插值方法,但代价是一个非线性插值等于:
1 + 2 * (n-1)
总插值次数,其中n是控制曲线的阶数或控制点数。
我不是数学家,这是我能想到的最好解释,所以我的问题是是否有更好的解决方案?
编辑:我可能没有解释清楚,我不是一个母语为英语的人,因此这里有一些希望每个人都能理解的内容: