From 3b8a7ae627802982b6815c3f11b6f715f0760a79 Mon Sep 17 00:00:00 2001 From: ssloy Date: Mon, 26 Jan 2015 11:05:47 +0100 Subject: [PATCH] new vec/matrix code --- geometry.cpp | 112 --------------------------------------------------- 1 file changed, 112 deletions(-) delete mode 100644 geometry.cpp diff --git a/geometry.cpp b/geometry.cpp deleted file mode 100644 index a1ca2b0f..00000000 --- a/geometry.cpp +++ /dev/null @@ -1,112 +0,0 @@ -#include -#include "geometry.h" - -template <> Vec3::Vec3(Matrix m) : x(m[0][0]/m[3][0]), y(m[1][0]/m[3][0]), z(m[2][0]/m[3][0]) {} -template <> template <> Vec3::Vec3<>(const Vec3 &v) : x(int(v.x+.5)), y(int(v.y+.5)), z(int(v.z+.5)) {} -template <> template <> Vec3::Vec3<>(const Vec3 &v) : x(v.x), y(v.y), z(v.z) {} - -Matrix::Matrix(Vec3f v) : m(std::vector >(4, std::vector(1, 1.f))), rows(4), cols(1) { - m[0][0] = v.x; - m[1][0] = v.y; - m[2][0] = v.z; -} - -Matrix::Matrix(int r, int c) : m(std::vector >(r, std::vector(c, 0.f))), rows(r), cols(c) { } - -int Matrix::nrows() { - return rows; -} - -int Matrix::ncols() { - return cols; -} - -Matrix Matrix::identity(int dimensions) { - Matrix E(dimensions, dimensions); - for (int i=0; i& Matrix::operator[](const int i) { - assert(i>=0 && i [ai] - Matrix result(rows, cols*2); - for(int i=0; i=0; j--) - result[i][j] /= result[i][i]; - for (int k=i+1; k=rows-1; j--) - result[rows-1][j] /= result[rows-1][rows-1]; - // second pass - for (int i=rows-1; i>0; i--) { - for (int k=i-1; k>=0; k--) { - float coeff = result[k][i]; - for (int j=0; j