给定两点:
const point1 = {x: 100, y: 0.95}
const point2 = {x: 75, y: 1.05}
当 x 等于某个任意值时,我需要知道 y 的值。
请假设存在线性关系。
例如,当 x 为 80 时,y 是多少?当 x 为 70 时,y 是多少?
是否有我可以使用的函数?
目前我对数学解释感到困惑,理想情况下我喜欢 JavaScript 或 jQuery 函数,当给定任意 x 值时返回 y 值。
最佳答案
当然,直线的梯度
是y
每增加一个单位x
增加的量。例如。如果 y
每增加 2 x
就增加 5,则称该线的梯度为 2.5。
可以像这样从 2 个点计算梯度:
var gradient = (point2.y - point1.y) / (point2.x - point1.x);
直线的截距是它穿过y
轴的y
值。它可以像这样从 1 点开始计算:
var intercept = point1.y - (gradient * point1.x);
然后可以计算任何 x
值的 y
值:
var x = 10;
var y = gradient * x + intercept;
结合这些东西的函数可能看起来像:
function yFromX(point1, point2, x) {
var gradient = (point2.y - point1.y) / (point2.x - point1.x);
var intercept = point1.y - (gradient * point1.x);
return gradient * x + intercept;
}
关于javascript - 在已知两点的线上获取点的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45466457/