public double GetSimilarityScore(double[] p, double[] q) { double num = 0.0; EuclideanDistance euclideanDistance = new EuclideanDistance(); return(1.0 / (1.0 + euclideanDistance.GetDistance(p, q))); }
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); }
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); }
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); }