コード例 #1
0
ファイル: Float4x4.cs プロジェクト: coremission/elRenderer
 /// <summary>
 /// Creates 4x4 affine transform matrix from linear transform
 /// matrix 3x3
 /// </summary>
 /// <param name="lM">Linear transform matrix</param>
 public Float4x4(Float3x3 lM)
     : this(lM[0, 0], lM[0, 1], lM[0, 2], 0,
           lM[1, 0], lM[1, 1], lM[1, 2], 0,
           lM[2, 0], lM[2, 1], lM[2, 2], 0,
                  0,        0,        0, 1)
 {
 }
コード例 #2
0
 /// <summary>
 /// Creates 4x4 affine transform matrix from linear transform
 /// matrix 3x3
 /// </summary>
 /// <param name="lM">Linear transform matrix</param>
 public Float4x4(Float3x3 lM)
     : this(lM[0, 0], lM[0, 1], lM[0, 2], 0,
            lM[1, 0], lM[1, 1], lM[1, 2], 0,
            lM[2, 0], lM[2, 1], lM[2, 2], 0,
            0, 0, 0, 1
            )
 {
 }
コード例 #3
0
ファイル: Float3x3.cs プロジェクト: coremission/elRenderer
        public static Float3x3 getRotationMatrix(Float3 rotation)
        {
            float xAngle = rotation.x;
            float yAngle = rotation.y;
            float zAngle = rotation.z;

            xAngle *= ((float)Math.PI / 180.0f);
            yAngle *= ((float)Math.PI / 180.0f);
            zAngle *= ((float)Math.PI / 180.0f);

            Float3x3 aboutX = new Float3x3(1, 0, 0,
                                           0, (float)Cos(xAngle), (float)Sin(xAngle),
                                           0, (float)(-Sin(xAngle)), (float)Cos(xAngle));
            Float3x3 aboutY = new Float3x3((float)Cos(yAngle), 0, (float)(-Sin(yAngle)),
                                           0, 1, 0,
                                           (float)Sin(yAngle), 0, (float)Cos(yAngle));

            return(aboutX * aboutY);
        }
コード例 #4
0
ファイル: Float3.cs プロジェクト: coremission/elRenderer
 public Float3 mul(Float3x3 m)
 {
     Float3[] columns = m.Columns;
     return(new Float3(this.dot(columns[0]), this.dot(columns[1]), this.dot(columns[2])));
 }
コード例 #5
0
ファイル: Float3.cs プロジェクト: coremission/elRenderer
 public Float3 mul(Float3x3 m)
 {
     Float3[] columns = m.Columns;
     return new Float3(this.dot(columns[0]), this.dot(columns[1]), this.dot(columns[2]));
 }
コード例 #6
0
ファイル: Float3x3.cs プロジェクト: coremission/elRenderer
        public static Float3x3 getRotationMatrix(Float3 rotation)
        {
            float xAngle = rotation.x;
            float yAngle = rotation.y;
            float zAngle = rotation.z;

            xAngle *= ((float)Math.PI / 180.0f);
            yAngle *= ((float)Math.PI / 180.0f);
            zAngle *= ((float)Math.PI / 180.0f);

            Float3x3 aboutX = new Float3x3(1, 0, 0,
                                            0, (float)Cos(xAngle), (float)Sin(xAngle),
                                            0, (float)(-Sin(xAngle)), (float)Cos(xAngle));
            Float3x3 aboutY = new Float3x3((float)Cos(yAngle), 0, (float)(-Sin(yAngle)),
                                           0, 1, 0,
                                           (float)Sin(yAngle), 0, (float)Cos(yAngle));
            return aboutX * aboutY;
        }