Explorar o código

use euclid distance on unit circle for angle distance

Xi Ruoyao %!s(int64=4) %!d(string=hai) anos
pai
achega
4e0ed1dccd
Modificáronse 1 ficheiros con 2 adicións e 3 borrados
  1. 2 3
      metric.py

+ 2 - 3
metric.py

@@ -1,4 +1,4 @@
-from math import pi, asin, cos, sin, sqrt
+from math import pi, asin, cos, sin, sqrt, fmod
 
 def spherical_distance(a, b):
     coef = pi / 180
@@ -11,5 +11,4 @@ def spherical_distance(a, b):
     return asin(sqrt(a+b))
 
 def ang_distance(a, b):
-    x = abs(a-b)
-    return min(x, 360-x)
+    return (sin(a) - sin(b))**2 + (cos(a) - cos(b))**2