BEPUutilities.Matrix3x3.CreateScale C# (CSharp) Method

CreateScale() public static method

Constructs a non-uniform scaling matrix.
public static CreateScale ( System.Vector3 &scale ) : Matrix3x3
scale System.Vector3 Values defining the axis scales.
return Matrix3x3
        public static Matrix3x3 CreateScale(ref Vector3 scale)
        {
            var matrix = new Matrix3x3 {M11 = scale.X, M22 = scale.Y, M33 = scale.Z};
            return matrix;
        }

Same methods

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
Matrix3x3::CreateScale ( float x, float y, float z, Matrix3x3 &matrix ) : void

Usage Example

Exemplo n.º 1
0
        ///<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;
        }