コード例 #1
0
ファイル: Matrix4.cs プロジェクト: damian-666/ReignSDK
        public static void Multiply(ref Matrix4 matrix1, ref Matrix2 matrix2, out Matrix4 result)
        {
            result.X.X = (matrix1.X.X * matrix2.X.X) + (matrix1.X.Y * matrix2.Y.X);
            result.X.Y = (matrix1.X.X * matrix2.X.Y) + (matrix1.X.Y * matrix2.Y.Y);
            result.X.Z = matrix1.X.Z;
            result.X.W = matrix1.X.W;

            result.Y.X = (matrix1.Y.X * matrix2.X.X) + (matrix1.Y.Y * matrix2.Y.X);
            result.Y.Y = (matrix1.Y.X * matrix2.X.Y) + (matrix1.Y.Y * matrix2.Y.Y);
            result.Y.Z = matrix1.Y.Z;
            result.Y.W = matrix1.Y.W;

            result.Z = matrix1.Z;
            result.W = matrix1.W;
        }
コード例 #2
0
ファイル: Vector2.cs プロジェクト: reignstudios/ReignSDK
 public static void Transform(ref Vector2 vector, ref Matrix2 matrix, out Vector2 result)
 {
     result = (matrix.X*vector.X) + (matrix.Y*vector.Y);
 }
コード例 #3
0
ファイル: Matrix2.cs プロジェクト: reignstudios/ReignSDK
 public Matrix2 Multiply(Matrix2 matrix)
 {
     return new Matrix2
     (
         new Vector2((matrix.X.X*X.X) + (matrix.X.Y*Y.X), (matrix.X.X*X.Y) + (matrix.X.Y*Y.Y)),
         new Vector2((matrix.Y.X*X.X) + (matrix.Y.Y*Y.X), (matrix.Y.X*X.Y) + (matrix.Y.Y*Y.Y))
     );
 }
コード例 #4
0
ファイル: Matrix2.cs プロジェクト: reignstudios/ReignSDK
        public static void Transpose(Matrix2 matrix, out Matrix2 result)
        {
            result.X.X = matrix.X.X;
            result.X.Y = matrix.Y.X;

            result.Y.X = matrix.X.Y;
            result.Y.Y = matrix.Y.Y;
        }
コード例 #5
0
ファイル: Matrix2.cs プロジェクト: reignstudios/ReignSDK
        public static void Invert(ref Matrix2 matrix, out Matrix2 result)
        {
            float determinant = 1 / (matrix.X.X * matrix.Y.Y - matrix.X.Y * matrix.Y.X);
            result.X.X = matrix.Y.Y * determinant;
            result.X.Y = -matrix.X.Y * determinant;

            result.Y.X = -matrix.Y.X * determinant;
            result.Y.Y = matrix.X.X * determinant;
        }
コード例 #6
0
ファイル: Vector2.cs プロジェクト: damian-666/ReignSDK
 public static void Transform(ref Vector2 vector, ref Matrix2 matrix, out Vector2 result)
 {
     result = (matrix.X * vector.X) + (matrix.Y * vector.Y);
 }
コード例 #7
0
 public void Set(Matrix2[] values)
 {
     throw new NotImplementedException();
 }
コード例 #8
0
 public static void WriteMatrix(this BinaryWriter writer, Matrix2 value)
 {
     writer.WriteVector(value.X);
     writer.WriteVector(value.Y);
 }
コード例 #9
0
ファイル: Matrix4.cs プロジェクト: reignstudios/ReignSDK
 public Matrix4 Multiply(Matrix2 matrix)
 {
     return new Matrix4
     (
         new Vector4((matrix.X.X*X.X) + (matrix.X.Y*Y.X), (matrix.X.X*X.Y) + (matrix.X.Y*Y.Y), X.Z, X.W),
         new Vector4((matrix.Y.X*X.X) + (matrix.Y.Y*Y.X), (matrix.Y.X*X.Y) + (matrix.Y.Y*Y.Y), Y.Z, Y.W),
         Z,
         W
     );
 }
