# Matrix.RotateAtPrepend Method (Double, Double, Double)

.NET Framework (current version)

Note

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Prepends a rotation of the specified angle at the specified point to this Matrix structure.

Namespace:   System.Windows.Media
Assembly:  WindowsBase (in WindowsBase.dll)

## Syntax

```member RotateAtPrepend :
angle:float *
centerX:float *
centerY:float -> unit
```

#### Parameters

angle
Type: System.Double

The rotation angle, in degrees.

centerX
Type: System.Double

The x-coordinate of the rotation center.

centerY
Type: System.Double

The y-coordinate of the rotation center.

## Remarks

In a composite transformation, the order of individual transformations is important. For example, if you first rotate, then scale, then translate, you get a different result than if you first translate, then rotate, then scale. One reason order is significant is that transformations like rotation and scaling are done with respect to the origin of the coordinate system. Scaling an object that is centered at the origin produces a different result than scaling an object that has been moved away from the origin. Similarly, rotating an object that is centered at the origin produces a different result than rotating an object that has been moved away from the origin.

## Examples

The following example shows how to prepend a rotation to a Matrix.

```private Matrix prependRotateExample()
{

Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);

// Prepend a 90 degree rotation about the origin.
// myMatrix is now equal to  (15,20,-5,-10,25,30).
myMatrix.RotatePrepend(90);

return myMatrix;
}

{

Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);

// Prepend a 90 degree rotation about the
// point (100,100).
// myMatrix is now equal to  (15,20,-5,-10,1025,2030).
myMatrix.RotateAtPrepend(90, 100, 100);

return myMatrix;
}

```

## Version Information

.NET Framework
Available since 3.0