Abacus.DoublePrecision.Matrix44Tests.TestStaticFn_CreateFromQuaternion_i C# (CSharp) Method

TestStaticFn_CreateFromQuaternion_i() private method

private TestStaticFn_CreateFromQuaternion_i ( ) : void
return void
        public void TestStaticFn_CreateFromQuaternion_i ()
        {
            Double yaw; Maths.Pi(out yaw); yaw /= (Double) 4;
            Double pitch; Maths.Pi(out pitch); pitch /= (Double) (-8);
            Double roll; Maths.Pi(out roll); roll /= (Double) 2;

            Quaternion q; Quaternion.CreateFromYawPitchRoll(ref yaw, ref pitch, ref roll, out q);
            q.Normalise();

            Matrix44 m; Matrix44.CreateFromQuaternion(ref q, out m);

            Matrix44 expected = new Matrix44 ();
            expected.R0C0 = (Double) (-0.270598);
            expected.R0C1 = (Double) 0.9238795;
            expected.R0C2 = (Double) (-0.270598);
            expected.R0C3 = 0;

            expected.R1C0 = (Double) (-0.7071067);
            expected.R1C1 = 0;
            expected.R1C2 = (Double) 0.7071067;
            expected.R1C3 = 0;

            expected.R2C0 = (Double) 0.6532815;
            expected.R2C1 = (Double) 0.3826834;
            expected.R2C2 = (Double) 0.6532815;
            expected.R2C3 = 0;

            expected.R3C0 = 0;
            expected.R3C1 = 0;
            expected.R3C2 = 0;
            expected.R3C3 = 1;

            AssertEqualWithinReason (m, expected);
        }
Matrix44Tests