<!--
{
  "availability" : [
    "iOS: 8.0.0 - 26.0.0",
    "iPadOS: 8.0.0 - 26.0.0",
    "macCatalyst: 13.1.0 - 26.0.0",
    "macOS: 10.8.0 - 26.0.0",
    "tvOS: 9.0.0 - 26.0.0",
    "visionOS: 1.0.0 - 26.0.0",
    "watchOS: 3.0.0 - 26.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "SceneKit",
  "identifier" : "/documentation/SceneKit/SCNMatrix4-swift.typealias",
  "metadataVersion" : "0.1.0",
  "role" : "Type Alias",
  "symbol" : {
    "kind" : "Type Alias",
    "modules" : [
      "SceneKit"
    ],
    "preciseIdentifier" : "c:@T@SCNMatrix4"
  },
  "title" : "SCNMatrix4"
}
-->

# SCNMatrix4

A representation of a 4 x 4 matrix.

```
typealias SCNMatrix4 = CATransform3D
```

## Discussion

SceneKit uses matrices to represent coordinate space transformations, which in turn can represent the combined position, rotation or orientation, and scale of an object in three-dimensional space.

> Important:
> In macOS, the fields in this structure are <doc://com.apple.documentation/documentation/CoreFoundation/CGFloat-swift.struct> values. In iOS, tvOS, and watchOS, these fields are `float` values.

## Topics

### Creating Transform Matrices

[`SCNMatrix4MakeTranslation`](/documentation/SceneKit/SCNMatrix4MakeTranslation(_:_:_:))

Returns a matrix describing a translation transformation.

[`SCNMatrix4MakeRotation`](/documentation/SceneKit/SCNMatrix4MakeRotation(_:_:_:_:))

Returns a matrix describing a rotation transformation.

[`SCNMatrix4MakeScale`](/documentation/SceneKit/SCNMatrix4MakeScale(_:_:_:))

Returns a matrix describing a scale transformation.

### Performing Matrix Operations

[`SCNMatrix4Translate`](/documentation/SceneKit/SCNMatrix4Translate(_:_:_:_:))

Returns a new matrix created by concatenating the specified matrix with a translation transformation.

[`SCNMatrix4Rotate`](/documentation/SceneKit/SCNMatrix4Rotate(_:_:_:_:_:))

Returns a new matrix created by concatenating the specified matrix with a rotation transformation.

[`SCNMatrix4Scale`](/documentation/SceneKit/SCNMatrix4Scale(_:_:_:_:))

Returns a new matrix created by concatenating the specified matrix with a scale transformation.

[`SCNMatrix4Invert`](/documentation/SceneKit/SCNMatrix4Invert(_:))

Returns the inverse of the specified matrix.

[`SCNMatrix4Mult`](/documentation/SceneKit/SCNMatrix4Mult(_:_:))

Returns the product of two matrices.

### Converting Matrix Types

[`SCNMatrix4FromGLKMatrix4`](/documentation/SceneKit/SCNMatrix4FromGLKMatrix4(_:))

Returns a SceneKit matrix corresponding to a GLKit matrix.

[`SCNMatrix4ToGLKMatrix4`](/documentation/SceneKit/SCNMatrix4ToGLKMatrix4(_:))

Returns a GLKit matrix corresponding to a SceneKit matrix.

[`SCNMatrix4FromMat4`](/documentation/SceneKit/SCNMatrix4FromMat4)

[`SCNMatrix4ToMat4`](/documentation/SceneKit/SCNMatrix4ToMat4)

### Comparing Matrices

[`SCNMatrix4EqualToMatrix4`](/documentation/SceneKit/SCNMatrix4EqualToMatrix4(_:_:))

Returns a Boolean value that indicates whether the corresponding elements of two matrices are equal.

[`SCNMatrix4IsIdentity`](/documentation/SceneKit/SCNMatrix4IsIdentity(_:))

Returns a Boolean value that indicates whether the specified matrix is equal to the identity matrix.

### Identity Constant

[`SCNMatrix4Identity`](/documentation/SceneKit/SCNMatrix4Identity)

The 4 x 4 identity matrix.

### Matrix Elements

[`m11`](/documentation/SceneKit/SCNMatrix4-swift.struct/m11)

[`m12`](/documentation/SceneKit/SCNMatrix4-swift.struct/m12)

[`m13`](/documentation/SceneKit/SCNMatrix4-swift.struct/m13)

[`m14`](/documentation/SceneKit/SCNMatrix4-swift.struct/m14)

[`m21`](/documentation/SceneKit/SCNMatrix4-swift.struct/m21)

[`m22`](/documentation/SceneKit/SCNMatrix4-swift.struct/m22)

[`m23`](/documentation/SceneKit/SCNMatrix4-swift.struct/m23)

[`m24`](/documentation/SceneKit/SCNMatrix4-swift.struct/m24)

[`m31`](/documentation/SceneKit/SCNMatrix4-swift.struct/m31)

[`m32`](/documentation/SceneKit/SCNMatrix4-swift.struct/m32)

[`m33`](/documentation/SceneKit/SCNMatrix4-swift.struct/m33)

[`m34`](/documentation/SceneKit/SCNMatrix4-swift.struct/m34)

[`m41`](/documentation/SceneKit/SCNMatrix4-swift.struct/m41)

[`m42`](/documentation/SceneKit/SCNMatrix4-swift.struct/m42)

[`m43`](/documentation/SceneKit/SCNMatrix4-swift.struct/m43)

[`m44`](/documentation/SceneKit/SCNMatrix4-swift.struct/m44)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)