Commit Graph

1671 Commits

Author SHA1 Message Date
Sébastien Crozet 4c58e37910 Make look_at, perspective, and orthographic projection matrices conform to computer-graphics convensions.
The `look_at` method itself has been split into a right-handed and a left-handed variant:
`look_at_rh` and `look_at_lh`.

Fix #171, #158, #88, #79.
2016-03-31 21:22:02 +02:00
Sébastien Crozet 91e14670ed Add multiplications between Iso, Rot, and Sim. 2016-03-28 17:05:44 +02:00
Sébastien Crozet 5b7af11555 Add Sim/Rot, Sim/Iso, Iso/Rot multiplications. 2016-03-28 15:18:28 +02:00
Sébastien Crozet 02001667f7 Fix look_at matrices + implement Display for statically sized structures. 2016-03-28 14:56:25 +02:00
Sébastien Crozet 60c0f32e1c Feature-gate the `VecN` structure.
`rustc` is has a hard time compiling it from time to time.
2016-03-24 19:44:08 +01:00
Sébastien Crozet b4c6c99dd7 Update the changelog. 2016-03-24 19:44:08 +01:00
Sébastien Crozet fe73e8743f Minor comment fix. 2016-03-24 19:44:08 +01:00
Sébastien Crozet cbbf5f138d Remove the double-dispatch trick for Cast implementations.
It is obsolete now that rustc supports multiple trait implementations.
2016-03-24 19:44:08 +01:00
Sébastien Crozet c1ec00cfe7 Complete the documentation. 2016-03-24 19:44:08 +01:00
Sébastien Crozet 87a80c2de6 Fix tests. 2016-03-24 19:44:08 +01:00
Sébastien Crozet 8dbfbe10a5 Add a changelog (at last!) 2016-03-24 19:44:08 +01:00
Sébastien Crozet ceed9e52bd Implement `Arbitrary` for `VecN`. 2016-03-24 19:44:08 +01:00
Sébastien Crozet 88fb33cf44 Remove useless or incomplete structs: `Vec0`, `Pnt0`, `Iso4`, `Rot4`. 2016-03-24 19:43:50 +01:00
Sébastien Crozet 0c8b8bfcdb Add similarity transformations Sim2 and Sim3 (uniform scale followed by a rotation followed by a translation). 2016-03-24 19:03:40 +01:00
Sébastien Crozet f8f4924e47 Add vector perametrizable by their sizes. 2016-03-24 19:03:29 +01:00
Sébastien Crozet 20070e9677 Add version number for `quickcheck`. 2016-03-07 16:40:19 +01:00
Sébastien Crozet 6bcf43563f Release 0.5.1. 2016-01-10 16:17:45 +01:00
Sébastien Crozet ca6026e5cb Merge pull request #168 from arturoc/master
mat_macros: from_homogeneous_impl was using dimension of src not dst
2016-01-10 16:12:44 +01:00
Sébastien Crozet d15211737a Restore most of @oleglite Row/Col implementations lost during the last merge. 2016-01-10 16:10:14 +01:00
Sébastien Crozet bfd97beffe Merge branch 'misc' 2016-01-10 15:46:06 +01:00
Sébastien Crozet 91c4b58bbb Fix missing trait bounds when the "arbitrary" feature is enabled. 2016-01-10 15:39:54 +01:00
Sébastien Crozet 5a058f0c76 Releave v0.5.0. 2016-01-10 15:24:36 +01:00
Sébastien Crozet 58de7f461e DMat{1..6}: make the `Col` and `Row` implementation return a DVec{1..6} instead of a plain DVec.
Also adds the `DVec{1..6}::new_uninitialized(dim)` function.
2016-01-10 15:23:18 +01:00
Sébastien Crozet b63e60560f Merge pull request #169 from oleglite/master
Implement Row & Col Traits for DMat
2016-01-10 15:02:21 +01:00
Sébastien Crozet 1338e0c358 DMat: implement `from_row_iter` and `from_col_iter`.
Those create a DMat by moving its argument into an interator and collecting it.
Fix #167.
2016-01-10 14:50:08 +01:00
Sébastien Crozet 581251d5b4 Implement dynamic matrix with a maximum size.
Those are named DMat1 to DMat6 and have the same relation with DMat as DVec1 to DVec6 are related
to DVec.

