Matrix.AffineTransformation2D(Single,Vector2,Single,Vector2) Method (Microsoft.DirectX)

Builds a 2-D affine transformation matrix in the xy plane.


Visual BasicPublic Shared Function AffineTransformation2D( _
    ByVal scaling As Single, _
    ByVal rotationCenter As Vector2, _
    ByVal rotation As Single, _
    ByVal translation As Vector2 _
) As Matrix
C#public static Matrix AffineTransformation2D(
    float scaling,
    Vector2 rotationCenter,
    float rotation,
    Vector2 translation
static Matrix AffineTransformation2D(
    float scaling,
    Vector2 rotationCenter,
    float rotation,
    Vector2 translation
JScriptpublic static function AffineTransformation2D(
    scaling : float,
    rotationCenter : Vector2,
    rotation : float,
    translation : Vector2
) : Matrix;


scaling System.Single
Scaling factor. A value of zero indicates no scaling.
rotationCenter Microsoft.DirectX.Vector2
A Vector2 structure that represents a point identifying the center of rotation. Use an empty Vector2 for no rotation.
rotation System.Single
Angle of rotation. A value of zero indicates no rotation
translation Microsoft.DirectX.Vector2
A Vector2 structure that represents the translation. Use Vector2.Empty to specify no translation.

Return Value

A Matrix structure that is an affine transformation matrix.


The AffineTransformation2D method calculates the affine transformation matrix using the following formula, with matrix concatenation evaluated in left-to-right order.

Mout = Ms * (Mrc)-1 * Mr * Mrc * Mt


  • Mout = output matrix (this instance)
  • Ms = scaling matrix (scaling)
  • Mrc = center of rotation matrix (rotationCenter)
  • Mr = rotation matrix (rotation)
  • Mt = translation matrix (translation)

For 3-D affine transformations, use AffineTransformation.