public static void distance_mbr() { var a = new Mbr(0, 0, 2, 2); var b = new Mbr(1, 1, 3, 3); var c = new Mbr(3, 4, 5, 5); var d = new Mbr(8, 8, 10, 10); Assert.Equal(0, a.Distance(b)); Assert.Equal(System.Math.Sqrt(1 + 4), a.Distance(c)); Assert.Equal(System.Math.Sqrt(36 + 36), a.Distance(d)); Assert.Equal(1, b.Distance(c)); Assert.Equal(System.Math.Sqrt(25 + 25), b.Distance(d)); Assert.Equal(System.Math.Sqrt(9 + 9), c.Distance(d)); }
public static void distance_point() { var mbr = new Mbr(new Point2(1, 2), new Point2(3, 4)); Assert.Equal(System.Math.Sqrt(1 + 4), mbr.Distance(new Point2(0, 0))); Assert.Equal(1, mbr.Distance(new Point2(2, 1))); Assert.Equal(1, mbr.Distance(new Point2(0, 3))); Assert.Equal(System.Math.Sqrt(4 + 9), mbr.Distance(new Point2(-1, -1))); Assert.Equal(System.Math.Sqrt(36 + (7 * 7)), mbr.Distance(new Point2(10, 10))); Assert.Equal(0, mbr.Distance(new Point2(1, 2))); Assert.Equal(0, mbr.Distance(new Point2(3, 4))); Assert.Equal(0, mbr.Distance(new Point2(3, 2))); Assert.Equal(0, mbr.Distance(new Point2(1, 4))); Assert.Equal(0, mbr.Distance(new Point2(2, 3))); }
public static void distange_squared_mbr() { var a = new Mbr(0, 0, 2, 2); var b = new Mbr(1, 1, 3, 3); var c = new Mbr(3, 4, 5, 5); var d = new Mbr(8, 8, 10, 10); Assert.Equal(0, a.DistanceSquared(b)); Assert.Equal((1 + 4), a.DistanceSquared(c)); Assert.Equal((36 + 36), a.DistanceSquared(d)); Assert.Equal(1, b.Distance(c)); Assert.Equal((25 + 25), b.DistanceSquared(d)); Assert.Equal((9 + 9), c.DistanceSquared(d)); }