BEPUutilities.Matrix3x3.CreateScale C# (CSharp) Method

CreateScale() public static method

Constructs a non-uniform scaling matrix.
public static CreateScale ( float x, float y, float z, Matrix3x3 &matrix ) : void
x float Scaling along the x axis.
y float Scaling along the y axis.
z float Scaling along the z axis.
matrix Matrix3x3 Scaling matrix.
return void
        public static void CreateScale(float x, float y, float z, out Matrix3x3 matrix)
        {
            matrix = new Matrix3x3 {M11 = x, M22 = y, M33 = z};
        }

Same methods

Matrix3x3::CreateScale ( System.Vector3 &scale ) : Matrix3x3
Matrix3x3::CreateScale ( float scale ) : Matrix3x3
Matrix3x3::CreateScale ( float x, float y, float z ) : Matrix3x3
Matrix3x3::CreateScale ( System.Vector3 &scale, Matrix3x3 &matrix ) : void
Matrix3x3::CreateScale ( float scale, Matrix3x3 &matrix ) : void

Usage Example

        ///<summary>
        /// Constructs a new affine transform.
        ///</summary>
        ///<param name="scaling">Scaling to apply in the linear transform.</param>
        ///<param name="orientation">Orientation to apply in the linear transform.</param>
        ///<param name="translation">Translation to apply.</param>
        public AffineTransform(Vector3 scaling, Quaternion orientation, Vector3 translation)
        {
            //Create an SRT transform.
            Matrix3x3.CreateScale(ref scaling, out LinearTransform);
            Matrix3x3 rotation;

            Matrix3x3.CreateFromQuaternion(ref orientation, out rotation);
            Matrix3x3.Multiply(ref LinearTransform, ref rotation, out LinearTransform);
            Translation = translation;
        }