private static Point computePolygonCentroid(Polygon polygon) { int pathCount = polygon.getPathCount(); if (pathCount == 1) { return getPolygonSansHolesCentroid(polygon); } double xSum = 0; double ySum = 0; double areaSum = 0; for (int i = 0; i < pathCount; i++) { int startIndex = polygon.getPathStart(i); int endIndex = polygon.getPathEnd(i); Polygon sansHoles = getSubPolygon(polygon, startIndex, endIndex); Point centroid = getPolygonSansHolesCentroid(sansHoles); double area = sansHoles.calculateArea2D(); xSum += centroid.getX() * area; ySum += centroid.getY() * area; areaSum += area; } return new Point(xSum / areaSum, ySum / areaSum); }
private static Point2D computePolygonCentroid(Polygon polygon) { int pathCount = polygon.getPathCount(); if (pathCount == 1) { return getPolygonSansHolesCentroid(polygon); } double xSum = 0; double ySum = 0; double areaSum = 0; for (int i = 0; i < pathCount; i++) { int startIndex = polygon.getPathStart(i); int endIndex = polygon.getPathEnd(i); Polygon sansHoles = getSubPolygon(polygon, startIndex, endIndex); Point2D centroid = getPolygonSansHolesCentroid(sansHoles); double area = sansHoles.calculateArea2D(); xSum += centroid.x * area; ySum += centroid.y * area; areaSum += area; } return new Point2D(xSum / areaSum, ySum / areaSum); }
private static Point2D computePolygonCentroid(Polygon polygon) { int pathCount = polygon.getPathCount(); if (pathCount == 1) { return getPolygonSansHolesCentroid(polygon); } double xSum = 0; double ySum = 0; double areaSum = 0; for (int i = 0; i < pathCount; i++) { int startIndex = polygon.getPathStart(i); int endIndex = polygon.getPathEnd(i); Polygon sansHoles = getSubPolygon(polygon, startIndex, endIndex); Point2D centroid = getPolygonSansHolesCentroid(sansHoles); double area = sansHoles.calculateArea2D(); xSum += centroid.x * area; ySum += centroid.y * area; areaSum += area; } return new Point2D(xSum / areaSum, ySum / areaSum); }
private static Point computePolygonCentroid(Polygon polygon) { int pathCount = polygon.getPathCount(); if (pathCount == 1) { return getPolygonSansHolesCentroid(polygon); } double xSum = 0; double ySum = 0; double areaSum = 0; for (int i = 0; i < pathCount; i++) { int startIndex = polygon.getPathStart(i); int endIndex = polygon.getPathEnd(i); Polygon sansHoles = getSubPolygon(polygon, startIndex, endIndex); Point centroid = getPolygonSansHolesCentroid(sansHoles); double area = sansHoles.calculateArea2D(); xSum += centroid.getX() * area; ySum += centroid.getY() * area; areaSum += area; } return new Point(xSum / areaSum, ySum / areaSum); }
private static Point computePolygonCentroid(Polygon polygon) { int pathCount = polygon.getPathCount(); if (pathCount == 1) { return getPolygonSansHolesCentroid(polygon); } double xSum = 0; double ySum = 0; double areaSum = 0; for (int i = 0; i < pathCount; i++) { int startIndex = polygon.getPathStart(i); int endIndex = polygon.getPathEnd(i); Polygon sansHoles = getSubPolygon(polygon, startIndex, endIndex); Point centroid = getPolygonSansHolesCentroid(sansHoles); double area = sansHoles.calculateArea2D(); xSum += centroid.getX() * area; ySum += centroid.getY() * area; areaSum += area; } return new Point(xSum / areaSum, ySum / areaSum); }
pt_a = polygon_a.getXY(polygon_a.getPathStart(path_a)); env_b_inf.setCoords(intersector.getBlueEnvelope()); env_b_inf.inflate(tolerance, tolerance);
pt_a = polygon_a.getXY(polygon_a.getPathStart(path_a)); env_b_inf.setCoords(intersector.getBlueEnvelope()); env_b_inf.inflate(tolerance, tolerance);
Point2D anyPoint = polygon_a.getXY(polygon_a.getPathStart(ipath)); int res = PointInPolygonHelper.isPointInPolygon(p_polygon_b, anyPoint, 0); if (res == 1)
Point2D anyPoint = polygon_a.getXY(polygon_a.getPathStart(ipath)); int res = PointInPolygonHelper.isPointInPolygon(p_polygon_b, anyPoint, 0); if (res == 1)