slope js实现
Slope 实现方法
在 JavaScript 中实现斜率(slope)计算,通常需要两个点的坐标 (x1, y1) 和 (x2, y2)。斜率公式为:m = (y2 - y1) / (x2 - x1)
以下是一个完整的实现示例:
function calculateSlope(point1, point2) {
const [x1, y1] = point1;
const [x2, y2] = point2;
// 避免除以零(垂直线)
if (x2 === x1) {
return Infinity; // 或抛出错误
}
return (y2 - y1) / (x2 - x1);
}
// 示例用法
const pointA = [2, 4];
const pointB = [6, 10];
const slope = calculateSlope(pointA, pointB);
console.log(slope); // 输出 1.5
处理垂直和水平线
- 垂直线:当 x1 = x2 时,斜率无限大(
Infinity)。 - 水平线:当 y1 = y2 时,斜率为 0。
const verticalSlope = calculateSlope([3, 5], [3, 8]); // Infinity
const horizontalSlope = calculateSlope([2, 4], [5, 4]); // 0
实际应用扩展
1. 检查平行线
两条线平行当且仅当斜率相等:
function areParallel(line1, line2) {
return calculateSlope(...line1) === calculateSlope(...line2);
}
2. 检查垂直线
两条线垂直当且仅当斜率乘积为 -1(或一条为水平,另一条为垂直):

function arePerpendicular(line1, line2) {
const m1 = calculateSlope(...line1);
const m2 = calculateSlope(...line2);
return m1 * m2 === -1 || (m1 === 0 && m2 === Infinity);
}
注意事项
- 浮点数精度问题可能导致比较失败,建议使用误差容忍范围(如
Math.abs(m1 - m2) < 1e-10)。 - 若需计算线段斜率,需确保两点不重合。






