Mega Code Archive

 
Categories / C# / Data Types
 

Matrix 3 x 3

//http://isotopescreencapture.codeplex.com/ //The MIT License (MIT) namespace Isotope.Math {     public struct Matrix3x3     {         public double M11, M12, M13;         public double M21, M22, M23;         public double M31, M32, M33;         public Matrix3x3(             double m11,             double m12,             double m13,             double m21,             double m22,             double m23,             double m31,             double m32,             double m33)         {             M11 = m11;             M12 = m12;             M13 = m13;             M21 = m21;             M22 = m22;             M23 = m23;             M31 = m31;             M32 = m32;             M33 = m33;         }         public Matrix3x3 Multiply(Matrix3x3 m)         {             var result = new Matrix3x3();             result.M11 = this.M11*m.M11 + this.M12*m.M21 + this.M13*m.M31;             result.M12 = this.M11*m.M12 + this.M12*m.M22 + this.M13*m.M32;             result.M13 = this.M11*m.M13 + this.M12*m.M23 + this.M13*m.M33;             result.M21 = this.M21*m.M11 + this.M22*m.M21 + this.M23*m.M31;             result.M22 = this.M21*m.M12 + this.M22*m.M22 + this.M23*m.M32;             result.M23 = this.M21*m.M13 + this.M22*m.M23 + this.M23*m.M33;             result.M31 = this.M31*m.M11 + this.M32*m.M21 + this.M33*m.M31;             result.M32 = this.M31*m.M12 + this.M32*m.M22 + this.M33*m.M32;             result.M33 = this.M31*m.M13 + this.M32*m.M23 + this.M33*m.M33;             return result;         }         public static Matrix3x3 operator *(Matrix3x3 a, Matrix3x3 b)         {             return a.Multiply(b);         }     } }