All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
is_floathints to all modules. - Removed moduledoc for util and root module.
- Added
Vec2.minkowski_distance/3. - Added
Vec3.minkowski_distance/3. - Added
Vec2.chebyshev_distance/3. - Added
Vec3.chebyshev_distance/3. - Added
Vec2.p_norm/2. - Added
Vec3.p_norm/2.
- Update to require Elixir 12.1.
- Update credo to 1.5.6.
- Update dialyxir to 1.1.0.
- Update ex_doc to 0.24.2.
- Update excoveralls to 0.14.1.
- Update use of
:random.uniform/0to be:rand.uniform/0.
- Add
Vec3.scalar_tripleproduct for vec3s.
- Add
Vec2.negate/1for negating vectors. - Add
Vec3.negate/1for negating vectors. - Add
Vec2.weighted_sum/4for summing vectors. - Add
Vec3.weighted_sum/4for summing vectors.
- Add
Quatern.random/0for generating random quaternions. - Add
Vec2.random_circle/0for generating vec2s on a unit circle. - Add
Vec2.random_disc/0for generating vec2s on a unit disc. - Add
Vec2.random_square/0for generating vec2s on unit square. - Add
Vec3.random_box/0for generating vec3s inside a unit box. - Add
Vec3.random_sphere/0for generating vec3s on a unit sphere. - Add
Vec3.random_ball/0for generating vec3s on or inside the unit sphere.
- Add
Quatern.transform_vector/2to transform a vector by a quaternion. - Add
Vec3.equal/2to compare two vec3s for equality. - Add
Vec3.equal/3to compare two vec3s for equality within a threshold. - Add
Vec2.equal/2to compare two vec2s for equality. - Add
Vec2.equal/3to compare two vec2s for equality within a threshold.
- Added changelog! Finally!
- Non-crashing
Quatern.normalize/1which can deal with zero-magnitude quaternions. - Add
Quatern.identity/0to make identity quaternions. - Add
Quatern.equal/2to compare two unit quaternions for orientation equality. - Add
Quatern.equal/3to compare two unit quaternions for orientation equality with a threshold. - Add
Quatern.equal_elements/2to compare two quaternions for element-wise equality. - Add
Quatern.equal_elements/3to compare two quaternions for element-wise equality with a threshold. - Add
Quatern.to_rotation_matrix_44/1. - Add
Quatern.integrate/3.
- Old
Quatern.normalize/1has becomeQuatern.normalize_strict/1. - Clarified documentation on
Quatern.conjugate/1. - Renamed
Quatern.create/0toQuatern.zero/0. - Renamed
Quatern.create/1toQuatern.from_list/0. - Renamed
Quatern.create/2toQuatern.from_axis_angle/2; changed implementation. - Renamed
Quatern.to_rotation_matrix/1toQuatern.to_rotation_matrix_33/
- Removed
Quatern.zero/0. - Removed
Quatern.create/0. - Removed
Quatern.create/1. - Removed
Quatern.create/2. - Removed
Quatern.to_rotation_matrix/1.
- Formatting fixes to readme.
- Fixed logic insinde
Quatern.from_axis_angle/2.
- Remove TravisCI.
- Various Coveralls and CircleCI work.
- Apppease dialyzer and fix mix format issues.
- Appease credo warnings.
- Added CirclCI.
- Remove doc artifacts from repo, update doc generation with help from @RobertDober
- Fix buggy
Graphmath.Vec2.Rotate.
- Complete unit tests for
Graphmath.Quatern.
- First public release.