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_float
hints 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/0
to be:rand.uniform/0
.
- Add
Vec3.scalar_triple
product for vec3s.
- Add
Vec2.negate/1
for negating vectors. - Add
Vec3.negate/1
for negating vectors. - Add
Vec2.weighted_sum/4
for summing vectors. - Add
Vec3.weighted_sum/4
for summing vectors.
- Add
Quatern.random/0
for generating random quaternions. - Add
Vec2.random_circle/0
for generating vec2s on a unit circle. - Add
Vec2.random_disc/0
for generating vec2s on a unit disc. - Add
Vec2.random_square/0
for generating vec2s on unit square. - Add
Vec3.random_box/0
for generating vec3s inside a unit box. - Add
Vec3.random_sphere/0
for generating vec3s on a unit sphere. - Add
Vec3.random_ball/0
for generating vec3s on or inside the unit sphere.
- Add
Quatern.transform_vector/2
to transform a vector by a quaternion. - Add
Vec3.equal/2
to compare two vec3s for equality. - Add
Vec3.equal/3
to compare two vec3s for equality within a threshold. - Add
Vec2.equal/2
to compare two vec2s for equality. - Add
Vec2.equal/3
to compare two vec2s for equality within a threshold.
- Added changelog! Finally!
- Non-crashing
Quatern.normalize/1
which can deal with zero-magnitude quaternions. - Add
Quatern.identity/0
to make identity quaternions. - Add
Quatern.equal/2
to compare two unit quaternions for orientation equality. - Add
Quatern.equal/3
to compare two unit quaternions for orientation equality with a threshold. - Add
Quatern.equal_elements/2
to compare two quaternions for element-wise equality. - Add
Quatern.equal_elements/3
to compare two quaternions for element-wise equality with a threshold. - Add
Quatern.to_rotation_matrix_44/1
. - Add
Quatern.integrate/3
.
- Old
Quatern.normalize/1
has becomeQuatern.normalize_strict/1
. - Clarified documentation on
Quatern.conjugate/1
. - Renamed
Quatern.create/0
toQuatern.zero/0
. - Renamed
Quatern.create/1
toQuatern.from_list/0
. - Renamed
Quatern.create/2
toQuatern.from_axis_angle/2
; changed implementation. - Renamed
Quatern.to_rotation_matrix/1
toQuatern.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.