@Test public void testGetSignedDistance3() { // triangle polygon T polygon = createEmptyConvexPolygon2D(); polygon.addVertex(new Point2D(0.0, 0.0)); polygon.addVertex(new Point2D(10.0, 0.0)); polygon.addVertex(new Point2D(0.0, 10.0)); polygon.update(); Point2D point1 = new Point2D(10.0, 10.0); double distance1 = polygon.signedDistance(point1); assertDistanceCorrect(5.0 * Math.sqrt(2.0), distance1); Point2D point2 = new Point2D(1.2, 1.1); double distance2 = polygon.signedDistance(point2); assertDistanceCorrect(-1.1, distance2); Point2D point3 = new Point2D(0.05, 9.8); double distance3 = polygon.signedDistance(point3); assertDistanceCorrect(-0.05, distance3); Point2D point4 = new Point2D(9.8, 0.15); double distance4 = polygon.signedDistance(point4); assertDistanceCorrect(-0.5 * Math.sqrt(0.05 * 0.05 * 2.0), distance4); Point2D point5 = new Point2D(5.0, -0.15); double distance5 = polygon.signedDistance(point5); assertDistanceCorrect(0.15, distance5); Point2D point6 = new Point2D(15.0, -0.15); double distance6 = polygon.signedDistance(point6); assertDistanceCorrect(Math.sqrt(5.0 * 5.0 + 0.15 * 0.15), distance6); }
@Test public void testGetSignedDistance1() { // single point polygon T polygon = createEmptyConvexPolygon2D(); polygon.addVertex(new Point2D(0.0, 0.0)); polygon.update(); Point2D point = new Point2D(2.5, 1.0); double distance = polygon.signedDistance(point); assertDistanceCorrect(Math.sqrt(2.5 * 2.5 + 1.0 * 1.0), distance); }
@Test public void testGetSignedDistance2() { // line polygon T polygon = createEmptyConvexPolygon2D(); polygon.addVertex(new Point2D(0.0, 0.0)); polygon.addVertex(new Point2D(1.0, 0.0)); polygon.update(); Point2D point1 = new Point2D(2.5, 1.0); double distance1 = polygon.signedDistance(point1); assertDistanceCorrect(Math.sqrt(1.5 * 1.5 + 1.0 * 1.0), distance1); Point2D point2 = new Point2D(0.5, 1.0); double distance2 = polygon.signedDistance(point2); assertDistanceCorrect(1.0, distance2); }