示例#1
0
        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));
        }
示例#2
0
        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)));
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }
示例#5
0
        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));
        }
示例#6
0
        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)));
        }