Releases: Kright/ScalaGameMath
0.8.0
0.7.4
0.7.3
0.7.2 Implement inertia classes
- Implement inertia classes for different cases.
- Add Cholesky matrix decomposition for efficient inversion.
- Improve tests
v0.7.1
v0.7.0 Add pga3dPhysics module
Has a lot of breaking changes.
Add module pga3dPhysics:
- Different representations for Inertia - as diagonal, moved diagonal, as summable tensor and as cached for faster computations.
- Helpful classes for physics - Pga3dForque, Pga3dBodyState, Pga3dPhysicsBody
- Different solvers. The most interesting are explicit Runge-Kutta method of 4th order and implicit method of Gauss-Legendre (4th order too).
Add module for matrices, implement matrix diagonalization. Used for inertia tensor diagonalization.
Profile code a bit, add FastRange class, which is much more efficient for iterating between small values, for examle from 0 until 4 in matrix code.
Add macro for packing case classes with double fields into double array and for unpacking them back.
v0.6.0
Improve pga3d, remove swizzle module
v0.5.1 release 5.1, remove modules for swizzle operators
pga3d refactoring
Refactor pga3d module, update scala and sbt versions.
now all pga3d classes have prefix Pga3d, for example Pga3dVector.
In addition, Point and Vector are stored as dual representation with w,x,y,z coordinates. They have getters for real values of wyz, wxz, wxy and xyz.
Because of this conversion some bugs theoretically are possible, but I hope that I have found all of them.