UNPKG

@fimbul-works/vec

Version:

A comprehensive TypeScript vector math library providing 2D, 3D, and 4D vector operations with a focus on performance and type safety.

13 lines (12 loc) 476 B
import { magnitude2D } from "./magnitude-2d.js"; /** * Sets the magnitude (length) of a 2D vector, maintaining its direction. * @param {ArrayVector2D} xy - Vector as `[x, y]` * @param {number} newMag - New magnitude * @param {number} [m] - Optional current magnitude (default: `magnitude2D(xy)`) * @returns {ArrayVector2D} The adjusted vector */ export const setMagnitude2D = (xy, newMag, m = magnitude2D(xy)) => [ (xy[0] / m) * newMag, (xy[1] / m) * newMag, ];