public static double Dot(OYOVector v1, OYOVector v2) { return(v1.x * v2.x + v1.y + v2.y); }
public static double Distance(OYOVector v1, OYOVector v2) { return((v1 - v2).Magnitude); }
public static double Angle(OYOVector v1, OYOVector v2) { return(Math.Acos(Dot(v1, v2) / v1.Magnitude * v2.Magnitude)); }
public double Distance(OYOVector v) { return(OYOVector.Distance(this, v)); }
public double Dot(OYOVector v) { return(OYOVector.Dot(this, v)); }
public double Angle(OYOVector v) { return(OYOVector.Angle(this, v)); }
public static OYOVector GetVector(double lat1, double lon1, double lat2, double lon2) { var delta = new OYOVector(lon2 - lon1, lat2 - lat1).Normalized; return(delta * GetDistance(lat1, lon1, lat2, lon2)); }