diff --git a/libs/geom/include/psemek/geom/vector.hpp b/libs/geom/include/psemek/geom/vector.hpp index 516730a3..672ecda5 100644 --- a/libs/geom/include/psemek/geom/vector.hpp +++ b/libs/geom/include/psemek/geom/vector.hpp @@ -233,8 +233,15 @@ namespace psemek::geom ; } + // TODO: generic implementation (shares internals with det) template - vector cross(vector const & v0, vector const & v1) + vector ort(vector const & v0) + { + return {-v0[1], v0[0]}; + } + + template + vector ort(vector const & v0, vector const & v1) { return vector{ v0[1] * v1[2] - v0[2] * v1[1], @@ -243,6 +250,12 @@ namespace psemek::geom }; } + template + vector cross(vector const & v0, vector const & v1) + { + return ort(v0, v1); + } + template T lerp(T const & x0, T const & x1, T const & t) {