@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) • 535 B
JavaScript
/**
* Calculates the Minkowski distance between two 4D vectors.
* @param {ArrayVector4D} xyzw1 - First vector as `[x, y, z, w]`
* @param {ArrayVector4D} xyzw2 - Second vector as `[x, y, z, w]`
* @param {number} p - The order of the Minkowski distance
* @returns {number} The Minkowski distance
*/
export const distanceMinkowski4D = (xyzw1, xyzw2, p) => (Math.abs(xyzw1[0] - xyzw2[0]) ** p +
Math.abs(xyzw1[1] - xyzw2[1]) ** p +
Math.abs(xyzw1[2] - xyzw2[2]) ** p +
Math.abs(xyzw1[3] - xyzw2[3]) ** p) **
(1 / p);