java geometry判断点在线的那一侧,左侧或右侧,利用向量积,通过经纬度变化来判断目标运动方向,是否过线

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c5113620/article/details/82047634

线由两点确定,判断一个点在线的那一边,来判断gis引用中,通过经纬度变化来判断目标运动方向

利用向量积正负判断位置

        Point2D.Double target = new Point2D.Double(0,0.5);
        Point2D.Double one = new Point2D.Double(0,0);
        Point2D.Double two = new Point2D.Double(1,1);

        double v = (two.x-one.x)*(target.y-one.y)-(target.x-one.x)*(two.y-one.y);
        System.out.println(v);

这是利用【向量积】判断点在【向量】的左侧还是右侧,向量是【有方向】的

站在点one看向点two的向量

v>0 点target在左侧
v=0target在线上
v<0 target在右侧

one->two向量 与 one->target向量的向量积,右手定则
向量积右手定则

自己画坐标系,看看就知道了

猜你喜欢

转载自blog.csdn.net/c5113620/article/details/82047634