コード例 #10
0
ファイル: Matrix4.cs プロジェクト: reignstudios/ReignSDK
        public static void Multiply(ref Matrix4 matrix1, ref Matrix2 matrix2, out Matrix4 result)
        {
            result.X.X = (matrix1.X.X*matrix2.X.X) + (matrix1.X.Y*matrix2.Y.X);
            result.X.Y = (matrix1.X.X*matrix2.X.Y) + (matrix1.X.Y*matrix2.Y.Y);
            result.X.Z = matrix1.X.Z;
            result.X.W = matrix1.X.W;

            result.Y.X = (matrix1.Y.X*matrix2.X.X) + (matrix1.Y.Y*matrix2.Y.X);
            result.Y.Y = (matrix1.Y.X*matrix2.X.Y) + (matrix1.Y.Y*matrix2.Y.Y);
            result.Y.Z = matrix1.Y.Z;
            result.Y.W = matrix1.Y.W;

            result.Z = matrix1.Z;
            result.W = matrix1.W;
        }
コード例 #11
0
 public static void FromCross(ref Vector2 xVector, out Matrix2 result)
 {
     result = new Matrix2(xVector, new Vector2(-xVector.Y, xVector.X));
 }
コード例 #12
0
 public static void Determinant(ref Matrix2 matrix, out float result)
 {
     result = matrix.X.X * matrix.Y.Y - matrix.X.Y * matrix.Y.X;
 }
コード例 #13
0
 public static void Abs(ref Matrix2 matrix, out Matrix2 result)
 {
     Vector2.Abs(ref matrix.X, out result.X);
     Vector2.Abs(ref matrix.Y, out result.Y);
 }
コード例 #14
0
ファイル: Streams.cs プロジェクト: reignstudios/ReignSDK
		public static void WriteMatrix(this BinaryWriter writer, Matrix2 value)
		{
			writer.WriteVector(value.X);
			writer.WriteVector(value.Y);
		}
コード例 #15
0
ファイル: Vector2.cs プロジェクト: reignstudios/ReignSDK
 public Vector2 Transform(Matrix2 matrix)
 {
     return (matrix.X*X) + (matrix.Y*Y);
 }
コード例 #16
0
ファイル: Matrix2.cs プロジェクト: reignstudios/ReignSDK
 public static void Abs(ref Matrix2 matrix, out Matrix2 result)
 {
     Vector2.Abs(ref matrix.X, out result.X);
     Vector2.Abs(ref matrix.Y, out result.Y);
 }
コード例 #17
0
ファイル: Matrix2x3.cs プロジェクト: reignstudios/ReignSDK
        public static void Multiply(ref Matrix2x3 matrix1, ref Matrix3x2 matrix2, out Matrix2 result)
        {
            result.X.X = (matrix1.X.X * matrix2.X.X) + (matrix1.X.Y * matrix2.Y.X) + (matrix1.X.Z * matrix2.Z.X);
            result.X.Y = (matrix1.X.X * matrix2.X.Y) + (matrix1.X.Y * matrix2.Y.Y) + (matrix1.X.Z * matrix2.Z.Y);

            result.Y.X = (matrix1.Y.X * matrix2.X.X) + (matrix1.Y.Y * matrix2.Y.X) + (matrix1.Y.Z * matrix2.Z.X);
            result.Y.Y = (matrix1.Y.X * matrix2.X.Y) + (matrix1.Y.Y * matrix2.Y.Y) + (matrix1.Y.Z * matrix2.Z.Y);
        }
コード例 #18
0
ファイル: Matrix2.cs プロジェクト: reignstudios/ReignSDK
 public static void Determinant(ref Matrix2 matrix, out float result)
 {
     result = matrix.X.X * matrix.Y.Y - matrix.X.Y * matrix.Y.X;
 }
コード例 #19
0
 public void Set(Matrix2 value)
 {
     valueObject.Matrix2 = value;
     Apply = setMatrix2;
 }
コード例 #20
0
ファイル: Matrix2.cs プロジェクト: reignstudios/ReignSDK
 public static void FromCross(ref Vector2 xVector, out Matrix2 result)
 {
     result = new Matrix2(xVector, new Vector2(-xVector.Y, xVector.X));
 }
コード例 #21
0
 public void Set(Matrix2[] values, int offset, int count)
 {
     throw new NotImplementedException();
 }
コード例 #22
0
ファイル: Vector2.cs プロジェクト: damian-666/ReignSDK
 public Vector2 Transform(Matrix2 matrix)
 {
     return((matrix.X * X) + (matrix.Y * Y));
 }