Esempio n. 1
0
        public double GetSimilarityScore(double[] p, double[] q)
        {
            double            num = 0.0;
            EuclideanDistance euclideanDistance = new EuclideanDistance();

            return(1.0 / (1.0 + euclideanDistance.GetDistance(p, q)));
        }
Esempio n. 2
0
        public void EuclideanDistanceTest( )
        {
            EuclideanDistance dist = new EuclideanDistance( );

            Assert.Throws <ArgumentException>(() => dist.GetDistance(p0, q4));

            double result = dist.GetDistance(p0, q0);

            Assert.AreApproximatelyEqual(result, .70711, 0.00001);

            result = dist.GetDistance(p1, q1);
            Assert.AreApproximatelyEqual(result, 1.11803, 0.00001);

            result = dist.GetDistance(p2, q2);
            Assert.AreEqual(result, 0);

            result = dist.GetDistance(p3, q3);
            Assert.AreEqual(result, 0);

            result = dist.GetDistance(p4, q4);
            Assert.AreApproximatelyEqual(result, 2.39792, 0.00001);

            result = dist.GetDistance(p5, q5);
            Assert.AreApproximatelyEqual(result, 4.24264, 0.00001);
        }
Esempio n. 3
0
        public void EuclideanDistanceTest()
        {
            EuclideanDistance dist = new EuclideanDistance();

            // TODO: Re-enable argument checking only for debugging
            // Assert.Throws<ArgumentException>(() => dist.GetDistance(p0, q4));

            double result = dist.GetDistance(p0, q0);

            Assert.AreEqual(result, .70711, 0.00001);

            result = dist.GetDistance(p1, q1);
            Assert.AreEqual(result, 1.11803, 0.00001);

            result = dist.GetDistance(p2, q2);
            Assert.AreEqual(result, 0);

            result = dist.GetDistance(p3, q3);
            Assert.AreEqual(result, 0);

            result = dist.GetDistance(p4, q4);
            Assert.AreEqual(result, 2.39792, 0.00001);

            result = dist.GetDistance(p5, q5);
            Assert.AreEqual(result, 4.24264, 0.00001);
        }
Esempio n. 4
0
        public float GetPathLength()
        {
            if (Path.Length == 0)
            {
                return(0f);
            }
            var euclideanDistance = new EuclideanDistance();
            var length            = 0f;
            var previousWaypoint  = Path[0];

            for (var i = 1; i < Path.Length; i++)
            {
                var waypoint = Path[i];
                length          += euclideanDistance.GetDistance(previousWaypoint, waypoint);
                previousWaypoint = waypoint;
            }
            return(length);
        }