<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 13.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/Path/addArc(tangent1End:tangent2End:radius:transform:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI4PathV6addArc11tangent1End08tangent2G06radius9transformySo7CGPointV_AJ14CoreFoundation7CGFloatVSo17CGAffineTransformVtF"
  },
  "title" : "addArc(tangent1End:tangent2End:radius:transform:)"
}
-->

# addArc(tangent1End:tangent2End:radius:transform:)

Adds an arc of a circle to the path, specified with a radius
and two tangent lines.

```
mutating func addArc(tangent1End: CGPoint, tangent2End: CGPoint, radius: CGFloat, transform: CGAffineTransform = .identity)
```

## Parameters

`tangent1End`

The end point, in user space coordinates, for
the first tangent line to be used in constructing the arc.
(The start point for this tangent line is the path’s
current point.)

`tangent2End`

The end point, in user space coordinates, for
the second tangent line to be used in constructing the arc.
(The start point for this tangent line is the tangent1End
point.)

`radius`

The radius of the arc, in user space coordinates.

`transform`

An affine transform to apply to the arc before
adding to the path. Defaults to the identity transform if
not specified.

## Discussion

This method calculates two tangent lines—the first
from the current point to the tangent1End point, and the second
from the `tangent1End` point to the `tangent2End`
point—then calculates the start and end points for a
circular arc of the specified radius such that the arc is
tangent to both lines. Finally, this method approximates that
arc with a sequence of cubic Bézier curves and appends
those curves to the path.

If the starting point of the arc (that is, the point where a
circle of the specified radius must meet the first tangent line
in order to also be tangent to the second line) is not the
current point, this method appends a straight line segment from
the current point to the starting point of the arc.

The ending point of the arc (that is, the point where a circle
of the specified radius must meet the second tangent line in
order to also be tangent to the first line) becomes the new
current point of the path.

---

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)