我没有一个已知的“速度”,我有多个像素要遍历,我将该距离输入“moveto”,屏幕上的图形跳转到那个,或者如果我输入更小的值,我得到漂亮的光滑物体在屏幕上滑动目前我将增量值递减0.1,直到它接近零以产生“惯性”效果,但这并没有让我落在我想要降落的点上。关于处理过冲,我有关于堆栈溢出的another question,但我发现了这个:
///////////// QUARTIC EASING: t^4 /////////////////////
// quartic easing in - accelerating from zero velocity
// t: current time, b: beginning value, c: change in value, d: duration
// t and d can be frames or seconds/milliseconds
Math.easeInQuart = function (t, b, c, d) {
return c*(t/=d)*t*t*t + b;
};
我想切换它,以便在预定义点上获得相同的效果,但输入当前位置和目标位置。
我知道在傅立叶分析中,时域可以转换为频域。如何将时域转换为距离域?
此外,我是否可以使用任何基于时间的方程或算法将其转换为基于距离的算法进行简单的转换?
我要做的是将一个物体放在一个准确的位置或非常接近一个“惯性”减速效果。上面链接的四次缓和演示是具有我想要效果的演示。
答案 0 :(得分:0)
解决方程式。
似乎时间t之后的位置是c * (t/d)^4 + b
。如果您希望这是一个给定的点p,那么t = d*((p - b)/c)^(1/4)
。
这不是你想要的吗?