Example #1
0
        /// <summary>
        /// Specify the scale matrix
        /// </summary>
        /// <param name="vectorScale"></param>
        /// <returns></returns>
        public static Matrix4f Scale(Vec2 vectorScale)
        {
            Matrix4f res = Matrix4f.Identity();

            res.Matrix[0 + 0 * 4] = vectorScale.X;
            res.Matrix[1 + 1 * 4] = vectorScale.Y;
            res.Matrix[2 + 2 * 4] = 1.0f;

            return(res);
        }
Example #2
0
        /// <summary>
        /// Matrix translation matrix formed from a vectoroffset
        /// </summary>
        /// <param name="VectorOffset"></param>
        /// <returns></returns>
        public static Matrix4f Translate(Vec2 VectorOffset)
        {
            Matrix4f res = Matrix4f.Identity();

            res.Matrix[0 + 3 * 4] = VectorOffset.X;
            res.Matrix[1 + 3 * 4] = VectorOffset.Y;
            res.Matrix[2 + 3 * 4] = 0f;

            return(res);
        }
Example #3
0
        /// <summary>
        /// Specify the rotation matrix for z in degrees
        /// </summary>
        /// <param name="angleDegrees"></param>
        /// <returns></returns>
        public static Matrix4f RotateZ(float angleDegrees)
        {
            Matrix4f res = Matrix4f.Identity();

            float rad = angleDegrees * ((float)Math.PI / 180);
            float cos = (float)Math.Cos(rad);
            float sin = (float)Math.Sin(rad);

            res.Matrix[0 + 0 * 4] = cos;
            res.Matrix[0 + 1 * 4] = -sin;
            res.Matrix[1 + 0 * 4] = sin;
            res.Matrix[1 + 1 * 4] = cos;

            return(res);
        }