java 判断 点 是否在多边形_判断点是否在任意多边形内(java)

判断点是否在任意多边形内(java)

1.import java.util.ArrayList;

2.

3.public class Test {

4.

5. public static void main(String[] args) {

6. double px = 113.0253;

7. double py = 23.98049;

8. ArrayListpolygonXA = new ArrayList();

9. ArrayListpolygonYA = new ArrayList();

10. polygonXA.add(113.0253);

11. polygonXA.add(113.4121);

12. polygonXA.add(113.37109);

13. polygonXA.add(113.02148);

14. // 113.18359,23.8496

15.

16. // 113.0253,23.98049 113.4121,23.9687 113.37109,2.73828

17.

18. // 113.02148,23.7539C

19.

20. polygonYA.add(23.98049);

21. polygonYA.add(23.9687);

22. polygonYA.add(23.73828);

23. polygonYA.add(23.7539);

24. Test test = new Test();

25. System.out.println(test.isPointInPolygon(px, py, polygonXA, polygonYA));

26. }

27.

28. public boolean isPointInPolygon(double px, double py,

29. ArrayListpolygonXA, ArrayListpolygonYA) {

30. boolean isInside = false;

31. double ESP = 1e-9;

32. int count = 0;

33. double linePoint1x;

34. double linePoint1y;

35. double linePoint2x = 180;

36. double linePoint2y;

37.

38. linePoint1x = px;

39. linePoint1y = py;

40. linePoint2y = py;

41.

42. for (int i = 0; i < polygonXA.size() - 1; i++) {

43. double cx1 = polygonXA.get(i);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值