Swiftpack.co - yukiny0811/coordinate-kit as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by yukiny0811.
yukiny0811/coordinate-kit v1.0.0
Lightweight 3D coordinate transformation library for Swift.
⭐️ 2
🕓 1 year ago
.package(url: "https://github.com/yukiny0811/coordinate-kit.git", from: "v1.0.0")

CoordinateKit

Lightweight 3d coordinate transformation library for Swift.

How to use

Using push/pop/translate/rotate functions to change and move around the coordinate space.
somevector.globalPos(with:) function will transform your local positioned vector to global positioned vector.

import simd
import CoordinateKit

//original vector
var original = simd_float3(2.0, 1.0, 1.0)

//process
let master = Coordinate3DMaster()

master.push()
master.rotate(Float.pi / 2, simd_float3(0, 1, 0))
master.push()
master.translate(100, 0, 0)
print(original.globalPos(with: master.currentMatrix)) //SIMD3<Float>(0.99999416, 1.0, 98.0)
master.pop()
print(original.globalPos(with: master.currentMatrix)) //SIMD3<Float>(1.0000001, 1.0, -2.0)
master.pop()
print(original.globalPos(with: master.currentMatrix)) //SIMD3<Float>(2.0, 1.0, 1.0)

GitHub

link
Stars: 2
Last commit: 1 year ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

v1.0.0 Initial Release
1 year ago

CoordinateKit

Lightweight 3d coordinate transformation library for Swift.

How to use

Using push/pop/translate/rotate functions to change and move around the coordinate space.
somevector.globalPos(with:) function will transform your local positioned vector to global positioned vector.

import simd
import CoordinateKit

//original vector
var original = simd_float3(2.0, 1.0, 1.0)

//process
let master = Coordinate3DMaster()

master.push()
master.rotate(Float.pi / 2, simd_float3(0, 1, 0))
master.push()
master.translate(100, 0, 0)
print(original.globalPos(with: master.currentMatrix)) //SIMD3<Float>(0.99999416, 1.0, 98.0)
master.pop()
print(original.globalPos(with: master.currentMatrix)) //SIMD3<Float>(1.0000001, 1.0, -2.0)
master.pop()
print(original.globalPos(with: master.currentMatrix)) //SIMD3<Float>(2.0, 1.0, 1.0)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics