Written by Paul Hudson @twostraws

You can calculate the distance between two `CGPoints`

by using Pythagoras's theorem, but be warned: calculating square roots is not fast, so if possible you want to avoid it. More on that in a moment, but first here's the code you need:

```
func CGPointDistanceSquared(from: CGPoint, to: CGPoint) -> CGFloat {
return (from.x - to.x) * (from.x - to.x) + (from.y - to.y) * (from.y - to.y)
}
func CGPointDistance(from: CGPoint, to: CGPoint) -> CGFloat {
return sqrt(CGPointDistanceSquared(from: from, to: to))
}
```

Note that there are two functions: one for returning the distance between two points, and one for returning the distance squared between two points. The latter one doesn't use a square root, which makes it substantially faster. This means if you want to check "did the user tap within a 10-point radius of this position?" it's faster to square that 10 (to make 100) then use `CGPointDistanceSquared()`

instead.

Available from iOS 2.0

Did this solution work for you? Please pass it on!

**Other people are reading…**

- How to calculate the Manhattan distance between two CGPoints
- How to draw a square using Core Graphics: addRect()
- How to compare two CGRects with equalTo()
- How to use Core Graphics blend modes to draw a UIImage differently
- How to find the translation from a CGAffineTransform

**About the Swift Knowledge Base**

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.

**Hacking with watchOS**

Transfer your Swift skills to watchOS the easy way, and learn to build real-world apps in the process!