鉴于两点:
const point1 = {x: 100, y: 0.95}
const point2 = {x: 75, y: 1.05}
Run Code Online (Sandbox Code Playgroud)
我需要知道当 x 等于某个任意值时 y 的值。
请假设存在线性关系。
例如,当 x 为 80 时,y 是多少?当 x 为 70 时,y 是多少?
有没有一个函数可以用来实现这个目的?
目前,我对数学解释感到困惑,并且理想地希望有一个 JavaScript 或 jQuery 函数,当给定任意 x 值时,它会返回 y 值。
当然,一行的值是每增加一个单位就会增加gradient多少。例如,如果每上升 2 点,则上升 5 点,则该线的坡度为 2.5。yxyx
梯度可以从 2 个点计算出来,如下所示:
var gradient = (point2.y - point1.y) / (point2.x - point1.x);
Run Code Online (Sandbox Code Playgroud)
直线的截距是y它y与轴相交的值。可以从 1 点开始计算,如下所示:
var intercept = point1.y - (gradient * point1.x);
Run Code Online (Sandbox Code Playgroud)
然后可以计算y任何值的值:x
var x = 10;
var y = gradient * x + intercept;
Run Code Online (Sandbox Code Playgroud)
结合这些东西的函数可能看起来像:
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
555 次 |
| 最近记录: |