有两点:
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值。
答案 0 :(得分:2)
const point1 = {x: 100, y: 0.95}
const point2 = {x: 75, y: 1.05}
function getY (x) {
var gradient = (point1.y - point2.y)/(point1.x - point2.x);
return point1.y + gradient * (x - point1.x);
}
alert(getY(90));
答案 1 :(得分:2)
使用给定的两个点计算m(梯度)和c(偏移),然后使用这些点计算任何x的y。
const point1 = {x: 100, y: 0.95}
const point2 = {x: 75, y: 1.05}
var m = (point1.y - point2.y) / (point1.x - point2.x); // gradient formula
var c = point1.y - m*point1.x; // offset formula
function findY(x){
return m*x + c;
}
console.log(findY(80));
console.log(findY(70));

答案 2 :(得分:2)
当然,gradient
行的y
是x
每单位y
增加的数量。例如。如果x
每增加2 var gradient = (point2.y - point1.y) / (point2.x - point1.x);
上升5,那么该行的梯度为2.5。
渐变可以从2点计算,如下:
y
一条直线的截距是它与y
轴交叉的var intercept = point1.y - (gradient * point1.x);
值。它可以从1点计算如下:
y
然后可以计算任何x
值的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;
}
结合这些东西的功能可能如下:
{{1}}