|
|
@@ -14,11 +14,14 @@
|
|
|
#include "game/math/shape.hpp"
|
|
|
|
|
|
namespace math {
|
|
|
+ vec2 rotate(vec2 const & point, radian r) {
|
|
|
+ vec2 vcos = point * static_cast<float>(cos(r));
|
|
|
+ vec2 vsin = point * static_cast<float>(sin(r));
|
|
|
+ return {{vcos[0] - vsin[1], vsin[0] - vcos[1]}};
|
|
|
+ }
|
|
|
+
|
|
|
vec2 rotate(vec2 const & c, vec2 const & p, radian r) {
|
|
|
- vec2 trans = p - c;
|
|
|
- vec2 vcos = trans * static_cast<float>(cos(r));
|
|
|
- vec2 vsin = trans * static_cast<float>(sin(r));
|
|
|
- return {{vcos[0] - vsin[1] + c[0], vsin[0] - vcos[1] + c[1]}};
|
|
|
+ return rotate(p - c, r) + c;
|
|
|
}
|
|
|
|
|
|
dim2::quad rotate(vec2 const & c, dim2::quad const & q, radian r) {
|