【问题标题】:how to find point coordinate in between four point cordinate(Rectancle) [duplicate]如何在四点坐标(矩形)之间找到点坐标[重复]
【发布时间】:2014-05-27 07:55:24
【问题描述】:

我想在四个点之间找到一个点。请帮助我,有什么算法吗? 我想用java程序编写。

谢谢, 尼丁

【问题讨论】:

  • “四点之间的点与否”到底是什么意思?你指的是对角线的交点吗?
  • 使用数学!首先尝试解决数学问题(用铅笔和纸),最后尝试将其转换为代码。

标签: java math coordinates point rectangles


【解决方案1】:

您可以使用java.awt.Polygon

public boolean contains(Point p)

检查此Polygon 是否包含指定的Point。它的算法非常快。如果您需要更快的方法,read this

【讨论】:

    【解决方案2】:

    假设你有一个叫做 r 的矩形,这个 r 有一个 x 位置、y 位置、宽度和高度。

    中间是:

    Point p = new Point(r.x + (r.width / 2), r.y + (r.height / 2));
    

    检查点是否在矩形内

    if(p.x >= r.x && p.y >= r.y && p.x <= r.x + r.width && p.y <= r.y + r.height){
         //The point is inside the rectangle
    } 
    

    如果点的布局是这样的,检查点是否在四个点内:

       A  B
       C  D
    
       if(p.x >= a.x && p.y >= a.y && p.x <= b.x && p.y <= d.y){
             //The point is inside the points
       }
    

    【讨论】:

    • 我认为 OP 想知道。给定一个矩形和另一个点 p 这个点 p 是否在矩形内
    • @Montaldo 好吧,我想他忘记了“如果”。我会添加它
    • @theodor 这不是矩形,我只有 4 个点(A(X,Y), B(x1,y1), C(x2, Y2), D(X3, Y3))。我想在这个坐标之间搜索 P(X4, Y4)。它在与否..
    • @NitinKarale 这四个点代表一个矩形吗?
    • @theodor 不,因为这个坐标是地理点的经度和纬度。
    猜你喜欢
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多