From a8d07a790395e14fe7aedd3ba638db466f9c0842 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Fri, 1 Mar 2024 18:56:58 -0700 Subject: boundingbox + draw player --- src/engine/utils/rotateVector.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/engine/utils/rotateVector.ts (limited to 'src/engine/utils/rotateVector.ts') diff --git a/src/engine/utils/rotateVector.ts b/src/engine/utils/rotateVector.ts new file mode 100644 index 0000000..82bb54d --- /dev/null +++ b/src/engine/utils/rotateVector.ts @@ -0,0 +1,15 @@ +import type { Coord2D } from "../interfaces"; + +/** + * ([[cos(θ), -sin(θ),]) ([x,) + * ([sin(θ), cos(θ)] ]) ( y]) + */ +export const rotateVector = (vector: Coord2D, theta: number): Coord2D => { + const rads = (theta * Math.PI) / 180; + const [cos, sin] = [Math.cos(rads), Math.sin(rads)]; + + return { + x: vector.x * cos - vector.y * sin, + y: vector.x * sin + vector.y * cos, + }; +}; -- cgit v1.2.3-70-g09d2