#include "vector.hpp" #include #include float vector3f::length() { return sqrtf(pow(x, 2) + pow(y, 2) + pow(z, 2)); } void vector3f::normalise() { float len = length(); x /= len; y /= len; z /= len; } vector3f vector3f::operator*(vector3f o) { return vector3f(x * o.x, y * o.y, z * o.z); } vector3f vector3f::operator-(vector3f o) { return vector3f(x - o.x, y - o.y, z - o.z); } vector3f vector3f::operator*(float o) { return vector3f(x * o, y * o, z * o); } vector3f vector3f::operator*(double o) { return vector3f(x * o, y * o, z * o); } vector3f vector3f::operator-(double o) { return vector3f(x - o, y - o, z - o); } vector3f::vector3f(float x, float y, float z) { this->x = x; this->y = y; this->z = z; } vector3f::vector3f(){} vector3f vector3f::lerp(vector3f b, float t) { float rx = x + (b.x - x) * t; float ry = y + (b.y - y) * t; float rz = z + (b.z - z) * t; return vector3f(rx, ry, rz); }