diff options
-rw-r--r-- | include/core/Vector2.hpp | 4 | ||||
-rw-r--r-- | include/core/Vector3.hpp | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/include/core/Vector2.hpp b/include/core/Vector2.hpp index 2a4c902..b3ef032 100644 --- a/include/core/Vector2.hpp +++ b/include/core/Vector2.hpp @@ -193,8 +193,8 @@ struct Vector2 { return -reflect(p_normal); } - inline Vector2 reflect(const Vector2 &p_vec) const { - return p_vec - *this * this->dot(p_vec) * 2.0; + inline Vector2 reflect(const Vector2 &p_normal) const { + return -(*this - p_normal * this->dot(p_normal) * 2.0); } inline real_t angle() const { diff --git a/include/core/Vector3.hpp b/include/core/Vector3.hpp index bbe8a95..0bfa2d9 100644 --- a/include/core/Vector3.hpp +++ b/include/core/Vector3.hpp @@ -251,8 +251,8 @@ struct Vector3 { return v; } - inline Vector3 reflect(const Vector3 &by) const { - return by - *this * this->dot(by) * 2.f; + inline Vector3 reflect(const Vector3 &p_normal) const { + return -(*this - p_normal * this->dot(p_normal) * 2.0); } inline Vector3 rotated(const Vector3 &axis, const real_t phi) const { |