只知道代表对角的 2 个点,如何确定用户输入的点是否在矩形内

With knowing just 2 points that represent opposing corners, how to determine if a point input by the user is inside the rectangle

我搜索了已经问过的问题,但如果知道 3 点,它们似乎就涵盖了。但是,如果您只有两个点并且您知道这两个点代表矩形上的对角怎么办?知道这一点,如果这个点在矩形内,你怎么能确定用户是否输入了任何点?谢谢

基本上您需要做的是:

  1. 根据你的第1点和第3点,构造另外两个点2和4 完成矩形定义。
  2. 接受用户输入点,我们称之为 5。
  3. 计算所有 P(1,2,5), P(1,4,5), P(2,3,5), P(3,4,5) 的三角形面积并加上这些区域在一起。
  4. 如果这些区域中的任何一个为 0,则您知道该点位于矩形周长上。如果面积之和大于 矩形,点在矩形外。如果它等于 矩形区域,它在里面。

我假设它是二维的。所以你有两个点代表左下角和右上角。您现在可以计算缺失的点数。 例如这里有一些随机点:

blc(1,1) and trc(4,2)

您现在可以计算高宽差并构建缺失点。

topleftcorner(1,2) and bottomrightcorner(4,1)

现在你有了一个完整的矩形,你可以检查给定的输入是否在区域内。