From f9be2ace4ca871d7ad68c1a4dbdcff87511d838b Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Thu, 30 May 2019 23:03:58 -0400 Subject: Add some useful stuff --- src/vec3.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/vec3.cpp') diff --git a/src/vec3.cpp b/src/vec3.cpp index bf0b021..c03bdd9 100644 --- a/src/vec3.cpp +++ b/src/vec3.cpp @@ -102,4 +102,19 @@ namespace fml{ { return v * scale; } + + vec3 vec3::rotateby(const quat &rotquat) const + { + return rotquat * (*this) * rotquat.conjugate(); + } + +#define EPS 1e-5 +#define ISZERO(a) ((fabs((a)) < EPS)) + + vec3 vec3::any_unit_normal(const vec3 &v) + { + if(ISZERO(v[0]) && ISZERO(v[1])) + return vec3(1, 0, 0); + return vec3(-v[1], v[0], 0).normalize(); + } } -- cgit v1.1