我正试图为特定的时间间隔(可能是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
。