velage/engine/vector.cpp
miri 792532a1bd at least there's a window
):

oh and i removed the mesh stuff so now we're using openmesh
2023-09-09 19:13:12 +02:00

41 lines
No EOL
953 B
C++

#include "vector.hpp"
#include <cmath>
#include <math.h>
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);
}