Javascript函数来确定一个点是否在一个矩形之间

标签 javascript point

我有一个 Javascript 函数没有返回我预期的结果。我正在尝试根据其他 2 个 x,y 点确定矩形内是否存在 x,y 点。在我的代码中,x 和 y 是有问题的原始点。 z1 和 z2 是矩形的左上角坐标,z3 和 z4 是右下角坐标。

function isInside(x,y,z1,z2,z3,z4){
x1 = Math.min(z1, z3);
x2 = Math.max(z1, z3);
y1 = Math.min(z2, z4);
y2 = Math.max(z2, z4);
if ((x1 <= x <= x2) && (y1 <= y <= y2)) {
 console.log (x1 + "," + x + "," + x2); 
 console.log (y1 + "," + y + "," + y2);
 return true;
} else {
 return false;
};
};

如果我评估 isInside(110,175,50,50,100,100) 我得到了真实的结果。这是出乎意料的,因为点 110,175 不存在于 50,50 和 100,100 的矩形内。任何帮助将不胜感激。

最佳答案

(x1 <= x <= x2)在 Javascript 中没有做您希望它做的事情:您必须使用 x1 <= x && x <= x2 .

如果您为这些变量插入实际数字并在 Chrome 的控制台中尝试一下,您会看到整个语句的计算结果始终为 true:

1 <= 3 <= 5
true
9 <= 3 <= 5
true

关于Javascript函数来确定一个点是否在一个矩形之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15019176/

相关文章:

file - Gnuplot : Size of points

c++ - 如何将 3D 点云转换为深度图像?

c++ - GL_POINTS 在粒子模拟中相互遮挡

javascript - 带有固定顶部导航的 impress.js 不工作

JavaScript 检查变量是否存在(已定义/初始化)

javascript - 如何检测每个页面的加载情况?

c++ - 在 gtk 中绘制点/线。 C++

javascript - 添加一个额外的单词来添加我所有的网址

javascript - 引用具有多个对象的类中的对象和属性

java - 在 Java 中返回一个 Point 值