/// <summary> /// Divides a quaternion by a scalar. /// </summary> /// <param name="q">A <see cref="QuaternionD"/> instance.</param> /// <param name="s">A scalar.</param> /// <returns>A <see cref="QuaternionD"/> instance to hold the result.</returns> public static QuaternionD operator/(QuaternionD q, double s) { return(QuaternionD.Divide(q, s)); }
/// <summary> /// Divides a scalar by a quaternion. /// </summary> /// <param name="q">A <see cref="QuaternionD"/> instance.</param> /// <param name="s">A scalar.</param> /// <returns>A <see cref="QuaternionD"/> instance to hold the result.</returns> public static QuaternionD operator/(double s, QuaternionD q) { return(QuaternionD.Multiply(q, 1 / s)); }
/// <summary> /// Multiplies quaternion <paramref name="a"/> by quaternion <paramref name="b"/>. /// </summary> /// <param name="a">A <see cref="QuaternionD"/> instance.</param> /// <param name="b">A <see cref="QuaternionD"/> instance.</param> /// <returns>A new <see cref="QuaternionD"/> containing the result.</returns> public static QuaternionD operator*(QuaternionD a, QuaternionD b) { return(QuaternionD.Multiply(a, b)); }
/// <summary> /// Multiplies a quaternion by a scalar. /// </summary> /// <param name="q">A <see cref="QuaternionD"/> instance.</param> /// <param name="s">A scalar.</param> /// <returns>A <see cref="QuaternionD"/> instance to hold the result.</returns> public static QuaternionD operator*(QuaternionD q, double s) { return(QuaternionD.Multiply(q, s)); }
/// <summary> /// Subtracts a quaternion from a quaternion. /// </summary> /// <param name="a">A <see cref="QuaternionD"/> instance.</param> /// <param name="b">A <see cref="QuaternionD"/> instance.</param> /// <returns>A new <see cref="QuaternionD"/> instance containing the difference.</returns> public static QuaternionD operator-(QuaternionD a, QuaternionD b) { return(QuaternionD.Subtract(a, b)); }
/// <summary> /// Adds two quaternions. /// </summary> /// <param name="a">A <see cref="QuaternionD"/> instance.</param> /// <param name="b">A <see cref="QuaternionD"/> instance.</param> /// <returns>A new <see cref="QuaternionD"/> instance containing the sum.</returns> public static QuaternionD operator+(QuaternionD a, QuaternionD b) { return(QuaternionD.Add(a, b)); }
/// <summary> /// Calculates the dot product of two quaternions. /// </summary> /// <param name="a">A <see cref="QuaternionD"/> instance.</param> /// <param name="b">A <see cref="QuaternionD"/> instance.</param> /// <returns>The dot product value.</returns> public static double DotProduct(QuaternionD a, QuaternionD b) { return(a.W * b.W + a.X * b.X + a.Y * b.Y + a.Z * b.Z); }
/// <summary> /// Subtracts a quaternion from a quaternion. /// </summary> /// <param name="a">A <see cref="QuaternionD"/> instance.</param> /// <param name="b">A <see cref="QuaternionD"/> instance.</param> /// <returns>A new <see cref="QuaternionD"/> instance containing the difference.</returns> public static QuaternionD Subtract(QuaternionD a, QuaternionD b) { return(new QuaternionD(a.W - b.W, a.X - b.X, a.Y - b.Y, a.Z - b.Z)); }
/// <summary> /// Adds two quaternions. /// </summary> /// <param name="a">A <see cref="QuaternionD"/> instance.</param> /// <param name="b">A <see cref="QuaternionD"/> instance.</param> /// <returns>A new <see cref="QuaternionD"/> instance containing the sum.</returns> public static QuaternionD Add(QuaternionD a, QuaternionD b) { return(new QuaternionD(a.W + b.W, a.X + b.X, a.Y + b.Y, a.Z + b.Z)); }