From 8780a2d7e50b4fb4eddf8f76639378a7eb9d4568 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sun, 25 Apr 2021 14:39:25 +0300 Subject: [PATCH] Add angle(vector,vector) --- libs/geom/include/psemek/geom/vector.hpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libs/geom/include/psemek/geom/vector.hpp b/libs/geom/include/psemek/geom/vector.hpp index ce12dac5..aaf0b282 100644 --- a/libs/geom/include/psemek/geom/vector.hpp +++ b/libs/geom/include/psemek/geom/vector.hpp @@ -314,6 +314,12 @@ namespace psemek::geom return std::atan2(v[1], v[0]); } + template + T angle(vector const & v0, vector const & v1) + { + return std::acos(std::max(T{-1}, std::min(T{1}, dot(v0, v1)))); + } + template vector pointwise_mult(vector const & v0, vector const & v1) {