/// <summary> /// Equals the specified v and e. /// </summary> /// <returns>The equals.</returns> /// <param name="v">V.</param> /// <param name="e">E.</param> public bool Equals(DVector2 v, double e = 0.00005) { return((M.Abs(x - v.x) <= e) && (M.Abs(y - v.y) <= e)); }
/// <summary> /// Lerp the specified a, b and t. /// </summary> /// <returns>The lerp.</returns> /// <param name="a">The alpha component.</param> /// <param name="b">The blue component.</param> /// <param name="t">T.</param> public static DVector2 Lerp(DVector2 a, DVector2 b, double t) { double s = M.Max(0, M.Min(t, 1)); return(a * (1 - s) + b * s); }
/// <summary> /// Dot the specified a and b. /// </summary> /// <returns>The dot.</returns> /// <param name="a">The alpha component.</param> /// <param name="b">The blue component.</param> public static double Dot(DVector2 a, DVector2 b) { return(a.x * b.x + a.y * b.y); }
/// <summary> /// Distance the specified a and b. /// </summary> /// <returns>The distance.</returns> /// <param name="a">The alpha component.</param> /// <param name="b">The blue component.</param> public static double Distance(DVector2 a, DVector2 b) { return(M.Sqrt(a.x * b.x + a.y * b.y)); }
public static double EuclDistance(DVector2 a, DVector2 b) { return(M.Sqrt(M.Pow(a.x - b.x, 2) + M.Pow(a.y - b.y, 2))); }