# Transforms

Define transform matrices to apply affine transformations to layers in Core Animation.

## Topics

### Creating Transforms

`CATransform3DMakeTranslation`

Returns a transform that translates by `(tx, ty, tz)`.

`CATransform3DMakeScale`

Returns a transform that scales by `(sx, sy, sz)`.

`CATransform3DMakeRotation`

Returns a transform that rotates by `angle` radians about the vector `(x, y, z)`.

### Chaining Transforms

`CATransform3DConcat`

Concatenates `b` to `a` and returns the result: `t = a * b`.

`CATransform3DTranslate`

Translates `t` by `(tx, ty, tz)` and returns the result: `t` `= translate(tx, ty, tz) * t`.

`CATransform3DScale`

Scales `t` by `(sx, sy, sz)` and returns the result: `t = scale(sx, sy, sz) * t`.

`CATransform3DRotate`

Rotates `t` by `angle` radians about the vector `(x, y, z)` and returns the result.

### Inverting a Transform

`CATransform3DInvert`

Inverts `t` and returns the result.

### Determining Transform Properties

`CATransform3DIsAffine`

Returns `YES` if `t` can be exactly represented by an affine transform.

`CATransform3DIsIdentity`

Returns a Boolean value that indicates whether the transform is the identity transform.

`CATransform3DEqualToTransform`

Returns a Boolean value that indicates whether the two transforms are exactly equal.

### Converting to and from Core Graphics Affine Transforms

`CATransform3DMakeAffineTransform`

Returns a transform with the same effect as affine transform `m`.

`CATransform3DGetAffineTransform`

Returns the affine transform represented by `t`.

### Data Types

`CATransform3D`

The standard transform matrix used throughout Core Animation.

### Constants

`CATransform3DIdentity`

The identity transform: `[1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1]`.