# CGeometry

###### Simple operators (plus convenient initializers and constants) for CoreGraphics geometric constructs: `CGPoint`

, `CGVector`

, and `CGSize`

.

### Example

```
let a = CGPoint(x: 4, y: 7)
print(CGVector(a).length) // 8.06
print(CGVector(a).angle) // 1.05… (~60.3°)
let b = CGPoint(x: 10, y: 3)
print(b - a) // CGVector(dx: 6, dy: -4)
print(a + 0.5 * (b - a)) // CGPoint(x: 7, y: 5)
let offset = CGVector(dx: 10, dy: -5)
print(a + offset) // CGPoint(x: 14, y: 2)
print(a + offset / 2) // CGPoint(x: 9, y: 4.5)
let angled = CGVector(angle: 1/3 * .pi, length: 2)
print(angled) // CGVector(dx: 1, dy: 1.73…)
```

## Github

link |

Stars: 0 |

## You may find interesting

## Dependencies

## Used By

Total: 0

## Releases

## Rectangles and Documentation - 2019-12-04 23:45:41

- Added ways to scale rectangles up or down by floats or sizes.
- Added documentation to the less trivial functions.

## The sizeable update - 2019-11-27 03:59:55

- Turns out sizes are just scalars in 2 dimensions, so to speak. So everything can be scaled by a size now.
- All types now have
`map`

functions that transform each component in the same way.

Not quite backwards compatible, because I removed vector-vector scaling in the process.

## Culling and Expanding - 2019-10-10 03:05:46

- removed several things that didn't make sense
- added several things that do
- breaking changes from v0.0.0; i'll stop doing those on minor releases past v1.0