Public feed #602533

Anonymous

public text v1 · immutable
Raw Edit
·published 2007-07-04 03:50 UTC
rendered paste body
        static public Matrix CreateRotationX(double Degrees)
        {
            Matrix M1 = new Matrix();

            double Radians = Degrees * Math.PI / 180;

            M1[0][0] = 1;
            M1[0][1] = 0;
            M1[0][2] = 0;
            M1[0][3] = 0;

            M1[0][0] = 0;
            M1[0][1] = Math.Cos(Radians);
            M1[0][2] = -Math.Sin(Radians);
            M1[0][3] = 0;

            M1[0][0] = 0;
            M1[0][1] = Math.Sin(Radians);
            M1[0][2] = Math.Cos(Radians);
            M1[0][3] = 0;

            M1[0][0] = 0;
            M1[0][1] = 0;
            M1[0][2] = 0;
            M1[0][3] = 1;

            return M1;
        }

        static public Matrix CreateRotationY(double Degrees)
        {
            Matrix M1 = new Matrix();

            double Radians = Degrees * Math.PI / 180;

            M1[0][0] = Math.Cos(Radians);
            M1[0][1] = 0;
            M1[0][2] = Math.Sin(Radians);
            M1[0][3] = 0;

            M1[0][0] = 0;
            M1[0][1] = 1;
            M1[0][2] = 0;
            M1[0][3] = 0;

            M1[0][0] = -Math.Sin(Radians);
            M1[0][1] = 0;
            M1[0][2] = Math.Cos(Radians);
            M1[0][3] = 0;

            M1[0][0] = 0;
            M1[0][1] = 0;
            M1[0][2] = 0;
            M1[0][3] = 1;

            return M1;
        }

        static public Matrix CreateRotationZ(double Degrees)
        {
            Matrix M1 = new Matrix();

            double Radians = Degrees * Math.PI / 180;

            M1[0][0] = Math.Cos(Radians);
            M1[0][1] = -Math.Sin(Radians);
            M1[0][2] = 0;
            M1[0][3] = 0;

            M1[0][0] = Math.Sin(Radians);
            M1[0][1] = Math.Cos(Radians);
            M1[0][2] = 0;
            M1[0][3] = 0;

            M1[0][0] = 0;
            M1[0][1] = 0;
            M1[0][2] = 1;
            M1[0][3] = 0;

            M1[0][0] = 0;
            M1[0][1] = 0;
            M1[0][2] = 0;
            M1[0][3] = 1;

            return M1;
        }

        static public Matrix CreateScale(double Scale)
        {
            Matrix M1 = new Matrix();

            M1[0][0] = Scale;
            M1[0][1] = 0;
            M1[0][2] = 0;
            M1[0][3] = 0;

            M1[0][0] = 0;
            M1[0][1] = Scale;
            M1[0][2] = 0;
            M1[0][3] = 0;

            M1[0][0] = 0;
            M1[0][1] = 0;
            M1[0][2] = Scale;
            M1[0][3] = 0;

            M1[0][0] = 0;
            M1[0][1] = 0;
            M1[0][2] = 0;
            M1[0][3] = 1;

            return M1;
        }