@@ -11,8 +11,8 @@ Or for separate modules
1111
1212```
1313libraryDependencies += Seq(
14- "com.github.Kright.ScalaGameMath" %% "math" % "0.5.0 ",
15- "com.github.Kright.ScalaGameMath" %% "physics3d" % "0.5.0 ",
14+ "com.github.Kright.ScalaGameMath" %% "math" % "0.5.1 ",
15+ "com.github.Kright.ScalaGameMath" %% "physics3d" % "0.5.1 ",
1616)
1717```
1818
@@ -36,16 +36,15 @@ For other variants see [https://jitpack.io/#Kright/ScalaGameMath](https://jitpac
3636 * Force3d, Impulse3d, Velocity3d, Acceleration3d (combined linear and angular)
3737 * Joint3d with Spring3d, AngularSpring3d, Friction, AngularFriction3d, OrientationSpring3d
3838 * BodySystem for handling system of bodies with joints between them
39- * ** swizzle** : swizzle operators for vectors
4039* ** solvers** : helper for solving differential equations with Euler or Runge-Kutta methods
4140* ** symbolic** : simple implementation for AST like ` (1.0 + ("y" * "x")) `
4241* ** ga** : experimental support for geometric algebra (GA) and plane-based geometric algebra (PGA).
4342 See [ https://bivector.net ] ( https://bivector.net ) for more details. Suitable for any dimensions
44- * ** pga3d** : experimental library for 3d PGA with generated code and some common cases (Pga3dPlane, Pga3dPoint,
45- Pga3dBivector, etc).
46- There is a huge amount of similars methods (for each pair of classes for each type of multiplication). Because of
43+ * ** pga3d** : efficient library for 3d PGA with generated code and some common cases (Pga3dPlane, Pga3dPoint,
44+ Pga3dQuaternion, Pga3dBivector, etc).
45+ There is a huge amount of similar methods (for each pair of classes for each type of multiplication). Because of
4746 generated methods for each case it's possible to know at compile time that, for example, dot product of two bivectors
48- is a scalar.
47+ is a scalar or geometric product of two planes is a motor .
4948* ** pga3dCodeGen** : hand-made code generator for library above. It does operations in symbolic form, and searches the
5049 most narrow subclass of multivector for result.
5150
@@ -69,21 +68,6 @@ q *= q2 // q := q * q2, inplace, no objects created
6968q *> q2 // q2 := q * q2, inplace, no objects created
7069```
7170
72- Library had module with [ swizzle operators] ( https://en.wikipedia.org/wiki/Swizzling_(computer_graphics) ) :
73- ``` scala
74- import com .github .kright .math .{Vector3d , Vector4d }
75-
76- val v = Vector4d (1 , 2 , 3 , 4 )
77- v.yx = v.xy
78- // v == (2, 1, 3, 4)
79- v.xy = v.yx
80- // v == (1, 2, 3, 4)
81- v = Vector3d (1 , 2 , 3 ).xyzz
82- // v == (1, 2, 3, 3)
83- ```
84-
85- Library doesn't have any external dependencies.
86-
8771### Physics
8872
8973This part is still under development.
@@ -97,7 +81,7 @@ Maybe for some specific case with a lot of objects you will need your own implem
9781### PGA
9882
9983I'm inspired by https://bivector.net/PGADYN.html
100- I want to rewrite physics equations in PGA. Work in progress .
84+ I rewrote physics equations in PGA, looks like PGA is a better way for describing physics .
10185
10286### Tests
10387
0 commit comments