As a side effect, the method `to_vec` of DMat was renamed `into_vec` to be more in line with the std lib.
Addresses the second point of #100.
2016-01-10 14:50:02 +01:00
Sébastien Crozet 3cd4221bf7 Implement `Row` and `Col` for `DMat`.
Fix #153.
2016-01-10 14:49:55 +01:00
Sébastien Crozet 11b49f50c9 Implement `Mean` for `DVec`, `DVecN`, `VecN` and `MatN`.
Fix #166.
2016-01-10 14:49:48 +01:00
Sébastien Crozet 5cbbc25bb2 Make vectors indexable the same way as slices.
This includes range indexing.
In addition, for unification, the methods `.as_slice` and `.as_mut_slice` of DVec have been renamed
to `.as_ref` and `.as_mut`.
2016-01-10 14:49:37 +01:00
Oleg Beloglazov c4bce82290 Implement Row & Col Traits for DMat 2016-01-10 16:03:04 +03:00
arturo castro 4845a0790a mat_macros: from_homogeneous_impl was using dimension of src not dst 2016-01-08 10:02:06 +01:00
Sébastien Crozet 22edb3a157 Merge pull request #165 from sebcrozet/misc
Fix #161 and addresses #160.
2015-11-15 22:08:57 +01:00
Sébastien Crozet 54c22c2fc3 Release v0.4.0 2015-11-15 21:56:29 +01:00
Sébastien Crozet 4098c6c5e5 Make Iso::look_at{_z} static.
This did not need to access `self`.

Fix #161.
2015-11-15 21:56:25 +01:00
Sébastien Crozet 58000e4838 Implement AsRef, AsMut, From for vectors and matrices.
This allows pointer conversion between arrays and vectors or matrices.
Those implementations replace the `.as_array()` and `.as_array_mut()` method.
2015-11-15 21:38:28 +01:00
Sébastien Crozet 948341685e Add implementation of `RotationMatrix` for `UnitQuat`. 2015-11-15 21:38:23 +01:00
Sébastien Crozet 6db6db19fc Release v0.3.2. 2015-11-15 00:20:20 +01:00
Sébastien Crozet aa1a4ceb58 Merge pull request #164 from dshizzle/master
Fix QR algorithm for diagonal matrices
2015-11-15 00:13:04 +01:00
Daniel D 179a6560ce Fix eigenvalue calculation for diagonal matrices 2015-11-14 15:40:35 +01:00
Sébastien Crozet 0f24c2d8fc Release v0.3.1. 2015-10-13 23:20:02 +02:00
Sébastien Crozet 37f1a1d26c Style fixes. 2015-10-13 22:53:19 +02:00
Sébastien Crozet ccaea63906 Merge pull request #156 from dshizzle/master
Improved QR algorithm convergence
2015-10-13 18:20:24 +02:00
Daniel c4753aaf65 Implemented QR algorithm with initial transformation to Hessenberg form and Wilkinson shift for symmetric matrices 2015-09-22 15:17:03 +02:00
Sébastien Crozet 6fee70bd19 Release 0.3.0.
This includes breaking changes for the Rot3::look_at{_z} method.
2015-09-16 23:28:08 +02:00
Sébastien Crozet 189bcef193 Merge pull request #155 from Binero/master
Fixed issue #154 https://github.com/sebcrozet/nalgebra/issues/154
2015-09-16 23:26:47 +02:00
Jeroen Bollen 72ce1881ce Fixed issue #154 https://github.com/sebcrozet/nalgebra/issues/154 2015-09-15 19:47:27 +02:00
Sébastien Crozet 0bcbd4df4b Removed unused import. 2015-09-13 23:53:28 +02:00
Sébastien Crozet cdd0443cf8 Release version 0.2.23. 2015-09-13 23:51:08 +02:00
Sébastien Crozet 0e8fbf070f Merge pull request #152 from Antsiscool/master
Removed Display trait requirement from Debug method for DMat.
2015-09-13 23:50:38 +02:00
Antsiscool f9d79fcf5a Removed Display trait from Debug method for DMat.
DMat was unable to show using debug if the object stored in it did not implement Display.
2015-09-10 14:34:41 +10:00