Functions and types for working with three-dimensional coordinate systems.
For now, all functions assume a coordinate system where right is +X, up is +Y and forwards is +Z, unless otherwise stated.
Jonatan H Sundqvist
- [x] Use typeclass for Vectors (would save a lot of boilerplate) -- [ ] Replace 'Vector' with more specific classes, depending on the use case -- [ ] Perhaps 'Vector' could be an alias for types that support all vector ops
- [x] Allow functions to operate on any Vector-like type (including eg. Complex) (cf. the
- [ ] Consistent naming scheme (eg. use Vector(2D|3D) or just Vector for both types)
- [ ] Decide on a public API (right now, exports are a mess)