业精于勤,荒于嬉
全部博文(763)
分类: C/C++
2014-06-06 10:14:32
class Boundary { private final Point[] points; // Points making up the boundary ... /** * Return true if the given point is contained inside the boundary. * See: * @param test The point to check * @return true if the point is inside the boundary, false otherwise * */ public boolean contains(Point test) { int i; int j; boolean result = false; for (i = 0, j = points.length - 1; i < points.length; j = i++) { if ((points[i].y > test.y) != (points[j].y > test.y) && (test.x < (points[j].x - points[i].x) * (test.y - points[i].y) / (points[j].y-points[i].y) + points[i].x)) { result = !result; } } return result; } }
/** * Two dimensional cartesian point. */ public class Point { public final double x; public final double y; ... }
from: