---
title: AffineTransform3D
framework: spatial
role: symbol
role_heading: Structure
path: spatial/affinetransform3d
---

# AffineTransform3D

A 3D affine transformation matrix.

## Declaration

```swift
struct AffineTransform3D
```

## Topics

### Creating a 3D affine transform structure

- [init()](spatial/affinetransform3d/init()-2uqjl.md)
- [init()](spatial/affinetransform3d/init()-6ntm3.md)
- [init(_:)](spatial/affinetransform3d/init(_:)-52vpb.md)
- [init(_:)](spatial/affinetransform3d/init(_:)-722a2.md)
- [init(_:)](spatial/affinetransform3d/init(_:)-e2xx.md)
- [init(matrix:)](spatial/affinetransform3d/init(matrix:)-2inci.md)
- [init(pose:)](spatial/affinetransform3d/init(pose:).md)
- [init(scale:rotation:translation:)](spatial/affinetransform3d/init(scale:rotation:translation:)-3somu.md)
- [init(scaledPose:)](spatial/affinetransform3d/init(scaledpose:).md)
- [init(shear:)](spatial/affinetransform3d/init(shear:).md)
- [init(truncating:)](spatial/affinetransform3d/init(truncating:)-40nzj.md)
- [init(truncating:)](spatial/affinetransform3d/init(truncating:)-5wjxy.md)
- [init(truncating:)](spatial/affinetransform3d/init(truncating:)-9fd9g.md)

### Transforming a 3D affine transform structure

- [Axis3D](spatial/axis3d.md)
- [AxisWithFactors](spatial/axiswithfactors.md)
- [changeBasis(from:to:)](spatial/affinetransform3d/changebasis(from:to:).md)
- [flip(along:)](spatial/affinetransform3d/flip(along:).md)
- [flipped(along:)](spatial/affinetransform3d/flipped(along:).md)
- [inverse](spatial/affinetransform3d/inverse.md)
- [scaledBy(x:y:z:)](spatial/affinetransform3d/scaledby(x:y:z:).md)
- [sheared(_:)](spatial/affinetransform3d/sheared(_:).md)

### Decomposing a 3D affine transform

- [rotation](spatial/affinetransform3d/rotation.md)
- [scale](spatial/affinetransform3d/scale.md)
- [translation](spatial/affinetransform3d/translation.md)

### Checking characteristics

- [Dimension3DSet](spatial/dimension3dset.md)
- [isInvertible](spatial/affinetransform3d/isinvertible.md)
- [isUniform(overDimensions:)](spatial/affinetransform3d/isuniform(overdimensions:).md)
- [matrix](spatial/affinetransform3d/matrix.md)
- [matrix3x3](spatial/affinetransform3d/matrix3x3.md)
- [matrix4x4](spatial/affinetransform3d/matrix4x4.md)

### Comparing values

- [==(_:_:)](spatial/affinetransform3d/==(_:_:).md)
- [isApproximatelyEqual(to:tolerance:)](spatial/affinetransform3d/isapproximatelyequal(to:tolerance:).md)

### Applying arithmetic operations

- [*(_:_:)](spatial/affinetransform3d/*(_:_:).md)
- [*=(_:_:)](spatial/affinetransform3d/*=(_:_:).md)

### Deprecated symbols

- [init(_:)](spatial/affinetransform3d/init(_:)-41dx7.md)
- [init(_:)](spatial/affinetransform3d/init(_:)-6bm4k.md)
- [init(matrix:)](spatial/affinetransform3d/init(matrix:)-2tgp8.md)
- [init(matrix:)](spatial/affinetransform3d/init(matrix:)-6icxq.md)
- [init(matrix:)](spatial/affinetransform3d/init(matrix:)-82rxz.md)
- [init(projectiveTransform:)](spatial/affinetransform3d/init(projectivetransform:).md)
- [init(scale:rotation:translation:)](spatial/affinetransform3d/init(scale:rotation:translation:)-40dow.md)
- [init(translation:)](spatial/affinetransform3d/init(translation:).md)
- [inverted()](spatial/affinetransform3d/inverted().md)
- [offset](spatial/affinetransform3d/offset.md)

### Initializers

- [init(_:)](spatial/affinetransform3d/init(_:)-7eksa.md)

### Instance Properties

- [columns](spatial/affinetransform3d/columns.md)

### Default Implementations

- [CustomReflectable Implementations](spatial/affinetransform3d/customreflectable-implementations.md)
- [Decodable Implementations](spatial/affinetransform3d/decodable-implementations.md)
- [Encodable Implementations](spatial/affinetransform3d/encodable-implementations.md)
- [Equatable Implementations](spatial/affinetransform3d/equatable-implementations.md)
- [Hashable Implementations](spatial/affinetransform3d/hashable-implementations.md)
- [Scalable3DProtocol Implementations](spatial/affinetransform3d/scalable3dprotocol-implementations.md)
- [Shearable3DProtocol Implementations](spatial/affinetransform3d/shearable3dprotocol-implementations.md)
- [Transform3DProtocol Implementations](spatial/affinetransform3d/transform3dprotocol-implementations.md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Copyable](swift/copyable.md)
- [CustomReflectable](swift/customreflectable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [Rotatable3D](spatial/rotatable3d.md)
- [Rotatable3DProtocol](spatial/rotatable3dprotocol.md)
- [Scalable3D](spatial/scalable3d.md)
- [Scalable3DProtocol](spatial/scalable3dprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [Shearable3D](spatial/shearable3d.md)
- [Shearable3DProtocol](spatial/shearable3dprotocol.md)
- [SpatialTypeProtocol](spatial/spatialtypeprotocol.md)
- [Transform3DProtocol](spatial/transform3dprotocol.md)
- [Translatable3D](spatial/translatable3d.md)
- [Translatable3DProtocol](spatial/translatable3dprotocol.md)

## See Also

### Affine and projective transforms

- [AffineTransform3DFloat](spatial/affinetransform3dfloat.md)
- [ProjectiveTransform3D](spatial/projectivetransform3d.md)
- [ProjectiveTransform3DFloat](spatial/projectivetransform3dfloat.md)
