예제 #1
0
 /// <summary>Linearly interpolates between the corresponding values of two matrices.</summary>
 /// <param name="matrix1">The first source matrix.</param>
 /// <param name="matrix2">The second source matrix.</param>
 /// <param name="amount">The relative weight of the second source matrix.</param>
 /// <returns>The interpolated matrix.</returns>
 public static unsafe Matrix3X4 <T> Lerp <T>(Matrix3X4 <T> matrix1, Matrix3X4 <T> matrix2, T amount)
     where T : unmanaged, IFormattable, IEquatable <T>, IComparable <T>
 {
     return(new(
                Vector4D.Lerp(matrix1.Row1, matrix2.Row1, amount),
                Vector4D.Lerp(matrix1.Row2, matrix2.Row2, amount),
                Vector4D.Lerp(matrix1.Row3, matrix2.Row3, amount)
                ));
 }
예제 #2
0
 public static Matrix3X3 <T> Multiply <T>(Matrix3X4 <T> value1, Matrix4X3 <T> value2)
     where T : unmanaged, IFormattable, IEquatable <T>, IComparable <T>
 => value1 * value2;
예제 #3
0
 public static Matrix3X4 <T> Subtract <T>(Matrix3X4 <T> value1, Matrix3X4 <T> value2)
     where T : unmanaged, IFormattable, IEquatable <T>, IComparable <T>
 => value1 - value2;
예제 #4
0
 public static Matrix3X4 <T> Negate <T>(Matrix3X4 <T> value)
     where T : unmanaged, IFormattable, IEquatable <T>, IComparable <T>
 => - value;
예제 #5
0
 public static Vector4D <T> Multiply <T>(Vector3D <T> value1, Matrix3X4 <T> value2)
     where T : unmanaged, IFormattable, IEquatable <T>, IComparable <T>
 => value1 * value2;
예제 #6
0
 public static Matrix3X4 <T> Add <T>(Matrix3X4 <T> value1, Matrix3X4 <T> value2)
     where T : unmanaged, IFormattable, IEquatable <T>, IComparable <T>
 {
     return(value1 + value2);
 }