点在多边形内Java 代码

可以使用以下代码来判断一个点是否在多边形内:

import java.awt.geom.Path2D;

publicclass Main {
    public static boolean isPointInPolygon(double x, double y, double[] polyX, double[] polyY, int numPoints) {
        Path2D polygon = new Path2D.Double();
        polygon.moveTo(polyX[0], polyY[0]);
        for (int i = 1; i < numPoints; i++) {
            polygon.lineTo(polyX[i], polyY[i]);
        }
        polygon.closePath();
        return polygon.contains(x, y);
    }

    public static void main(String[] args) {
        double[] polyX = {0, 10, 10, 0};
        double[] polyY = {0, 0, 10, 10};
        int numPoints = 4;
        double x = 5;
        double y = 5;
        boolean isInPolygon = isPointInPolygon(x, y, polyX, polyY, numPoints);
        System.out.println(isInPolygon);
    }
}

上面的代码使用了 java.awt.geom.Path2D 类来表示多边形,并使用 contains 方法来判断一个点是否在多边形内。

在上面的代码中,polyXpolyY 数组分别表示多边形的顶点的横纵坐标,numPoints 表示多边形的顶点数,xy 分别表示要判断的点的横纵坐标。

在这段代码的主函数中,我们可以看到一个四边形被定义为:顶点坐标为(0,0)、(10,0)、(10,10)和(0,10)的四边形。然后我们判断了坐标为(5,5)的点是否在这个四边形内,最后将结果输出到控制台。

请注意,上面的代码只

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值