예제 #1
0
        public void Matrix3x2CreateSkewYTest()
        {
            Matrix3x2 expected = new Matrix3x2(1, -0.414213562373095f, 0, 1, 0, 0);
            Matrix3x2 actual   = Matrix3x2.CreateSkew(0, -MathHelper.Pi / 8);

            Assert.True(MathHelper.Equal(expected, actual));

            expected = new Matrix3x2(1, 0.414213562373095f, 0, 1, 0, 0);
            actual   = Matrix3x2.CreateSkew(0, MathHelper.Pi / 8);
            Assert.True(MathHelper.Equal(expected, actual));

            Vector2 result = Vector2.Transform(new Vector2(0, 0), actual);

            Assert.True(MathHelper.Equal(new Vector2(0, 0), result));

            result = Vector2.Transform(new Vector2(1, 0), actual);
            Assert.True(MathHelper.Equal(new Vector2(1, 0.414213568f), result));

            result = Vector2.Transform(new Vector2(-1, 0), actual);
            Assert.True(MathHelper.Equal(new Vector2(-1, -0.414213568f), result));

            result = Vector2.Transform(new Vector2(10, 3), actual);
            Assert.True(MathHelper.Equal(new Vector2(10, 7.14213568f), result));
        }