任何持续时间的抛物线函数



我正试图为特定的时间间隔(可能是4,5,1等(创建一条抛物线。

这是当前的代码。

const calculateParabolaPoint = (x) => Math.abs(-Math.pow(x - 2, 2) + 4);

其中,x是以小时为单位的时间计数器(因此,对于持续时间为4的时间段上午9点,第一个计数器将返回0,然后返回1,等等(

我想创建一个在任何持续时间内都能返回0的抛物线,目前有点困惑如何接近它。我试过在持续时间内传递y,即(x,y(,并用y值替换4值,但它没有正确返回。

很乐意在这里得到帮助-谢谢!

您可以使用这个:

const parabola = (start, end) => x => (x - start) * (x - end)

根据基本数学,如果x == start,则整件事将乘以0,因此结果为0。与ifx==end的逻辑相同。我们知道,如果比例不是0,抛物线只与轴相交2点。

如果你分发条款,你会得到与给定表格匹配的x**2 - x * start - x * end + start * end

最新更新