diff options
author | rodri <rgl@antares-labs.eu> | 2024-01-16 17:09:14 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-01-16 17:09:14 +0000 |
commit | d6be49085c76bbea87b7d7c61455b93883669bf1 (patch) | |
tree | bff7cf7fbc66cd5da303122ebb50f87e8a7d44a7 /matrix.c | |
parent | 168a16b70a928ed64061bdac7fc9d52235c3f9fc (diff) | |
download | ballistics-d6be49085c76bbea87b7d7c61455b93883669bf1.tar.gz ballistics-d6be49085c76bbea87b7d7c61455b93883669bf1.tar.bz2 ballistics-d6be49085c76bbea87b7d7c61455b93883669bf1.zip |
rewrite it using libgeometry.
Diffstat (limited to 'matrix.c')
-rw-r--r-- | matrix.c | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/matrix.c b/matrix.c deleted file mode 100644 index 12956a7..0000000 --- a/matrix.c +++ /dev/null @@ -1,74 +0,0 @@ -#include <u.h> -#include <libc.h> -#include "dat.h" -#include "fns.h" - -void -addm(Matrix a, Matrix b) -{ - int i, j; - - for(i = 0; i < 3; i++) - for(j = 0; j < 3; j++) - a[i][j] += b[i][j]; -} - -void -subm(Matrix a, Matrix b) -{ - int i, j; - - for(i = 0; i < 3; i++) - for(j = 0; j < 3; j++) - a[i][j] -= b[i][j]; -} - -void -mulm(Matrix a, Matrix b) -{ - int i, j, k; - Matrix r; - - for(i = 0; i < 3; i++) - for(j = 0; j < 3; j++){ - r[i][j] = 0; - for(k = 0; k < 3; k++) - r[i][j] += a[i][k]*b[k][j]; - } - for(i = 0; i < 3; i++) - for(j = 0; j < 3; j++) - a[i][j] = r[i][j]; -} - -void -transm(Matrix m) -{ - int i, j; - double tmp; - - for(i = 0; i < 3; i++) - for(j = i; j < 3; j++){ - tmp = m[i][j]; - m[i][j] = m[j][i]; - m[j][i] = tmp; - } -} - -double -detm(Matrix m) -{ - return m[0][0]*(m[1][1]*m[2][2] - m[1][2]*m[2][1]) - + m[0][1]*(m[1][2]*m[2][0] - m[1][0]*m[2][2]) - + m[0][2]*(m[1][0]*m[2][1] - m[1][1]*m[2][0]); -} - -Vector -mulvecm(Vector v, Matrix m) -{ - Vector r; - - r.x = v.x * m[0][0] + v.y * m[0][1] + v.w * m[0][2]; - r.y = v.x * m[1][0] + v.y * m[1][1] + v.w * m[1][2]; - r.w = v.x * m[2][0] + v.y * m[2][1] + v.w * m[2][2]; - return r; -} |