diff options
author | mattkae <mattkae@protonmail.com> | 2022-02-26 19:19:20 -0500 |
---|---|---|
committer | mattkae <mattkae@protonmail.com> | 2022-02-26 19:19:20 -0500 |
commit | 8d4c5116719825dce6222c494cd384fe1df775de (patch) | |
tree | 6172ecff01946ba38d668d73dd54426b7dd1b094 /shared_cpp/mathlib.cpp | |
parent | 8dc353535fda6133ff120933072e725375c42afb (diff) |
Actual working springy rectangle
Diffstat (limited to 'shared_cpp/mathlib.cpp')
-rw-r--r-- | shared_cpp/mathlib.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/shared_cpp/mathlib.cpp b/shared_cpp/mathlib.cpp index 17f9f84..2e92aa8 100644 --- a/shared_cpp/mathlib.cpp +++ b/shared_cpp/mathlib.cpp @@ -80,6 +80,16 @@ Vector2 Vector2::rotate(float angle) { }; } +Vector2 Vector2::rotateAround(float angle, const Vector2& other) { + Vector2 point = { x - other.x, y - other.y }; + point = { + point.x * cosf(angle) - point.y * sinf(angle), + point.x * sinf(angle) + point.y * cosf(angle) + }; + point = point + other; + return point; +} + void Vector2::printDebug(const char* name) { printf("%s=Vector2(%f, %f)\n", name, x, y); } |