Swiftpack.co - Package - juliand665/CGeometry



Swift Package Manager compatible MIT licensed

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

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

Initial Release - 2019-09-27 01:35:42