import { Vector } from "./vector"
/**
* @function rotateVector
* @param {Vector} vector
* @param {number} angle
* @returns {Vector}
* @description Rotates a vector by an angle
*/
export function rotateVector(vector: Vector, angle: number): Vector {
let x = vector.x * Math.cos(angle) - vector.y * Math.sin(angle)
let y = vector.x * Math.sin(angle) + vector.y * Math.cos(angle)
return new Vector(x, y)
}
/**
* @function scaleVector
* @param {Vector} vector
* @param {number} scale
* @returns {Vector}
* @description Scales a vector by a factor
*/
export function scaleVector(vector: Vector, scale: number): Vector {
return new Vector(vector.x * scale, vector.y * scale)
}
/**
* @function translateVector
* @param {Vector} vector
* @param {Vector} translation
* @returns {Vector}
* @description Translates a vector by a vector
*/
export function translateVector(vector: Vector, translation: Vector): Vector {
return new Vector(vector.x + translation.x, vector.y + translation.y)
}