| 1234567891011121314151617181920212223242526272829303132 |
- //
- // common.cpp
- // math
- //
- // Created by Sam Jaffe on 8/20/16.
- //
- #include "common.hpp"
- #include "angle.hpp"
- #include "shape.hpp"
- #include "vector.hpp"
- namespace math {
- 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]
- };
- }
-
- quad rotate(vec2 const & c, quad const & q, radian r) {
- return {
- rotate(c, q.ll, r),
- rotate(c, q.lr, r),
- rotate(c, q.ur, r),
- rotate(c, q.ul, r)
- };
- }
- }
|