判断点是否在凹多边形或交叉多边形内~
来源:互联网 发布:儿童 编程 编辑:程序博客网 时间:2024/04/27 23:47
在java中:
public static boolean checkWithJdkGeneralPath(Point2D.Double point, List<Point2D.Double> polygon) { java.awt.geom.GeneralPath p = new java.awt.geom.GeneralPath(); Point2D.Double first = polygon.get(0); p.moveTo(first.x, first.y); for (Point2D.Double d : polygon) { p.lineTo(d.x, d.y); } p.lineTo(first.x, first.y); p.closePath(); return p.contains(point);}
例子:
public static void main(String[] args) { Point2D.Double pd = new Point2D.Double(); // 区域外的点 pd.x = 123.394535; pd.y = 41.856486; // 区域内的点// pd.x = 123.37790583;// pd.y = 41.8402475; List<Point2D.Double> polygon = new ArrayList<Point2D.Double>(); // 描绘区域的各点坐标 Point2D.Double point1 = new Point2D.Double(); point1.x = 123.372104; point1.y = 41.84894027; Point2D.Double point2 = new Point2D.Double(); point2.x = 123.372104; point2.y = 41.8302372; Point2D.Double point3 = new Point2D.Double(); point3.x = 123.406135; point3.y = 41.84729972; Point2D.Double point4 = new Point2D.Double(); point4.x = 123.4055556; point4.y = 41.82859638; Point2D.Double point5 = new Point2D.Double(); point5.x = 123.36920305; point5.y = 41.84680694; Point2D.Double point6 = new Point2D.Double(); point6.x = 123.347353; point6.y = 41.86403361; polygon.add(point1); polygon.add(point2); polygon.add(point3); polygon.add(point4); polygon.add(point5); polygon.add(point6); boolean b = checkWithJdkGeneralPath(pd,polygon); System.out.println(b);}
public static boolean checkWithJdkGeneralPath(Point2D.Double point, List<Point2D.Double> polygon) { java.awt.geom.GeneralPath p = new java.awt.geom.GeneralPath(); Point2D.Double first = polygon.get(0); p.moveTo(first.x, first.y); for (Point2D.Double d : polygon) { p.lineTo(d.x, d.y); } p.lineTo(first.x, first.y); p.closePath(); return p.contains(point);}
- 判断点是否在凹多边形或交叉多边形内~
- 判断点是否在多边形内(包括在多边形上)
- 判断点是否在多边形内
- 判断点是否在多边形内
- 判断一个点是否在多边形内
- 判断点是否在多边形内
- 判断点是否在多边形内
- 判断点是否在多边形内
- 判断某个点是否在多边形内
- zoj1081判断点是否在多边形内
- 判断点是否在多边形内
- 判断点是否在多边形内
- 判断点是否在多边形内
- 判断点是否在多边形内
- 判断点是否在多边形内
- 判断点是否在多边形内
- 判断点是否在多边形内
- 判断点是否在多边形内
- break和continue的区别
- 最大流poj1273
- 析构函数
- jquery 克隆clone()使用实例
- 2.内存管理之objective-c
- 判断点是否在凹多边形或交叉多边形内~
- 7和7的倍数还有包含7的数字
- 后台服务程序开发模式
- Android开发_Android如何获取开机启动项列表_查找package是否有开机启动权限
- .net jquery jsonp跨域请求
- Constant 0PACC for Ledger !* does not contain any value
- 成员指针
- mxGraph常用功能代码
- 今日小总结(复杂条件查询)