diff options
author | Franklin Wei <me@fwei.tk> | 2019-03-08 10:17:19 -0500 |
---|---|---|
committer | Franklin Wei <me@fwei.tk> | 2019-03-08 10:17:19 -0500 |
commit | cdfd5b37012935f7b0fb0a41ea8ca119ef8313b6 (patch) | |
tree | c93a775cbbf4bee69c73eb887e56bbc3d584b11b | |
parent | 7975d798bab79156c82d02a21158fc698b500a4a (diff) | |
download | fieldviz-cdfd5b37012935f7b0fb0a41ea8ca119ef8313b6.zip fieldviz-cdfd5b37012935f7b0fb0a41ea8ca119ef8313b6.tar.gz fieldviz-cdfd5b37012935f7b0fb0a41ea8ca119ef8313b6.tar.bz2 fieldviz-cdfd5b37012935f7b0fb0a41ea8ca119ef8313b6.tar.xz |
Remove old math code
-rw-r--r-- | src/quat.cpp | 38 | ||||
-rw-r--r-- | src/quat.h | 25 | ||||
-rw-r--r-- | src/vec3.cpp | 101 | ||||
-rw-r--r-- | src/vec3.h | 36 |
4 files changed, 0 insertions, 200 deletions
diff --git a/src/quat.cpp b/src/quat.cpp deleted file mode 100644 index df117d0..0000000 --- a/src/quat.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "quat.h" -#include <cmath> - -quat::quat(scalar w_, scalar x_, scalar y_, scalar z_) : w(w_), x(x_), y(y_), z(z_) { } -quat::quat(scalar x_, scalar y_, scalar z_) : w(0), x(x_), y(y_), z(z_) { } -quat::quat(scalar w_, vec3 vec) : w(w_), x(vec[0]), y(vec[1]), z(vec[2]) { } -quat::quat(vec3 vec) : w(0), x(vec[0]), y(vec[1]), z(vec[2]) { } -quat::quat() : w(0), x(0), y(0), z(0) { } - -quat::operator vec3() -{ - return vec3(this->x, this->y, this->z); -} - -quat operator*(const quat &lhs, const quat &rhs) -{ - return quat(lhs.w * rhs.w - lhs.x * rhs.x - lhs.y * rhs.y - lhs.z * rhs.z, - lhs.w * rhs.x + lhs.x * rhs.w + lhs.y * rhs.z - lhs.z * rhs.y, - lhs.w * rhs.y - lhs.x * rhs.z + lhs.y * rhs.w + lhs.z * rhs.x, - lhs.w * rhs.z + lhs.x * rhs.y - lhs.y * rhs.x + lhs.z * rhs.w); -} - -quat quat::conjugate() const -{ - return quat(this->w, -this->x, -this->y, -this->z); -} - -quat quat::from_angleaxis(scalar angle, vec3 axis) -{ - scalar si = std::sin(angle / 2); - scalar co = std::cos(angle / 2); - return quat(co, si * axis[0], si * axis[1], si * axis[2]); -} - -std::ostream &operator<<(std::ostream &os, const quat &q) -{ - return os << "(" << q.w << ", " << q.x << ", " << q.y << ", " << q.z << ")"; -} diff --git a/src/quat.h b/src/quat.h deleted file mode 100644 index 5821f81..0000000 --- a/src/quat.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef QUAT_H -#define QUAT_H -#include "vec3.h" -#include <iostream> - -class quat { -public: - scalar w, x, y, z; -public: - quat(scalar w, scalar x, scalar y, scalar z); - quat(scalar x, scalar y, scalar z); - quat(scalar w, vec3 vec); - quat(vec3 vec); - quat(); - - operator vec3(); - - quat conjugate() const; - - static quat from_angleaxis(scalar angle, vec3 axis); -}; - -quat operator*(const quat &, const quat &); -std::ostream &operator<<(std::ostream &os, const quat &); -#endif diff --git a/src/vec3.cpp b/src/vec3.cpp deleted file mode 100644 index e894a01..0000000 --- a/src/vec3.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/* copy-pasted from: - * https://www.programming-techniques.com/2013/05/basic-euclidean-vector-operations-in-c.htm - */ - -#include <iostream> -#include <cmath> -#include "vec3.h" -using std::ostream; -vec3::vec3() { - v[0] = 0; - v[1] = 0; - v[2] = 0; -} -vec3::vec3(scalar x) { - v[0] = x; - v[1] = 0; - v[2] = 0; -} -vec3::vec3(scalar x, scalar y, scalar z) { - v[0] = x; - v[1] = y; - v[2] = z; -} -scalar &vec3::operator[](int index) { - return v[index]; -} -scalar vec3::operator[](int index) const { - return v[index]; -} -vec3 vec3::operator*(scalar scale) const { - return vec3(v[0] * scale, v[1] * scale, v[2] * scale); -} -vec3 vec3::operator/(scalar scale) const { - return vec3(v[0] / scale, v[1] / scale, v[2] / scale); -} -vec3 vec3::operator+(const vec3 &other) const{ - return vec3(v[0] + other.v[0], v[1] + other.v[1], v[2] + other.v[2]); -} -vec3 vec3::operator-(const vec3 &other) const { - return vec3(v[0] - other.v[0], v[1] - other.v[1], v[2] - other.v[2]); -} -vec3 vec3::operator-() const { - return vec3(-v[0], -v[1], -v[2]); -} -const vec3 &vec3::operator*=(scalar scale) { - v[0] *= scale; - v[1] *= scale; - v[2] *= scale; - return *this; -} -const vec3 &vec3::operator/=(scalar scale) { - v[0] /= scale; - v[1] /= scale; - v[2] /= scale; - return *this; -} -const vec3 &vec3::operator+=(const vec3 &other) { - v[0] += other.v[0]; - v[1] += other.v[1]; - v[2] += other.v[2]; - return *this; -} -const vec3 &vec3::operator-=(const vec3 &other) { - v[0] -= other.v[0]; - v[1] -= other.v[1]; - v[2] -= other.v[2]; - return *this; -} -scalar vec3::magnitude() const { - return sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); -} -scalar vec3::magnitudeSquared() const { - return v[0] * v[0] + v[1] * v[1] + v[2] * v[2]; -} -vec3 vec3::normalize() const { - scalar m = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); - return vec3(v[0] / m, v[1] / m, v[2] / m); -} -scalar vec3::dot(const vec3 &other) const { - return v[0] * other.v[0] + v[1] * other.v[1] + v[2] * other.v[2]; -} -vec3 vec3::cross(const vec3 &other) const { - return vec3(v[1] * other.v[2] - v[2] * other.v[1], - v[2] * other.v[0] - v[0] * other.v[2], - v[0] * other.v[1] - v[1] * other.v[0]); -} -std::ostream &operator<<(std::ostream &output, const vec3 &v) { - return output << v[0] << " " << v[1] << " " << v[2]; -} - -std::istream &operator>>(std::istream &input, vec3 &v) -{ - if(!(input >> v[0] >> v[1] >> v[2])) - throw "error parsing vector"; - return input; -} - -vec3 operator*(scalar scale, const vec3 &v) -{ - return v * scale; -} diff --git a/src/vec3.h b/src/vec3.h deleted file mode 100644 index df68104..0000000 --- a/src/vec3.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef VEC3_H -#define VEC3_H -#include <iostream> - -typedef float scalar; - -class vec3 { - public: - scalar v[3]; - public: - vec3(); - vec3(scalar x); - vec3(scalar x, scalar y, scalar z); - scalar &operator[](int index); - scalar operator[](int index) const; - vec3 operator*(scalar scale) const; - vec3 operator/(scalar scale) const; - vec3 operator+(const vec3 &other) const; - vec3 operator-(const vec3 &other) const; - vec3 operator-() const; - const vec3 &operator*=(scalar scale); - const vec3 &operator/=(scalar scale); - const vec3 &operator+=(const vec3 &other); - const vec3 &operator-=(const vec3 &other); - scalar magnitude() const; - scalar magnitudeSquared() const; - vec3 normalize() const; - scalar dot(const vec3 &other) const; - vec3 cross(const vec3 &other) const; -}; -vec3 operator*(scalar scale, const vec3 &v); - -std::ostream &operator<<(std::ostream &output, const vec3 &v); -std::istream &operator>>(std::istream &input, vec3 &v); - -#endif |