<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -",
    "watchOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Spatial",
  "identifier" : "/documentation/Spatial/AffineTransform3DFloat",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Spatial"
    ],
    "preciseIdentifier" : "c:@SA@SPAffineTransform3DFloat"
  },
  "title" : "AffineTransform3DFloat"
}
-->

# AffineTransform3DFloat

```
struct AffineTransform3DFloat
```

## Overview\abstract A single-precision 3D affine transformation matrix.

## Topics

### Operators

[`static func * (AffineTransform3DFloat, AffineTransform3DFloat) -> AffineTransform3DFloat`](/documentation/Spatial/AffineTransform3DFloat/*(_:_:))

Returns the concatenation of two affine transforms.

[`static func *= (inout AffineTransform3DFloat, AffineTransform3DFloat)`](/documentation/Spatial/AffineTransform3DFloat/*=(_:_:))

Calculates the concatenation of two affine transforms and stores the result in the left-hand-side variable.

### Initializers

[`init()`](/documentation/Spatial/AffineTransform3DFloat/init()-6ek9q)

Returns a new identity affine transform.

[`init()`](/documentation/Spatial/AffineTransform3DFloat/init()-8li4c)

Returns a new identity affine transform.

[`init(AffineTransform3D)`](/documentation/Spatial/AffineTransform3DFloat/init(_:)-2c2os)

Returns a single-precision affine transformation from a double-precision affine transformation.

[`init(simd_double4x3)`](/documentation/Spatial/AffineTransform3DFloat/init(_:)-3a23d)

Returns a new affine transform structure from the specified double-precision 4 x 3 matrix.

[`init(simd_float4x3)`](/documentation/Spatial/AffineTransform3DFloat/init(_:)-5ajh4)

[`init(matrix: simd_float4x3)`](/documentation/Spatial/AffineTransform3DFloat/init(matrix:))

[`init(pose: Pose3DFloat)`](/documentation/Spatial/AffineTransform3DFloat/init(pose:))

Returns a new transform from the specified pose.

[`init(scaledPose: ScaledPose3DFloat)`](/documentation/Spatial/AffineTransform3DFloat/init(scaledPose:))

Returns a new transform from the specified scaled pose.

[`init(truncating: ProjectiveTransform3DFloat)`](/documentation/Spatial/AffineTransform3DFloat/init(truncating:)-1jfno)

[`init(truncating: simd_double4x4)`](/documentation/Spatial/AffineTransform3DFloat/init(truncating:)-7vabe)

Returns a new affine transform from a double-precision 4 x 4 matrix truncated to a  4 x 3 matrix.

[`init(truncating: simd_float4x4)`](/documentation/Spatial/AffineTransform3DFloat/init(truncating:)-8jfn6)

### Instance Properties

[`var columns: (Vector3DFloat, Vector3DFloat, Vector3DFloat, Vector3DFloat)`](/documentation/Spatial/AffineTransform3DFloat/columns)

The columns of the underlying matrix.

[`var isInvertible: Bool`](/documentation/Spatial/AffineTransform3DFloat/isInvertible)

[`var matrix: simd_float4x3`](/documentation/Spatial/AffineTransform3DFloat/matrix)

[`var matrix3x3: simd_float3x3`](/documentation/Spatial/AffineTransform3DFloat/matrix3x3)

[`var matrix4x4: simd_float4x4`](/documentation/Spatial/AffineTransform3DFloat/matrix4x4)

[`var scale: Size3DFloat`](/documentation/Spatial/AffineTransform3DFloat/scale)

### Instance Methods

[`func changeBasis(from: AffineTransform3DFloat, to: AffineTransform3DFloat) -> AffineTransform3DFloat?`](/documentation/Spatial/AffineTransform3DFloat/changeBasis(from:to:))

Returns a new affine transform structure by applying a change-of-basis.

### Default Implementations

[CustomReflectable Implementations](/documentation/Spatial/AffineTransform3DFloat/CustomReflectable-Implementations)

[Decodable Implementations](/documentation/Spatial/AffineTransform3DFloat/Decodable-Implementations)

[Encodable Implementations](/documentation/Spatial/AffineTransform3DFloat/Encodable-Implementations)

[Equatable Implementations](/documentation/Spatial/AffineTransform3DFloat/Equatable-Implementations)

[Hashable Implementations](/documentation/Spatial/AffineTransform3DFloat/Hashable-Implementations)

[Scalable3DProtocol Implementations](/documentation/Spatial/AffineTransform3DFloat/Scalable3DProtocol-Implementations)

[Shearable3DProtocol Implementations](/documentation/Spatial/AffineTransform3DFloat/Shearable3DProtocol-Implementations)

[Transform3DProtocol Implementations](/documentation/Spatial/AffineTransform3DFloat/Transform3DProtocol-Implementations)

## Relationships

### Conforms To

[`Escapable`](/documentation/Swift/Escapable)

[`CustomReflectable`](/documentation/Swift/CustomReflectable)

[`Decodable`](/documentation/Swift/Decodable)

[`Hashable`](/documentation/Swift/Hashable)

[`Copyable`](/documentation/Swift/Copyable)

[`Encodable`](/documentation/Swift/Encodable)

[`Translatable3DProtocol`](/documentation/Spatial/Translatable3DProtocol)

[`Shearable3DProtocol`](/documentation/Spatial/Shearable3DProtocol)

[`Transform3DProtocol`](/documentation/Spatial/Transform3DProtocol)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Sendable`](/documentation/Swift/Sendable)

[`Equatable`](/documentation/Swift/Equatable)

[`Scalable3DProtocol`](/documentation/Spatial/Scalable3DProtocol)

[`Rotatable3DProtocol`](/documentation/Spatial/Rotatable3DProtocol)

[`BitwiseCopyable`](/documentation/Swift/BitwiseCopyable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`SpatialTypeProtocol`](/documentation/Spatial/SpatialTypeProtocol)

---

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)