Exemplo n.º 1
0
        private static double K(int l, int m)
        {
            var lpm = Functions.Factorial(l + Functions.Abs(m));
            var lmm = Functions.Factorial(l - Functions.Abs(m));

            return(Functions.Sqrt(((2 * l + 1) * lmm) / (4 * Constants.Pi * lpm)));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Interpolates between two unit complex numbers, using spherical linear interpolation.
        /// </summary>
        /// <param name="start">Start complex number.</param>
        /// <param name="end">End complex number.</param>
        /// <param name="amount">Value between 0 and 1 indicating the weight of <paramref name="end"/>.</param>
        /// <returns>The spherical linear interpolation of the two complex numbers.</returns>
        ///  <remarks>
        /// Passing <paramref name="amount"/> a value of 0 will cause <paramref name="start"/> to be returned; a value of 1 will cause <paramref name="end"/> to be returned.
        /// </remarks>
        public Complex Slerp(Complex start, Complex end, double amount)
        {
            double cosTheta = Dot(start, end);

            //Cannot use slerp, use lerp instead
            if (Functions.Abs(cosTheta) - 1.0 < double.Epsilon)
            {
                return(Lerp(start, end, amount));
            }

            double theta    = Functions.Acos(cosTheta);
            double sinTheta = Functions.Sin(theta);
            double t0       = Functions.Sin((1.0 - amount) * theta) / sinTheta;
            double t1       = Functions.Sin(amount * theta) / sinTheta;

            return(t0 * start + t1 * end);
        }
Exemplo n.º 3
0
 public static Vector2sb Abs(Vector2sb value)
 {
     return(new Vector2sb(Functions.Abs(value.X), Functions.Abs(value.Y)));
 }
Exemplo n.º 4
0
 /// <summary>
 /// Returns the absolute value (per element).
 /// </summary>
 /// <param name="value">A matrix.</param>
 /// <returns>The absolute value (per element) of value.</returns>
 public static Matrix3x2d Abs(Matrix3x2d value)
 {
     return(new Matrix3x2d(Functions.Abs(value.M11), Functions.Abs(value.M21), Functions.Abs(value.M31), Functions.Abs(value.M12), Functions.Abs(value.M22), Functions.Abs(value.M32)));
 }
Exemplo n.º 5
0
 /// <summary>
 /// Returns the absolute value (per component).
 /// </summary>
 /// <param name="value">A vector.</param>
 /// <returns>The absolute value (per component) of value.</returns>
 public static Vector8l Abs(Vector8l value)
 {
     return(new Vector8l(Functions.Abs(value.V0), Functions.Abs(value.V1), Functions.Abs(value.V2), Functions.Abs(value.V3), Functions.Abs(value.V4), Functions.Abs(value.V5), Functions.Abs(value.V6), Functions.Abs(value.V7)));
 }
Exemplo n.º 6
0
 /// <summary>
 /// Returns the absolute value (per element).
 /// </summary>
 /// <param name="value">A matrix.</param>
 /// <returns>The absolute value (per element) of value.</returns>
 public static Matrix4x2f Abs(Matrix4x2f value)
 {
     return(new Matrix4x2f(Functions.Abs(value.M11), Functions.Abs(value.M21), Functions.Abs(value.M31), Functions.Abs(value.M41), Functions.Abs(value.M12), Functions.Abs(value.M22), Functions.Abs(value.M32), Functions.Abs(value.M42)));
 }
Exemplo n.º 7
0
 /// <summary>
 /// Returns the absolute value (per element).
 /// </summary>
 /// <param name="value">A matrix.</param>
 /// <returns>The absolute value (per element) of value.</returns>
 public static Matrix2x3f Abs(Matrix2x3f value)
 {
     return(new Matrix2x3f(Functions.Abs(value.M11), Functions.Abs(value.M21), Functions.Abs(value.M12), Functions.Abs(value.M22), Functions.Abs(value.M13), Functions.Abs(value.M23)));
 }
Exemplo n.º 8
0
 /// <summary>
 /// Returns the absolute value (per element).
 /// </summary>
 /// <param name="value">A matrix.</param>
 /// <returns>The absolute value (per element) of value.</returns>
 public static Matrix3x4d Abs(Matrix3x4d value)
 {
     return(new Matrix3x4d(Functions.Abs(value.M11), Functions.Abs(value.M21), Functions.Abs(value.M31), Functions.Abs(value.M12), Functions.Abs(value.M22), Functions.Abs(value.M32), Functions.Abs(value.M13), Functions.Abs(value.M23), Functions.Abs(value.M33), Functions.Abs(value.M14), Functions.Abs(value.M24), Functions.Abs(value.M34)));
 }
Exemplo n.º 9
0
 public static Vector2ul Abs(Vector2ul value)
 {
     return(new Vector2ul(Functions.Abs(value.X), Functions.Abs(value.Y)));
 }
Exemplo n.º 10
0
 /// <summary>
 /// Returns the absolute value (per element).
 /// </summary>
 /// <param name="value">A matrix.</param>
 /// <returns>The absolute value (per element) of value.</returns>
 public static Matrix4x3d Abs(Matrix4x3d value)
 {
     return(new Matrix4x3d(Functions.Abs(value.M11), Functions.Abs(value.M21), Functions.Abs(value.M31), Functions.Abs(value.M41), Functions.Abs(value.M12), Functions.Abs(value.M22), Functions.Abs(value.M32), Functions.Abs(value.M42), Functions.Abs(value.M13), Functions.Abs(value.M23), Functions.Abs(value.M33), Functions.Abs(value.M43)));
 }