Revision:

Revisions

# Date Author Comment
a6c06c10 2016-02-26 15:33 Gé Vissers

Remove unused include

fd9de024 2016-02-26 13:20 Gé Vissers

The cross product is only defined for 3D vectors. Instead of checking the size
at runtime, only provide an implementation for N==3. Trying to use the cross
function with other vector sizes will then result in a link error.

b3b59267 2016-02-25 16:26 Kevin Townsend

Merge pull request #19 from gvissers/master

Cleanup of quaternion code

7ede6000 2016-02-25 16:04 Gé Vissers

Excessive parentheses only make the expressions hareder to read.

2dd31024 2016-02-25 15:45 Gé Vissers

Replace use of float by double.

All values in a quaternion are declared double, let's not lose precision on
platforms where double is larger than float.

2b07acc9 2016-02-25 15:42 Gé Vissers

Simplify a few more functions, and pass vector arguments by reference

88b09bb5 2016-02-25 15:20 Gé Vissers

Simplify constructors

0ecc7129 2016-02-25 15:09 Gé Vissers

Simplify several functions by replacing the body with one-line calls to the
constructor. Furthermore, pass Quaternion arguments by reference to avoid
excessive copying.

4a94251b 2016-02-25 14:52 Gé Vissers

Quaternion needs the definition of a matrix. Include it.

e8e79779 2016-02-25 14:04 Gé Vissers

Fix conversion of impure rotation matrices to quaternions

The test for the largest element in the matrix diagonal was reversed, which
resulted in taking the square root of a negative value for matrices with
determinant less than zero.

02609f56 2016-02-24 16:09 Gé Vissers

Store determinant as double when computing matrix inverse. Does not matter on Arduino, but might on other platforms.

aa99f9c5 2016-02-24 15:47 Kevin Townsend

Merge pull request #18 from gvissers/master

Fixes for matrix utility code

ba125e3b 2016-02-24 15:20 Gé Vissers

The recursive definition of the determinant function, combined with the fact
that no specialized function for the base case N==1 is given, leads to
instantiation of this function for all 256 possible values of a uint8_t (even
though these are not used in practice). Fix this by providing an explicit...

3e5e5286 2016-02-24 14:37 Gé Vissers

Remove inclusion of unused headers

322c0d59 2016-02-24 14:35 Gé Vissers

Fix calculation of inverse. We should divide by the determinant instead of multiply with it.

55604844 2016-02-24 14:01 Gé Vissers

Fix minor_matrix() accessing data past end of array.

b79e511b 2016-02-24 13:55 Gé Vissers

Get rid of superfluous _cell member

b5f89f32 2016-02-24 13:52 Gé Vissers

Use more standard (i, j) index names and constify transpose()

771690b8 2016-02-24 13:48 Gé Vissers

Prevent copying row data for every element in matrix multiplication.

364879d2 2016-02-24 13:45 Gé Vissers

Dox matrix addition, subtraction, and scalar multiplication using a single loop instead of a double loop.

9f03e367 2016-02-24 13:38 Gé Vissers

make row and column retrieval function const, pass Vector arguments to row and column setters as const reference

8208cc49 2016-02-24 13:32 Gé Vissers

Use a single loop to copy matrices

9c729628 2016-02-24 13:26 Gé Vissers

Add functions for reading elements of constant matrix

a2da8ab6 2016-02-24 13:24 Gé Vissers

Fix memset() in constructors writing past end of data

c2a8045b 2016-02-24 13:20 Gé Vissers

Include vector.h, so that including just matrix.h will pull in the requested dependencies

1 2 3 4 5 6 (76-100/148) Per page: 25, 50, 100

Also available in: Atom