@fimbul-works/vec 1.0.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +208 -85
- package/dist/cjs/2d/add-2d.d.ts +8 -0
- package/dist/cjs/2d/add-2d.js +11 -0
- package/dist/cjs/2d/angle-between-2d.d.ts +8 -0
- package/dist/cjs/2d/angle-between-2d.js +11 -0
- package/dist/cjs/2d/angle-x-2d.d.ts +7 -0
- package/dist/cjs/2d/angle-x-2d.js +10 -0
- package/dist/cjs/2d/angle-y-2d.d.ts +7 -0
- package/dist/cjs/2d/angle-y-2d.js +10 -0
- package/dist/cjs/2d/clamp-2d.d.ts +10 -0
- package/dist/cjs/2d/clamp-2d.js +14 -0
- package/dist/cjs/2d/clone-2d.d.ts +7 -0
- package/dist/cjs/2d/clone-2d.js +10 -0
- package/dist/cjs/2d/cross-2d.d.ts +8 -0
- package/dist/cjs/2d/cross-2d.js +11 -0
- package/dist/cjs/2d/distance-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-2d.js +11 -0
- package/dist/cjs/2d/distance-chebyshev-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-chebyshev-2d.js +15 -0
- package/dist/cjs/2d/distance-manhattan-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-manhattan-2d.js +11 -0
- package/dist/cjs/2d/distance-minkowski-2d.d.ts +9 -0
- package/dist/cjs/2d/distance-minkowski-2d.js +12 -0
- package/dist/cjs/2d/distance-sq-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-sq-2d.js +11 -0
- package/dist/cjs/2d/divide-2d.d.ts +8 -0
- package/dist/cjs/2d/divide-2d.js +14 -0
- package/dist/cjs/2d/dot-2d.d.ts +8 -0
- package/dist/cjs/2d/dot-2d.js +11 -0
- package/dist/cjs/2d/from-angle-x-2d.d.ts +8 -0
- package/dist/cjs/2d/from-angle-x-2d.js +14 -0
- package/dist/cjs/2d/from-angle-y-2d.d.ts +8 -0
- package/dist/cjs/2d/from-angle-y-2d.js +14 -0
- package/dist/cjs/2d/from-object-2d.d.ts +10 -0
- package/dist/cjs/2d/from-object-2d.js +10 -0
- package/dist/cjs/2d/from-polar-coords-2d.d.ts +8 -0
- package/dist/cjs/2d/from-polar-coords-2d.js +11 -0
- package/dist/cjs/2d/immutable-2d.d.ts +7 -0
- package/dist/cjs/2d/immutable-2d.js +10 -0
- package/dist/cjs/2d/index.d.ts +47 -0
- package/dist/cjs/2d/index.js +63 -0
- package/dist/cjs/2d/is-equal-2d.d.ts +8 -0
- package/dist/cjs/2d/is-equal-2d.js +11 -0
- package/dist/cjs/2d/is-equal-approx-2d.d.ts +9 -0
- package/dist/cjs/2d/is-equal-approx-2d.js +12 -0
- package/dist/cjs/2d/is-infinite-2d.d.ts +7 -0
- package/dist/cjs/2d/is-infinite-2d.js +13 -0
- package/dist/cjs/2d/is-nan-2d.d.ts +7 -0
- package/dist/cjs/2d/is-nan-2d.js +10 -0
- package/dist/cjs/2d/is-opposite-2d.d.ts +8 -0
- package/dist/cjs/2d/is-opposite-2d.js +11 -0
- package/dist/cjs/2d/is-zero-2d.d.ts +7 -0
- package/dist/cjs/2d/is-zero-2d.js +10 -0
- package/dist/cjs/2d/lerp-2d.d.ts +9 -0
- package/dist/cjs/2d/lerp-2d.js +15 -0
- package/dist/cjs/2d/limit-max-2d.d.ts +9 -0
- package/dist/cjs/2d/limit-max-2d.js +13 -0
- package/dist/cjs/2d/limit-min-2d.d.ts +9 -0
- package/dist/cjs/2d/limit-min-2d.js +13 -0
- package/dist/cjs/2d/look-at-2d.d.ts +10 -0
- package/dist/cjs/2d/look-at-2d.js +14 -0
- package/dist/cjs/2d/magnitude-2d.d.ts +7 -0
- package/dist/cjs/2d/magnitude-2d.js +10 -0
- package/dist/cjs/2d/magnitude-sq-2d.d.ts +7 -0
- package/dist/cjs/2d/magnitude-sq-2d.js +10 -0
- package/dist/cjs/2d/multiply-2d.d.ts +8 -0
- package/dist/cjs/2d/multiply-2d.js +11 -0
- package/dist/cjs/2d/negate-2d.d.ts +7 -0
- package/dist/cjs/2d/negate-2d.js +10 -0
- package/dist/cjs/2d/normalize-2d.d.ts +8 -0
- package/dist/cjs/2d/normalize-2d.js +12 -0
- package/dist/cjs/2d/one-2d.d.ts +6 -0
- package/dist/cjs/2d/one-2d.js +9 -0
- package/dist/cjs/2d/project-2d.d.ts +10 -0
- package/dist/cjs/2d/project-2d.js +17 -0
- package/dist/cjs/2d/random-2d.d.ts +7 -0
- package/dist/cjs/2d/random-2d.js +13 -0
- package/dist/cjs/2d/reflect-2d.d.ts +9 -0
- package/dist/cjs/2d/reflect-2d.js +16 -0
- package/dist/cjs/2d/rotate-2d.d.ts +9 -0
- package/dist/cjs/2d/rotate-2d.js +27 -0
- package/dist/cjs/2d/set-magnitude-2d.d.ts +9 -0
- package/dist/cjs/2d/set-magnitude-2d.js +16 -0
- package/dist/cjs/2d/subtract-2d.d.ts +8 -0
- package/dist/cjs/2d/subtract-2d.js +11 -0
- package/dist/cjs/2d/types.d.ts +4 -0
- package/dist/cjs/2d/types.js +2 -0
- package/dist/cjs/2d/zero-2d.d.ts +6 -0
- package/dist/cjs/2d/zero-2d.js +9 -0
- package/dist/cjs/3d/add-3d.d.ts +8 -0
- package/dist/cjs/3d/add-3d.js +15 -0
- package/dist/cjs/3d/angle-between-3d.d.ts +10 -0
- package/dist/cjs/3d/angle-between-3d.js +14 -0
- package/dist/cjs/3d/angle-x-3d.d.ts +7 -0
- package/dist/cjs/3d/angle-x-3d.js +10 -0
- package/dist/cjs/3d/angle-y-3d.d.ts +7 -0
- package/dist/cjs/3d/angle-y-3d.js +10 -0
- package/dist/cjs/3d/angle-z-3d.d.ts +7 -0
- package/dist/cjs/3d/angle-z-3d.js +10 -0
- package/dist/cjs/3d/clamp-3d.d.ts +10 -0
- package/dist/cjs/3d/clamp-3d.js +18 -0
- package/dist/cjs/3d/clone-3d.d.ts +7 -0
- package/dist/cjs/3d/clone-3d.js +10 -0
- package/dist/cjs/3d/cross-3d.d.ts +8 -0
- package/dist/cjs/3d/cross-3d.js +15 -0
- package/dist/cjs/3d/distance-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-3d.js +11 -0
- package/dist/cjs/3d/distance-chebyshev-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-chebyshev-3d.js +16 -0
- package/dist/cjs/3d/distance-manhattan-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-manhattan-3d.js +11 -0
- package/dist/cjs/3d/distance-minkowski-3d.d.ts +9 -0
- package/dist/cjs/3d/distance-minkowski-3d.js +12 -0
- package/dist/cjs/3d/distance-sq-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-sq-3d.js +11 -0
- package/dist/cjs/3d/divide-3d.d.ts +8 -0
- package/dist/cjs/3d/divide-3d.js +15 -0
- package/dist/cjs/3d/dot-3d.d.ts +8 -0
- package/dist/cjs/3d/dot-3d.js +11 -0
- package/dist/cjs/3d/from-cylindrical-coords-3d.d.ts +9 -0
- package/dist/cjs/3d/from-cylindrical-coords-3d.js +16 -0
- package/dist/cjs/3d/from-object-3d.d.ts +11 -0
- package/dist/cjs/3d/from-object-3d.js +10 -0
- package/dist/cjs/3d/from-spherical-coords-3d.d.ts +9 -0
- package/dist/cjs/3d/from-spherical-coords-3d.js +16 -0
- package/dist/cjs/3d/immutable-3d.d.ts +7 -0
- package/dist/cjs/3d/immutable-3d.js +10 -0
- package/dist/cjs/3d/index.d.ts +49 -0
- package/dist/cjs/3d/index.js +65 -0
- package/dist/cjs/3d/is-equal-3d.d.ts +8 -0
- package/dist/cjs/3d/is-equal-3d.js +11 -0
- package/dist/cjs/3d/is-equal-approx-3d.d.ts +9 -0
- package/dist/cjs/3d/is-equal-approx-3d.js +14 -0
- package/dist/cjs/3d/is-infinite-3d.d.ts +7 -0
- package/dist/cjs/3d/is-infinite-3d.js +15 -0
- package/dist/cjs/3d/is-nan-3d.d.ts +7 -0
- package/dist/cjs/3d/is-nan-3d.js +10 -0
- package/dist/cjs/3d/is-opposite-3d.d.ts +8 -0
- package/dist/cjs/3d/is-opposite-3d.js +11 -0
- package/dist/cjs/3d/is-zero-3d.d.ts +7 -0
- package/dist/cjs/3d/is-zero-3d.js +10 -0
- package/dist/cjs/3d/lerp-3d.d.ts +9 -0
- package/dist/cjs/3d/lerp-3d.js +16 -0
- package/dist/cjs/3d/limit-max-3d.d.ts +9 -0
- package/dist/cjs/3d/limit-max-3d.js +13 -0
- package/dist/cjs/3d/limit-min-3d.d.ts +9 -0
- package/dist/cjs/3d/limit-min-3d.js +13 -0
- package/dist/cjs/3d/look-at-3d.d.ts +10 -0
- package/dist/cjs/3d/look-at-3d.js +14 -0
- package/dist/cjs/3d/magnitude-3d.d.ts +7 -0
- package/dist/cjs/3d/magnitude-3d.js +10 -0
- package/dist/cjs/3d/magnitude-sq-3d.d.ts +7 -0
- package/dist/cjs/3d/magnitude-sq-3d.js +10 -0
- package/dist/cjs/3d/multiply-3d.d.ts +8 -0
- package/dist/cjs/3d/multiply-3d.js +15 -0
- package/dist/cjs/3d/negate-3d.d.ts +7 -0
- package/dist/cjs/3d/negate-3d.js +10 -0
- package/dist/cjs/3d/normalize-3d.d.ts +8 -0
- package/dist/cjs/3d/normalize-3d.js +12 -0
- package/dist/cjs/3d/one-3d.d.ts +6 -0
- package/dist/cjs/3d/one-3d.js +9 -0
- package/dist/cjs/3d/project-3d.d.ts +10 -0
- package/dist/cjs/3d/project-3d.js +17 -0
- package/dist/cjs/3d/random-3d.d.ts +7 -0
- package/dist/cjs/3d/random-3d.js +11 -0
- package/dist/cjs/3d/reflect-3d.d.ts +9 -0
- package/dist/cjs/3d/reflect-3d.js +16 -0
- package/dist/cjs/3d/rotate-x-3d.d.ts +9 -0
- package/dist/cjs/3d/rotate-x-3d.js +26 -0
- package/dist/cjs/3d/rotate-y-3d.d.ts +9 -0
- package/dist/cjs/3d/rotate-y-3d.js +26 -0
- package/dist/cjs/3d/rotate-z-3d.d.ts +9 -0
- package/dist/cjs/3d/rotate-z-3d.js +26 -0
- package/dist/cjs/3d/set-magnitude-3d.d.ts +9 -0
- package/dist/cjs/3d/set-magnitude-3d.js +13 -0
- package/dist/cjs/3d/subtract-3d.d.ts +8 -0
- package/dist/cjs/3d/subtract-3d.js +15 -0
- package/dist/cjs/3d/types.d.ts +4 -0
- package/dist/cjs/3d/types.js +2 -0
- package/dist/cjs/3d/zero-3d.d.ts +6 -0
- package/dist/cjs/3d/zero-3d.js +9 -0
- package/dist/cjs/4d/add-4d.d.ts +8 -0
- package/dist/cjs/4d/add-4d.js +16 -0
- package/dist/cjs/4d/angle-between-4d.d.ts +10 -0
- package/dist/cjs/4d/angle-between-4d.js +15 -0
- package/dist/cjs/4d/angle-w-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-w-4d.js +10 -0
- package/dist/cjs/4d/angle-x-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-x-4d.js +10 -0
- package/dist/cjs/4d/angle-y-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-y-4d.js +10 -0
- package/dist/cjs/4d/angle-z-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-z-4d.js +10 -0
- package/dist/cjs/4d/clamp-4d.d.ts +10 -0
- package/dist/cjs/4d/clamp-4d.js +18 -0
- package/dist/cjs/4d/clone-4d.d.ts +7 -0
- package/dist/cjs/4d/clone-4d.js +10 -0
- package/dist/cjs/4d/distance-4d.d.ts +8 -0
- package/dist/cjs/4d/distance-4d.js +11 -0
- package/dist/cjs/4d/distance-chebyshev-4d.d.ts +8 -0
- package/dist/cjs/4d/distance-chebyshev-4d.js +23 -0
- package/dist/cjs/4d/distance-manhattan-4d.d.ts +8 -0
- package/dist/cjs/4d/distance-manhattan-4d.js +14 -0
- package/dist/cjs/4d/distance-minkowski-4d.d.ts +9 -0
- package/dist/cjs/4d/distance-minkowski-4d.js +16 -0
- package/dist/cjs/4d/distance-sq-4d.d.ts +9 -0
- package/dist/cjs/4d/distance-sq-4d.js +12 -0
- package/dist/cjs/4d/divide-4d.d.ts +8 -0
- package/dist/cjs/4d/divide-4d.js +16 -0
- package/dist/cjs/4d/dot-4d.d.ts +8 -0
- package/dist/cjs/4d/dot-4d.js +11 -0
- package/dist/cjs/4d/from-object-4d.d.ts +12 -0
- package/dist/cjs/4d/from-object-4d.js +15 -0
- package/dist/cjs/4d/immutable-4d.d.ts +7 -0
- package/dist/cjs/4d/immutable-4d.js +10 -0
- package/dist/cjs/4d/index.d.ts +44 -0
- package/dist/cjs/4d/index.js +60 -0
- package/dist/cjs/4d/is-equal-4d.d.ts +8 -0
- package/dist/cjs/4d/is-equal-4d.js +11 -0
- package/dist/cjs/4d/is-equal-approx-4d.d.ts +9 -0
- package/dist/cjs/4d/is-equal-approx-4d.js +15 -0
- package/dist/cjs/4d/is-infinite-4d.d.ts +7 -0
- package/dist/cjs/4d/is-infinite-4d.js +17 -0
- package/dist/cjs/4d/is-nan-4d.d.ts +7 -0
- package/dist/cjs/4d/is-nan-4d.js +10 -0
- package/dist/cjs/4d/is-opposite-4d.d.ts +8 -0
- package/dist/cjs/4d/is-opposite-4d.js +11 -0
- package/dist/cjs/4d/is-zero-4d.d.ts +7 -0
- package/dist/cjs/4d/is-zero-4d.js +10 -0
- package/dist/cjs/4d/lerp-4d.d.ts +9 -0
- package/dist/cjs/4d/lerp-4d.js +17 -0
- package/dist/cjs/4d/limit-max-4d.d.ts +9 -0
- package/dist/cjs/4d/limit-max-4d.js +13 -0
- package/dist/cjs/4d/limit-min-4d.d.ts +9 -0
- package/dist/cjs/4d/limit-min-4d.js +13 -0
- package/dist/cjs/4d/look-at-4d.d.ts +10 -0
- package/dist/cjs/4d/look-at-4d.js +14 -0
- package/dist/cjs/4d/magnitude-4d.d.ts +7 -0
- package/dist/cjs/4d/magnitude-4d.js +10 -0
- package/dist/cjs/4d/magnitude-sq-4d.d.ts +8 -0
- package/dist/cjs/4d/magnitude-sq-4d.js +11 -0
- package/dist/cjs/4d/multiply-4d.d.ts +8 -0
- package/dist/cjs/4d/multiply-4d.js +16 -0
- package/dist/cjs/4d/negate-4d.d.ts +7 -0
- package/dist/cjs/4d/negate-4d.js +10 -0
- package/dist/cjs/4d/normalize-4d.d.ts +8 -0
- package/dist/cjs/4d/normalize-4d.js +17 -0
- package/dist/cjs/4d/one-4d.d.ts +6 -0
- package/dist/cjs/4d/one-4d.js +9 -0
- package/dist/cjs/4d/project-4d.d.ts +10 -0
- package/dist/cjs/4d/project-4d.js +18 -0
- package/dist/cjs/4d/random-4d.d.ts +7 -0
- package/dist/cjs/4d/random-4d.js +21 -0
- package/dist/cjs/4d/reflect-4d.d.ts +9 -0
- package/dist/cjs/4d/reflect-4d.js +21 -0
- package/dist/cjs/4d/set-magnitude-4d.d.ts +9 -0
- package/dist/cjs/4d/set-magnitude-4d.js +18 -0
- package/dist/cjs/4d/subtract-4d.d.ts +8 -0
- package/dist/cjs/4d/subtract-4d.js +16 -0
- package/dist/cjs/4d/types.d.ts +4 -0
- package/dist/cjs/4d/types.js +2 -0
- package/dist/cjs/4d/zero-4d.d.ts +6 -0
- package/dist/cjs/4d/zero-4d.js +9 -0
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.js +23 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/slerp.d.ts +21 -0
- package/dist/cjs/slerp.js +28 -0
- package/dist/{vec2.d.ts → cjs/vec2.d.ts} +10 -4
- package/dist/cjs/vec2.js +889 -0
- package/dist/{vec3.d.ts → cjs/vec3.d.ts} +159 -100
- package/dist/cjs/vec3.js +1045 -0
- package/dist/cjs/vec4.d.ts +602 -0
- package/dist/cjs/vec4.js +1101 -0
- package/dist/esm/2d/add-2d.d.ts +8 -0
- package/dist/esm/2d/add-2d.js +7 -0
- package/dist/esm/2d/angle-between-2d.d.ts +8 -0
- package/dist/esm/2d/angle-between-2d.js +7 -0
- package/dist/esm/2d/angle-x-2d.d.ts +7 -0
- package/dist/esm/2d/angle-x-2d.js +6 -0
- package/dist/esm/2d/angle-y-2d.d.ts +7 -0
- package/dist/esm/2d/angle-y-2d.js +6 -0
- package/dist/esm/2d/clamp-2d.d.ts +10 -0
- package/dist/esm/2d/clamp-2d.js +10 -0
- package/dist/esm/2d/clone-2d.d.ts +7 -0
- package/dist/esm/2d/clone-2d.js +6 -0
- package/dist/esm/2d/cross-2d.d.ts +8 -0
- package/dist/esm/2d/cross-2d.js +7 -0
- package/dist/esm/2d/distance-2d.d.ts +8 -0
- package/dist/esm/2d/distance-2d.js +7 -0
- package/dist/esm/2d/distance-chebyshev-2d.d.ts +8 -0
- package/dist/esm/2d/distance-chebyshev-2d.js +11 -0
- package/dist/esm/2d/distance-manhattan-2d.d.ts +8 -0
- package/dist/esm/2d/distance-manhattan-2d.js +7 -0
- package/dist/esm/2d/distance-minkowski-2d.d.ts +9 -0
- package/dist/esm/2d/distance-minkowski-2d.js +8 -0
- package/dist/esm/2d/distance-sq-2d.d.ts +8 -0
- package/dist/esm/2d/distance-sq-2d.js +7 -0
- package/dist/esm/2d/divide-2d.d.ts +8 -0
- package/dist/esm/2d/divide-2d.js +10 -0
- package/dist/esm/2d/dot-2d.d.ts +8 -0
- package/dist/esm/2d/dot-2d.js +7 -0
- package/dist/esm/2d/from-angle-x-2d.d.ts +8 -0
- package/dist/esm/2d/from-angle-x-2d.js +10 -0
- package/dist/esm/2d/from-angle-y-2d.d.ts +8 -0
- package/dist/esm/2d/from-angle-y-2d.js +10 -0
- package/dist/esm/2d/from-object-2d.d.ts +10 -0
- package/dist/esm/2d/from-object-2d.js +6 -0
- package/dist/esm/2d/from-polar-coords-2d.d.ts +8 -0
- package/dist/esm/2d/from-polar-coords-2d.js +7 -0
- package/dist/esm/2d/immutable-2d.d.ts +7 -0
- package/dist/esm/2d/immutable-2d.js +6 -0
- package/dist/esm/2d/index.d.ts +47 -0
- package/dist/esm/2d/index.js +47 -0
- package/dist/esm/2d/is-equal-2d.d.ts +8 -0
- package/dist/esm/2d/is-equal-2d.js +7 -0
- package/dist/esm/2d/is-equal-approx-2d.d.ts +9 -0
- package/dist/esm/2d/is-equal-approx-2d.js +8 -0
- package/dist/esm/2d/is-infinite-2d.d.ts +7 -0
- package/dist/esm/2d/is-infinite-2d.js +9 -0
- package/dist/esm/2d/is-nan-2d.d.ts +7 -0
- package/dist/esm/2d/is-nan-2d.js +6 -0
- package/dist/esm/2d/is-opposite-2d.d.ts +8 -0
- package/dist/esm/2d/is-opposite-2d.js +7 -0
- package/dist/esm/2d/is-zero-2d.d.ts +7 -0
- package/dist/esm/2d/is-zero-2d.js +6 -0
- package/dist/esm/2d/lerp-2d.d.ts +9 -0
- package/dist/esm/2d/lerp-2d.js +11 -0
- package/dist/esm/2d/limit-max-2d.d.ts +9 -0
- package/dist/esm/2d/limit-max-2d.js +9 -0
- package/dist/esm/2d/limit-min-2d.d.ts +9 -0
- package/dist/esm/2d/limit-min-2d.js +9 -0
- package/dist/esm/2d/look-at-2d.d.ts +10 -0
- package/dist/esm/2d/look-at-2d.js +10 -0
- package/dist/esm/2d/magnitude-2d.d.ts +7 -0
- package/dist/esm/2d/magnitude-2d.js +6 -0
- package/dist/esm/2d/magnitude-sq-2d.d.ts +7 -0
- package/dist/esm/2d/magnitude-sq-2d.js +6 -0
- package/dist/esm/2d/multiply-2d.d.ts +8 -0
- package/dist/esm/2d/multiply-2d.js +7 -0
- package/dist/esm/2d/negate-2d.d.ts +7 -0
- package/dist/esm/2d/negate-2d.js +6 -0
- package/dist/esm/2d/normalize-2d.d.ts +8 -0
- package/dist/esm/2d/normalize-2d.js +8 -0
- package/dist/esm/2d/one-2d.d.ts +6 -0
- package/dist/esm/2d/one-2d.js +5 -0
- package/dist/esm/2d/project-2d.d.ts +10 -0
- package/dist/esm/2d/project-2d.js +13 -0
- package/dist/esm/2d/random-2d.d.ts +7 -0
- package/dist/esm/2d/random-2d.js +9 -0
- package/dist/esm/2d/reflect-2d.d.ts +9 -0
- package/dist/esm/2d/reflect-2d.js +12 -0
- package/dist/esm/2d/rotate-2d.d.ts +9 -0
- package/dist/esm/2d/rotate-2d.js +23 -0
- package/dist/esm/2d/set-magnitude-2d.d.ts +9 -0
- package/dist/esm/2d/set-magnitude-2d.js +12 -0
- package/dist/esm/2d/subtract-2d.d.ts +8 -0
- package/dist/esm/2d/subtract-2d.js +7 -0
- package/dist/esm/2d/types.d.ts +4 -0
- package/dist/esm/2d/types.js +1 -0
- package/dist/esm/2d/zero-2d.d.ts +6 -0
- package/dist/esm/2d/zero-2d.js +5 -0
- package/dist/esm/3d/add-3d.d.ts +8 -0
- package/dist/esm/3d/add-3d.js +11 -0
- package/dist/esm/3d/angle-between-3d.d.ts +10 -0
- package/dist/esm/3d/angle-between-3d.js +10 -0
- package/dist/esm/3d/angle-x-3d.d.ts +7 -0
- package/dist/esm/3d/angle-x-3d.js +6 -0
- package/dist/esm/3d/angle-y-3d.d.ts +7 -0
- package/dist/esm/3d/angle-y-3d.js +6 -0
- package/dist/esm/3d/angle-z-3d.d.ts +7 -0
- package/dist/esm/3d/angle-z-3d.js +6 -0
- package/dist/esm/3d/clamp-3d.d.ts +10 -0
- package/dist/esm/3d/clamp-3d.js +14 -0
- package/dist/esm/3d/clone-3d.d.ts +7 -0
- package/dist/esm/3d/clone-3d.js +6 -0
- package/dist/esm/3d/cross-3d.d.ts +8 -0
- package/dist/esm/3d/cross-3d.js +11 -0
- package/dist/esm/3d/distance-3d.d.ts +8 -0
- package/dist/esm/3d/distance-3d.js +7 -0
- package/dist/esm/3d/distance-chebyshev-3d.d.ts +8 -0
- package/dist/esm/3d/distance-chebyshev-3d.js +12 -0
- package/dist/esm/3d/distance-manhattan-3d.d.ts +8 -0
- package/dist/esm/3d/distance-manhattan-3d.js +7 -0
- package/dist/esm/3d/distance-minkowski-3d.d.ts +9 -0
- package/dist/esm/3d/distance-minkowski-3d.js +8 -0
- package/dist/esm/3d/distance-sq-3d.d.ts +8 -0
- package/dist/esm/3d/distance-sq-3d.js +7 -0
- package/dist/esm/3d/divide-3d.d.ts +8 -0
- package/dist/esm/3d/divide-3d.js +11 -0
- package/dist/esm/3d/dot-3d.d.ts +8 -0
- package/dist/esm/3d/dot-3d.js +7 -0
- package/dist/esm/3d/from-cylindrical-coords-3d.d.ts +9 -0
- package/dist/esm/3d/from-cylindrical-coords-3d.js +12 -0
- package/dist/esm/3d/from-object-3d.d.ts +11 -0
- package/dist/esm/3d/from-object-3d.js +6 -0
- package/dist/esm/3d/from-spherical-coords-3d.d.ts +9 -0
- package/dist/esm/3d/from-spherical-coords-3d.js +12 -0
- package/dist/esm/3d/immutable-3d.d.ts +7 -0
- package/dist/esm/3d/immutable-3d.js +6 -0
- package/dist/esm/3d/index.d.ts +49 -0
- package/dist/esm/3d/index.js +49 -0
- package/dist/esm/3d/is-equal-3d.d.ts +8 -0
- package/dist/esm/3d/is-equal-3d.js +7 -0
- package/dist/esm/3d/is-equal-approx-3d.d.ts +9 -0
- package/dist/esm/3d/is-equal-approx-3d.js +10 -0
- package/dist/esm/3d/is-infinite-3d.d.ts +7 -0
- package/dist/esm/3d/is-infinite-3d.js +11 -0
- package/dist/esm/3d/is-nan-3d.d.ts +7 -0
- package/dist/esm/3d/is-nan-3d.js +6 -0
- package/dist/esm/3d/is-opposite-3d.d.ts +8 -0
- package/dist/esm/3d/is-opposite-3d.js +7 -0
- package/dist/esm/3d/is-zero-3d.d.ts +7 -0
- package/dist/esm/3d/is-zero-3d.js +6 -0
- package/dist/esm/3d/lerp-3d.d.ts +9 -0
- package/dist/esm/3d/lerp-3d.js +12 -0
- package/dist/esm/3d/limit-max-3d.d.ts +9 -0
- package/dist/esm/3d/limit-max-3d.js +9 -0
- package/dist/esm/3d/limit-min-3d.d.ts +9 -0
- package/dist/esm/3d/limit-min-3d.js +9 -0
- package/dist/esm/3d/look-at-3d.d.ts +10 -0
- package/dist/esm/3d/look-at-3d.js +10 -0
- package/dist/esm/3d/magnitude-3d.d.ts +7 -0
- package/dist/esm/3d/magnitude-3d.js +6 -0
- package/dist/esm/3d/magnitude-sq-3d.d.ts +7 -0
- package/dist/esm/3d/magnitude-sq-3d.js +6 -0
- package/dist/esm/3d/multiply-3d.d.ts +8 -0
- package/dist/esm/3d/multiply-3d.js +11 -0
- package/dist/esm/3d/negate-3d.d.ts +7 -0
- package/dist/esm/3d/negate-3d.js +6 -0
- package/dist/esm/3d/normalize-3d.d.ts +8 -0
- package/dist/esm/3d/normalize-3d.js +8 -0
- package/dist/esm/3d/one-3d.d.ts +6 -0
- package/dist/esm/3d/one-3d.js +5 -0
- package/dist/esm/3d/project-3d.d.ts +10 -0
- package/dist/esm/3d/project-3d.js +13 -0
- package/dist/esm/3d/random-3d.d.ts +7 -0
- package/dist/esm/3d/random-3d.js +7 -0
- package/dist/esm/3d/reflect-3d.d.ts +9 -0
- package/dist/esm/3d/reflect-3d.js +12 -0
- package/dist/esm/3d/rotate-x-3d.d.ts +9 -0
- package/dist/esm/3d/rotate-x-3d.js +22 -0
- package/dist/esm/3d/rotate-y-3d.d.ts +9 -0
- package/dist/esm/3d/rotate-y-3d.js +22 -0
- package/dist/esm/3d/rotate-z-3d.d.ts +9 -0
- package/dist/esm/3d/rotate-z-3d.js +22 -0
- package/dist/esm/3d/set-magnitude-3d.d.ts +9 -0
- package/dist/esm/3d/set-magnitude-3d.js +9 -0
- package/dist/esm/3d/subtract-3d.d.ts +8 -0
- package/dist/esm/3d/subtract-3d.js +11 -0
- package/dist/esm/3d/types.d.ts +4 -0
- package/dist/esm/3d/types.js +1 -0
- package/dist/esm/3d/zero-3d.d.ts +6 -0
- package/dist/esm/3d/zero-3d.js +5 -0
- package/dist/esm/4d/add-4d.d.ts +8 -0
- package/dist/esm/4d/add-4d.js +12 -0
- package/dist/esm/4d/angle-between-4d.d.ts +10 -0
- package/dist/esm/4d/angle-between-4d.js +11 -0
- package/dist/esm/4d/angle-w-4d.d.ts +7 -0
- package/dist/esm/4d/angle-w-4d.js +6 -0
- package/dist/esm/4d/angle-x-4d.d.ts +7 -0
- package/dist/esm/4d/angle-x-4d.js +6 -0
- package/dist/esm/4d/angle-y-4d.d.ts +7 -0
- package/dist/esm/4d/angle-y-4d.js +6 -0
- package/dist/esm/4d/angle-z-4d.d.ts +7 -0
- package/dist/esm/4d/angle-z-4d.js +6 -0
- package/dist/esm/4d/clamp-4d.d.ts +10 -0
- package/dist/esm/4d/clamp-4d.js +14 -0
- package/dist/esm/4d/clone-4d.d.ts +7 -0
- package/dist/esm/4d/clone-4d.js +6 -0
- package/dist/esm/4d/distance-4d.d.ts +8 -0
- package/dist/esm/4d/distance-4d.js +7 -0
- package/dist/esm/4d/distance-chebyshev-4d.d.ts +8 -0
- package/dist/esm/4d/distance-chebyshev-4d.js +19 -0
- package/dist/esm/4d/distance-manhattan-4d.d.ts +8 -0
- package/dist/esm/4d/distance-manhattan-4d.js +10 -0
- package/dist/esm/4d/distance-minkowski-4d.d.ts +9 -0
- package/dist/esm/4d/distance-minkowski-4d.js +12 -0
- package/dist/esm/4d/distance-sq-4d.d.ts +9 -0
- package/dist/esm/4d/distance-sq-4d.js +8 -0
- package/dist/esm/4d/divide-4d.d.ts +8 -0
- package/dist/esm/4d/divide-4d.js +12 -0
- package/dist/esm/4d/dot-4d.d.ts +8 -0
- package/dist/esm/4d/dot-4d.js +7 -0
- package/dist/esm/4d/from-object-4d.d.ts +12 -0
- package/dist/esm/4d/from-object-4d.js +11 -0
- package/dist/esm/4d/immutable-4d.d.ts +7 -0
- package/dist/esm/4d/immutable-4d.js +6 -0
- package/dist/esm/4d/index.d.ts +44 -0
- package/dist/esm/4d/index.js +44 -0
- package/dist/esm/4d/is-equal-4d.d.ts +8 -0
- package/dist/esm/4d/is-equal-4d.js +7 -0
- package/dist/esm/4d/is-equal-approx-4d.d.ts +9 -0
- package/dist/esm/4d/is-equal-approx-4d.js +11 -0
- package/dist/esm/4d/is-infinite-4d.d.ts +7 -0
- package/dist/esm/4d/is-infinite-4d.js +13 -0
- package/dist/esm/4d/is-nan-4d.d.ts +7 -0
- package/dist/esm/4d/is-nan-4d.js +6 -0
- package/dist/esm/4d/is-opposite-4d.d.ts +8 -0
- package/dist/esm/4d/is-opposite-4d.js +7 -0
- package/dist/esm/4d/is-zero-4d.d.ts +7 -0
- package/dist/esm/4d/is-zero-4d.js +6 -0
- package/dist/esm/4d/lerp-4d.d.ts +9 -0
- package/dist/esm/4d/lerp-4d.js +13 -0
- package/dist/esm/4d/limit-max-4d.d.ts +9 -0
- package/dist/esm/4d/limit-max-4d.js +9 -0
- package/dist/esm/4d/limit-min-4d.d.ts +9 -0
- package/dist/esm/4d/limit-min-4d.js +9 -0
- package/dist/esm/4d/look-at-4d.d.ts +10 -0
- package/dist/esm/4d/look-at-4d.js +10 -0
- package/dist/esm/4d/magnitude-4d.d.ts +7 -0
- package/dist/esm/4d/magnitude-4d.js +6 -0
- package/dist/esm/4d/magnitude-sq-4d.d.ts +8 -0
- package/dist/esm/4d/magnitude-sq-4d.js +7 -0
- package/dist/esm/4d/multiply-4d.d.ts +8 -0
- package/dist/esm/4d/multiply-4d.js +12 -0
- package/dist/esm/4d/negate-4d.d.ts +7 -0
- package/dist/esm/4d/negate-4d.js +6 -0
- package/dist/esm/4d/normalize-4d.d.ts +8 -0
- package/dist/esm/4d/normalize-4d.js +13 -0
- package/dist/esm/4d/one-4d.d.ts +6 -0
- package/dist/esm/4d/one-4d.js +5 -0
- package/dist/esm/4d/project-4d.d.ts +10 -0
- package/dist/esm/4d/project-4d.js +14 -0
- package/dist/esm/4d/random-4d.d.ts +7 -0
- package/dist/esm/4d/random-4d.js +17 -0
- package/dist/esm/4d/reflect-4d.d.ts +9 -0
- package/dist/esm/4d/reflect-4d.js +17 -0
- package/dist/esm/4d/set-magnitude-4d.d.ts +9 -0
- package/dist/esm/4d/set-magnitude-4d.js +14 -0
- package/dist/esm/4d/subtract-4d.d.ts +8 -0
- package/dist/esm/4d/subtract-4d.js +12 -0
- package/dist/esm/4d/types.d.ts +4 -0
- package/dist/esm/4d/types.js +1 -0
- package/dist/esm/4d/zero-4d.d.ts +6 -0
- package/dist/esm/4d/zero-4d.js +5 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/slerp.d.ts +21 -0
- package/dist/esm/slerp.js +23 -0
- package/dist/{vec4.d.ts → esm/vec2.d.ts} +165 -157
- package/dist/{vec2.js → esm/vec2.js} +14 -6
- package/dist/esm/vec3.d.ts +614 -0
- package/dist/{vec3.js → esm/vec3.js} +190 -123
- package/dist/esm/vec4.d.ts +602 -0
- package/dist/{vec4.js → esm/vec4.js} +211 -130
- package/docs/ArrayVector2D.md +1090 -0
- package/docs/ArrayVector3D.md +1162 -0
- package/docs/ArrayVector4D.md +1019 -0
- package/docs/README.md +13 -0
- package/docs/Slerp.md +64 -0
- package/docs/Vec2.md +1827 -0
- package/docs/Vec3.md +2084 -0
- package/docs/Vec4.md +2031 -0
- package/package.json +95 -70
- package/VEC2.md +0 -147
- package/VEC3.md +0 -159
- package/VEC4.md +0 -146
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
package/docs/Vec3.md
ADDED
|
@@ -0,0 +1,2084 @@
|
|
|
1
|
+
[@fimbul-works/vec](README.md) / Vec3
|
|
2
|
+
|
|
3
|
+
# Vec3
|
|
4
|
+
|
|
5
|
+
Documentation for 3D Vector class.
|
|
6
|
+
|
|
7
|
+
## Classes
|
|
8
|
+
|
|
9
|
+
### Vec3
|
|
10
|
+
|
|
11
|
+
Defined in: [vec3.ts:11](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L11)
|
|
12
|
+
|
|
13
|
+
Represents a 3D vector with various operations.
|
|
14
|
+
|
|
15
|
+
#### Constructors
|
|
16
|
+
|
|
17
|
+
##### Constructor
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
new Vec3(
|
|
21
|
+
x,
|
|
22
|
+
y,
|
|
23
|
+
z): Vec3;
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Defined in: [vec3.ts:39](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L39)
|
|
27
|
+
|
|
28
|
+
Creates a new Vec3 instance.
|
|
29
|
+
|
|
30
|
+
###### Parameters
|
|
31
|
+
|
|
32
|
+
| Parameter | Type | Default value | Description |
|
|
33
|
+
| ------ | ------ | ------ | ------ |
|
|
34
|
+
| `x` | `number` | `0` | The x-coordinate of the vector. |
|
|
35
|
+
| `y` | `number` | `0` | The y-coordinate of the vector. |
|
|
36
|
+
| `z` | `number` | `0` | The z-coordinate of the vector. |
|
|
37
|
+
|
|
38
|
+
###### Returns
|
|
39
|
+
|
|
40
|
+
[`Vec3`](#vec3)
|
|
41
|
+
|
|
42
|
+
#### Accessors
|
|
43
|
+
|
|
44
|
+
##### angleX
|
|
45
|
+
|
|
46
|
+
###### Get Signature
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
get angleX(): number;
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Defined in: [vec3.ts:636](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L636)
|
|
53
|
+
|
|
54
|
+
Gets the angle between the vector and the positive x-axis in radians.
|
|
55
|
+
|
|
56
|
+
###### Returns
|
|
57
|
+
|
|
58
|
+
`number`
|
|
59
|
+
|
|
60
|
+
The angle in radians, always in the range [0, 2π).
|
|
61
|
+
|
|
62
|
+
##### angleY
|
|
63
|
+
|
|
64
|
+
###### Get Signature
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
get angleY(): number;
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Defined in: [vec3.ts:644](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L644)
|
|
71
|
+
|
|
72
|
+
Gets the angle between the vector and the positive y-axis in radians.
|
|
73
|
+
|
|
74
|
+
###### Returns
|
|
75
|
+
|
|
76
|
+
`number`
|
|
77
|
+
|
|
78
|
+
The angle in radians, always in the range [0, 2π).
|
|
79
|
+
|
|
80
|
+
##### angleZ
|
|
81
|
+
|
|
82
|
+
###### Get Signature
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
get angleZ(): number;
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Defined in: [vec3.ts:652](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L652)
|
|
89
|
+
|
|
90
|
+
Gets the angle between the vector and the positive z-axis in radians.
|
|
91
|
+
|
|
92
|
+
###### Returns
|
|
93
|
+
|
|
94
|
+
`number`
|
|
95
|
+
|
|
96
|
+
The angle in radians, always in the range [0, 2π).
|
|
97
|
+
|
|
98
|
+
##### b
|
|
99
|
+
|
|
100
|
+
###### Get Signature
|
|
101
|
+
|
|
102
|
+
```ts
|
|
103
|
+
get b(): number;
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Defined in: [vec3.ts:602](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L602)
|
|
107
|
+
|
|
108
|
+
Gets the Blue-component of the color.
|
|
109
|
+
|
|
110
|
+
###### Returns
|
|
111
|
+
|
|
112
|
+
`number`
|
|
113
|
+
|
|
114
|
+
The Blue-component.
|
|
115
|
+
|
|
116
|
+
###### Set Signature
|
|
117
|
+
|
|
118
|
+
```ts
|
|
119
|
+
set b(b): void;
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Defined in: [vec3.ts:611](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L611)
|
|
123
|
+
|
|
124
|
+
Sets the Blue-component of the Color.
|
|
125
|
+
|
|
126
|
+
###### Parameters
|
|
127
|
+
|
|
128
|
+
| Parameter | Type | Description |
|
|
129
|
+
| ------ | ------ | ------ |
|
|
130
|
+
| `b` | `number` | The new Blue-component. |
|
|
131
|
+
|
|
132
|
+
###### Returns
|
|
133
|
+
|
|
134
|
+
`void`
|
|
135
|
+
|
|
136
|
+
##### g
|
|
137
|
+
|
|
138
|
+
###### Get Signature
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
get g(): number;
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Defined in: [vec3.ts:585](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L585)
|
|
145
|
+
|
|
146
|
+
Gets the Green-component of a Color.
|
|
147
|
+
|
|
148
|
+
###### Returns
|
|
149
|
+
|
|
150
|
+
`number`
|
|
151
|
+
|
|
152
|
+
The Green-component.
|
|
153
|
+
|
|
154
|
+
###### Set Signature
|
|
155
|
+
|
|
156
|
+
```ts
|
|
157
|
+
set g(g): void;
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Defined in: [vec3.ts:594](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L594)
|
|
161
|
+
|
|
162
|
+
Sets the Green-component of the Color.
|
|
163
|
+
|
|
164
|
+
###### Parameters
|
|
165
|
+
|
|
166
|
+
| Parameter | Type | Description |
|
|
167
|
+
| ------ | ------ | ------ |
|
|
168
|
+
| `g` | `number` | The new Green-component. |
|
|
169
|
+
|
|
170
|
+
###### Returns
|
|
171
|
+
|
|
172
|
+
`void`
|
|
173
|
+
|
|
174
|
+
##### magnitude
|
|
175
|
+
|
|
176
|
+
###### Get Signature
|
|
177
|
+
|
|
178
|
+
```ts
|
|
179
|
+
get magnitude(): number;
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Defined in: [vec3.ts:660](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L660)
|
|
183
|
+
|
|
184
|
+
Sets the magnitude (length) of the vector, maintaining its direction.
|
|
185
|
+
|
|
186
|
+
###### Returns
|
|
187
|
+
|
|
188
|
+
`number`
|
|
189
|
+
|
|
190
|
+
###### Set Signature
|
|
191
|
+
|
|
192
|
+
```ts
|
|
193
|
+
set magnitude(m): void;
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Defined in: [vec3.ts:677](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L677)
|
|
197
|
+
|
|
198
|
+
Sets the magnitude (length) of the vector, maintaining its direction.
|
|
199
|
+
|
|
200
|
+
###### Parameters
|
|
201
|
+
|
|
202
|
+
| Parameter | Type | Description |
|
|
203
|
+
| ------ | ------ | ------ |
|
|
204
|
+
| `m` | `number` | The new magnitude. |
|
|
205
|
+
|
|
206
|
+
###### Returns
|
|
207
|
+
|
|
208
|
+
`void`
|
|
209
|
+
|
|
210
|
+
##### magnitudeSq
|
|
211
|
+
|
|
212
|
+
###### Get Signature
|
|
213
|
+
|
|
214
|
+
```ts
|
|
215
|
+
get magnitudeSq(): number;
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Defined in: [vec3.ts:669](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L669)
|
|
219
|
+
|
|
220
|
+
Gets the squared magnitude of the vector.
|
|
221
|
+
This is faster to compute than the actual magnitude and is useful for comparisons.
|
|
222
|
+
|
|
223
|
+
###### Returns
|
|
224
|
+
|
|
225
|
+
`number`
|
|
226
|
+
|
|
227
|
+
The squared magnitude of the vector.
|
|
228
|
+
|
|
229
|
+
##### r
|
|
230
|
+
|
|
231
|
+
###### Get Signature
|
|
232
|
+
|
|
233
|
+
```ts
|
|
234
|
+
get r(): number;
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Defined in: [vec3.ts:568](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L568)
|
|
238
|
+
|
|
239
|
+
Gets the Red-component of a Color.
|
|
240
|
+
|
|
241
|
+
###### Returns
|
|
242
|
+
|
|
243
|
+
`number`
|
|
244
|
+
|
|
245
|
+
The Red-component.
|
|
246
|
+
|
|
247
|
+
###### Set Signature
|
|
248
|
+
|
|
249
|
+
```ts
|
|
250
|
+
set r(r): void;
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Defined in: [vec3.ts:577](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L577)
|
|
254
|
+
|
|
255
|
+
Sets the Red-component of a Color.
|
|
256
|
+
|
|
257
|
+
###### Parameters
|
|
258
|
+
|
|
259
|
+
| Parameter | Type | Description |
|
|
260
|
+
| ------ | ------ | ------ |
|
|
261
|
+
| `r` | `number` | The new Red-component. |
|
|
262
|
+
|
|
263
|
+
###### Returns
|
|
264
|
+
|
|
265
|
+
`void`
|
|
266
|
+
|
|
267
|
+
##### rgb
|
|
268
|
+
|
|
269
|
+
###### Get Signature
|
|
270
|
+
|
|
271
|
+
```ts
|
|
272
|
+
get rgb(): [number, number, number];
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Defined in: [vec3.ts:619](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L619)
|
|
276
|
+
|
|
277
|
+
Gets a copy of the vector's components as an array.
|
|
278
|
+
|
|
279
|
+
###### Returns
|
|
280
|
+
|
|
281
|
+
\[`number`, `number`, `number`\]
|
|
282
|
+
|
|
283
|
+
An array containing the x, y and z components of the vector.
|
|
284
|
+
|
|
285
|
+
###### Set Signature
|
|
286
|
+
|
|
287
|
+
```ts
|
|
288
|
+
set rgb(rgb): void;
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Defined in: [vec3.ts:628](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L628)
|
|
292
|
+
|
|
293
|
+
Sets all components of the Color at once.
|
|
294
|
+
|
|
295
|
+
###### Parameters
|
|
296
|
+
|
|
297
|
+
| Parameter | Type | Description |
|
|
298
|
+
| ------ | ------ | ------ |
|
|
299
|
+
| `rgb` | \[`number`, `number`, `number`\] | An array containing the new Red, Green and Blue components. |
|
|
300
|
+
|
|
301
|
+
###### Returns
|
|
302
|
+
|
|
303
|
+
`void`
|
|
304
|
+
|
|
305
|
+
##### x
|
|
306
|
+
|
|
307
|
+
###### Get Signature
|
|
308
|
+
|
|
309
|
+
```ts
|
|
310
|
+
get x(): number;
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
Defined in: [vec3.ts:494](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L494)
|
|
314
|
+
|
|
315
|
+
Gets the x-component of the vector.
|
|
316
|
+
|
|
317
|
+
###### Returns
|
|
318
|
+
|
|
319
|
+
`number`
|
|
320
|
+
|
|
321
|
+
The x-component.
|
|
322
|
+
|
|
323
|
+
###### Set Signature
|
|
324
|
+
|
|
325
|
+
```ts
|
|
326
|
+
set x(x): void;
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Defined in: [vec3.ts:503](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L503)
|
|
330
|
+
|
|
331
|
+
Sets the x-component of the vector.
|
|
332
|
+
|
|
333
|
+
###### Parameters
|
|
334
|
+
|
|
335
|
+
| Parameter | Type | Description |
|
|
336
|
+
| ------ | ------ | ------ |
|
|
337
|
+
| `x` | `number` | The new x-component. |
|
|
338
|
+
|
|
339
|
+
###### Returns
|
|
340
|
+
|
|
341
|
+
`void`
|
|
342
|
+
|
|
343
|
+
##### xyz
|
|
344
|
+
|
|
345
|
+
###### Get Signature
|
|
346
|
+
|
|
347
|
+
```ts
|
|
348
|
+
get xyz(): [number, number, number];
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
Defined in: [vec3.ts:548](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L548)
|
|
352
|
+
|
|
353
|
+
Gets a copy of the vector's components as an array.
|
|
354
|
+
|
|
355
|
+
###### Returns
|
|
356
|
+
|
|
357
|
+
\[`number`, `number`, `number`\]
|
|
358
|
+
|
|
359
|
+
An array containing the x, y and z components of the vector.
|
|
360
|
+
|
|
361
|
+
###### Set Signature
|
|
362
|
+
|
|
363
|
+
```ts
|
|
364
|
+
set xyz(xyz): void;
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
Defined in: [vec3.ts:557](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L557)
|
|
368
|
+
|
|
369
|
+
Sets all components of the vector at once.
|
|
370
|
+
|
|
371
|
+
###### Parameters
|
|
372
|
+
|
|
373
|
+
| Parameter | Type | Description |
|
|
374
|
+
| ------ | ------ | ------ |
|
|
375
|
+
| `xyz` | \[`number`, `number`, `number`\] | An array containing the new x, y and z components. |
|
|
376
|
+
|
|
377
|
+
###### Returns
|
|
378
|
+
|
|
379
|
+
`void`
|
|
380
|
+
|
|
381
|
+
##### y
|
|
382
|
+
|
|
383
|
+
###### Get Signature
|
|
384
|
+
|
|
385
|
+
```ts
|
|
386
|
+
get y(): number;
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
Defined in: [vec3.ts:512](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L512)
|
|
390
|
+
|
|
391
|
+
Gets the y-component of the vector.
|
|
392
|
+
|
|
393
|
+
###### Returns
|
|
394
|
+
|
|
395
|
+
`number`
|
|
396
|
+
|
|
397
|
+
The y-component.
|
|
398
|
+
|
|
399
|
+
###### Set Signature
|
|
400
|
+
|
|
401
|
+
```ts
|
|
402
|
+
set y(y): void;
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
Defined in: [vec3.ts:521](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L521)
|
|
406
|
+
|
|
407
|
+
Sets the y-component of the vector.
|
|
408
|
+
|
|
409
|
+
###### Parameters
|
|
410
|
+
|
|
411
|
+
| Parameter | Type | Description |
|
|
412
|
+
| ------ | ------ | ------ |
|
|
413
|
+
| `y` | `number` | The new y-component. |
|
|
414
|
+
|
|
415
|
+
###### Returns
|
|
416
|
+
|
|
417
|
+
`void`
|
|
418
|
+
|
|
419
|
+
##### z
|
|
420
|
+
|
|
421
|
+
###### Get Signature
|
|
422
|
+
|
|
423
|
+
```ts
|
|
424
|
+
get z(): number;
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
Defined in: [vec3.ts:530](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L530)
|
|
428
|
+
|
|
429
|
+
Gets the z-component of the vector.
|
|
430
|
+
|
|
431
|
+
###### Returns
|
|
432
|
+
|
|
433
|
+
`number`
|
|
434
|
+
|
|
435
|
+
The z-component.
|
|
436
|
+
|
|
437
|
+
###### Set Signature
|
|
438
|
+
|
|
439
|
+
```ts
|
|
440
|
+
set z(z): void;
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
Defined in: [vec3.ts:539](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L539)
|
|
444
|
+
|
|
445
|
+
Sets the z-component of the vector.
|
|
446
|
+
|
|
447
|
+
###### Parameters
|
|
448
|
+
|
|
449
|
+
| Parameter | Type | Description |
|
|
450
|
+
| ------ | ------ | ------ |
|
|
451
|
+
| `z` | `number` | The new z-component. |
|
|
452
|
+
|
|
453
|
+
###### Returns
|
|
454
|
+
|
|
455
|
+
`void`
|
|
456
|
+
|
|
457
|
+
#### Methods
|
|
458
|
+
|
|
459
|
+
##### \[iterator\]()
|
|
460
|
+
|
|
461
|
+
```ts
|
|
462
|
+
iterator: IterableIterator<number>;
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
Defined in: [vec3.ts:1132](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1132)
|
|
466
|
+
|
|
467
|
+
Makes the Vec3 instance iterable.
|
|
468
|
+
|
|
469
|
+
###### Returns
|
|
470
|
+
|
|
471
|
+
`IterableIterator`\<`number`\>
|
|
472
|
+
|
|
473
|
+
###### Yields
|
|
474
|
+
|
|
475
|
+
The x, y and z components of the vector.
|
|
476
|
+
|
|
477
|
+
##### add()
|
|
478
|
+
|
|
479
|
+
```ts
|
|
480
|
+
add(v): Vec3;
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
Defined in: [vec3.ts:690](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L690)
|
|
484
|
+
|
|
485
|
+
Adds another vector to this vector.
|
|
486
|
+
|
|
487
|
+
###### Parameters
|
|
488
|
+
|
|
489
|
+
| Parameter | Type | Description |
|
|
490
|
+
| ------ | ------ | ------ |
|
|
491
|
+
| `v` | [`Vec3`](#vec3) | The vector to add. |
|
|
492
|
+
|
|
493
|
+
###### Returns
|
|
494
|
+
|
|
495
|
+
[`Vec3`](#vec3)
|
|
496
|
+
|
|
497
|
+
This Vec3 instance for method chaining.
|
|
498
|
+
|
|
499
|
+
##### angleBetween()
|
|
500
|
+
|
|
501
|
+
```ts
|
|
502
|
+
angleBetween(v): number;
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
Defined in: [vec3.ts:742](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L742)
|
|
506
|
+
|
|
507
|
+
Calculates the angle between this vector and another vector.
|
|
508
|
+
|
|
509
|
+
###### Parameters
|
|
510
|
+
|
|
511
|
+
| Parameter | Type | Description |
|
|
512
|
+
| ------ | ------ | ------ |
|
|
513
|
+
| `v` | [`Vec3`](#vec3) | The other vector. |
|
|
514
|
+
|
|
515
|
+
###### Returns
|
|
516
|
+
|
|
517
|
+
`number`
|
|
518
|
+
|
|
519
|
+
The angle between the vectors in radians.
|
|
520
|
+
|
|
521
|
+
##### clamp()
|
|
522
|
+
|
|
523
|
+
```ts
|
|
524
|
+
clamp(min, max): this;
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
Defined in: [vec3.ts:755](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L755)
|
|
528
|
+
|
|
529
|
+
Clamps the magnitude of this vector between a minimum and maximum value.
|
|
530
|
+
|
|
531
|
+
###### Parameters
|
|
532
|
+
|
|
533
|
+
| Parameter | Type | Description |
|
|
534
|
+
| ------ | ------ | ------ |
|
|
535
|
+
| `min` | `number` | The minimum magnitude. |
|
|
536
|
+
| `max` | `number` | The maximum magnitude. |
|
|
537
|
+
|
|
538
|
+
###### Returns
|
|
539
|
+
|
|
540
|
+
`this`
|
|
541
|
+
|
|
542
|
+
This Vec3 instance for method chaining.
|
|
543
|
+
|
|
544
|
+
##### clone()
|
|
545
|
+
|
|
546
|
+
```ts
|
|
547
|
+
clone(): Vec3;
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
Defined in: [vec3.ts:775](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L775)
|
|
551
|
+
|
|
552
|
+
Creates a copy of this vector.
|
|
553
|
+
|
|
554
|
+
###### Returns
|
|
555
|
+
|
|
556
|
+
[`Vec3`](#vec3)
|
|
557
|
+
|
|
558
|
+
A new Vec3 instance with the same components.
|
|
559
|
+
|
|
560
|
+
##### copy()
|
|
561
|
+
|
|
562
|
+
```ts
|
|
563
|
+
copy(v): this;
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
Defined in: [vec3.ts:784](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L784)
|
|
567
|
+
|
|
568
|
+
Copies the components of another vector to this vector.
|
|
569
|
+
|
|
570
|
+
###### Parameters
|
|
571
|
+
|
|
572
|
+
| Parameter | Type | Description |
|
|
573
|
+
| ------ | ------ | ------ |
|
|
574
|
+
| `v` | [`Vec3`](#vec3) | The vector to copy from. |
|
|
575
|
+
|
|
576
|
+
###### Returns
|
|
577
|
+
|
|
578
|
+
`this`
|
|
579
|
+
|
|
580
|
+
This Vec3 instance for method chaining.
|
|
581
|
+
|
|
582
|
+
##### cross()
|
|
583
|
+
|
|
584
|
+
```ts
|
|
585
|
+
cross(v): this;
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
Defined in: [vec3.ts:806](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L806)
|
|
589
|
+
|
|
590
|
+
Calculates cross product between this vector and another vector.
|
|
591
|
+
|
|
592
|
+
###### Parameters
|
|
593
|
+
|
|
594
|
+
| Parameter | Type | Description |
|
|
595
|
+
| ------ | ------ | ------ |
|
|
596
|
+
| `v` | [`Vec3`](#vec3) | The other vector. |
|
|
597
|
+
|
|
598
|
+
###### Returns
|
|
599
|
+
|
|
600
|
+
`this`
|
|
601
|
+
|
|
602
|
+
This Vec3 instance for method chaining.
|
|
603
|
+
|
|
604
|
+
##### distance()
|
|
605
|
+
|
|
606
|
+
```ts
|
|
607
|
+
distance(v): number;
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
Defined in: [vec3.ts:841](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L841)
|
|
611
|
+
|
|
612
|
+
Calculates the distance between this vector and another vector.
|
|
613
|
+
|
|
614
|
+
###### Parameters
|
|
615
|
+
|
|
616
|
+
| Parameter | Type | Description |
|
|
617
|
+
| ------ | ------ | ------ |
|
|
618
|
+
| `v` | [`Vec3`](#vec3) | The other vector. |
|
|
619
|
+
|
|
620
|
+
###### Returns
|
|
621
|
+
|
|
622
|
+
`number`
|
|
623
|
+
|
|
624
|
+
The distance between the vectors.
|
|
625
|
+
|
|
626
|
+
##### distanceChebyshev()
|
|
627
|
+
|
|
628
|
+
```ts
|
|
629
|
+
distanceChebyshev(v): number;
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
Defined in: [vec3.ts:850](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L850)
|
|
633
|
+
|
|
634
|
+
Calculates the Chebyshev distance between vector and another vector.
|
|
635
|
+
|
|
636
|
+
###### Parameters
|
|
637
|
+
|
|
638
|
+
| Parameter | Type | Description |
|
|
639
|
+
| ------ | ------ | ------ |
|
|
640
|
+
| `v` | [`Vec3`](#vec3) | The other vector. |
|
|
641
|
+
|
|
642
|
+
###### Returns
|
|
643
|
+
|
|
644
|
+
`number`
|
|
645
|
+
|
|
646
|
+
The Chebyshev distance between the vectors.
|
|
647
|
+
|
|
648
|
+
##### distanceManhattan()
|
|
649
|
+
|
|
650
|
+
```ts
|
|
651
|
+
distanceManhattan(v): number;
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
Defined in: [vec3.ts:862](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L862)
|
|
655
|
+
|
|
656
|
+
Calculates the Manhattan distance between vector and another vector.
|
|
657
|
+
|
|
658
|
+
###### Parameters
|
|
659
|
+
|
|
660
|
+
| Parameter | Type | Description |
|
|
661
|
+
| ------ | ------ | ------ |
|
|
662
|
+
| `v` | [`Vec3`](#vec3) | The other vector. |
|
|
663
|
+
|
|
664
|
+
###### Returns
|
|
665
|
+
|
|
666
|
+
`number`
|
|
667
|
+
|
|
668
|
+
The Manhattan distance between the vectors.
|
|
669
|
+
|
|
670
|
+
##### distanceMinkowski()
|
|
671
|
+
|
|
672
|
+
```ts
|
|
673
|
+
distanceMinkowski(v, p): number;
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
Defined in: [vec3.ts:872](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L872)
|
|
677
|
+
|
|
678
|
+
Calculates the Minkowski distance between this vector and another vector.
|
|
679
|
+
|
|
680
|
+
###### Parameters
|
|
681
|
+
|
|
682
|
+
| Parameter | Type | Description |
|
|
683
|
+
| ------ | ------ | ------ |
|
|
684
|
+
| `v` | [`Vec3`](#vec3) | The other vector. |
|
|
685
|
+
| `p` | `number` | The order of the Minkowski distance. |
|
|
686
|
+
|
|
687
|
+
###### Returns
|
|
688
|
+
|
|
689
|
+
`number`
|
|
690
|
+
|
|
691
|
+
The Minkowski distance between the vectors.
|
|
692
|
+
|
|
693
|
+
##### distanceSq()
|
|
694
|
+
|
|
695
|
+
```ts
|
|
696
|
+
distanceSq(v): number;
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
Defined in: [vec3.ts:884](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L884)
|
|
700
|
+
|
|
701
|
+
Calculates the squared distance between this vector and another vector.
|
|
702
|
+
|
|
703
|
+
###### Parameters
|
|
704
|
+
|
|
705
|
+
| Parameter | Type | Description |
|
|
706
|
+
| ------ | ------ | ------ |
|
|
707
|
+
| `v` | [`Vec3`](#vec3) | The other vector. |
|
|
708
|
+
|
|
709
|
+
###### Returns
|
|
710
|
+
|
|
711
|
+
`number`
|
|
712
|
+
|
|
713
|
+
The squared distance between the vectors.
|
|
714
|
+
|
|
715
|
+
##### divide()
|
|
716
|
+
|
|
717
|
+
```ts
|
|
718
|
+
divide(v): this;
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
Defined in: [vec3.ts:729](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L729)
|
|
722
|
+
|
|
723
|
+
Divides this vector with another vector.
|
|
724
|
+
|
|
725
|
+
###### Parameters
|
|
726
|
+
|
|
727
|
+
| Parameter | Type | Description |
|
|
728
|
+
| ------ | ------ | ------ |
|
|
729
|
+
| `v` | [`Vec3`](#vec3) | The vector to divide with. |
|
|
730
|
+
|
|
731
|
+
###### Returns
|
|
732
|
+
|
|
733
|
+
`this`
|
|
734
|
+
|
|
735
|
+
This Vec3 instance for method chaining.
|
|
736
|
+
|
|
737
|
+
##### dot()
|
|
738
|
+
|
|
739
|
+
```ts
|
|
740
|
+
dot(v): number;
|
|
741
|
+
```
|
|
742
|
+
|
|
743
|
+
Defined in: [vec3.ts:797](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L797)
|
|
744
|
+
|
|
745
|
+
Calculates the dot product of this vector with another vector.
|
|
746
|
+
|
|
747
|
+
###### Parameters
|
|
748
|
+
|
|
749
|
+
| Parameter | Type | Description |
|
|
750
|
+
| ------ | ------ | ------ |
|
|
751
|
+
| `v` | [`Vec3`](#vec3) | The other vector. |
|
|
752
|
+
|
|
753
|
+
###### Returns
|
|
754
|
+
|
|
755
|
+
`number`
|
|
756
|
+
|
|
757
|
+
The dot product of the vectors.
|
|
758
|
+
|
|
759
|
+
##### equals()
|
|
760
|
+
|
|
761
|
+
```ts
|
|
762
|
+
equals(v, epsilon): boolean;
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
Defined in: [vec3.ts:1095](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1095)
|
|
766
|
+
|
|
767
|
+
Compares this vector with another vector using an epsilon value for floating-point comparison.
|
|
768
|
+
|
|
769
|
+
###### Parameters
|
|
770
|
+
|
|
771
|
+
| Parameter | Type | Default value | Description |
|
|
772
|
+
| ------ | ------ | ------ | ------ |
|
|
773
|
+
| `v` | [`Vec3`](#vec3) | `undefined` | The vector to compare with. |
|
|
774
|
+
| `epsilon` | `number` | `Number.EPSILON` | The maximum difference between components to consider them equal. |
|
|
775
|
+
|
|
776
|
+
###### Returns
|
|
777
|
+
|
|
778
|
+
`boolean`
|
|
779
|
+
|
|
780
|
+
True if the vectors are equal within epsilon, false otherwise.
|
|
781
|
+
|
|
782
|
+
##### isInfinite()
|
|
783
|
+
|
|
784
|
+
```ts
|
|
785
|
+
isInfinite(): boolean;
|
|
786
|
+
```
|
|
787
|
+
|
|
788
|
+
Defined in: [vec3.ts:892](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L892)
|
|
789
|
+
|
|
790
|
+
Checks if this vector has infinite components.
|
|
791
|
+
|
|
792
|
+
###### Returns
|
|
793
|
+
|
|
794
|
+
`boolean`
|
|
795
|
+
|
|
796
|
+
True if the vector has infinite components, false otherwise.
|
|
797
|
+
|
|
798
|
+
##### isNaN()
|
|
799
|
+
|
|
800
|
+
```ts
|
|
801
|
+
isNaN(): boolean;
|
|
802
|
+
```
|
|
803
|
+
|
|
804
|
+
Defined in: [vec3.ts:910](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L910)
|
|
805
|
+
|
|
806
|
+
Checks if this vector has NaN components.
|
|
807
|
+
|
|
808
|
+
###### Returns
|
|
809
|
+
|
|
810
|
+
`boolean`
|
|
811
|
+
|
|
812
|
+
True if the vector has NaN components, false otherwise.
|
|
813
|
+
|
|
814
|
+
##### isZero()
|
|
815
|
+
|
|
816
|
+
```ts
|
|
817
|
+
isZero(): boolean;
|
|
818
|
+
```
|
|
819
|
+
|
|
820
|
+
Defined in: [vec3.ts:918](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L918)
|
|
821
|
+
|
|
822
|
+
Checks if this vector is zero.
|
|
823
|
+
|
|
824
|
+
###### Returns
|
|
825
|
+
|
|
826
|
+
`boolean`
|
|
827
|
+
|
|
828
|
+
True if the vector is zero, false otherwise.
|
|
829
|
+
|
|
830
|
+
##### limitMax()
|
|
831
|
+
|
|
832
|
+
```ts
|
|
833
|
+
limitMax(max): this;
|
|
834
|
+
```
|
|
835
|
+
|
|
836
|
+
Defined in: [vec3.ts:927](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L927)
|
|
837
|
+
|
|
838
|
+
Limits the maximum magnitude of this vector.
|
|
839
|
+
|
|
840
|
+
###### Parameters
|
|
841
|
+
|
|
842
|
+
| Parameter | Type | Description |
|
|
843
|
+
| ------ | ------ | ------ |
|
|
844
|
+
| `max` | `number` | The maximum magnitude. |
|
|
845
|
+
|
|
846
|
+
###### Returns
|
|
847
|
+
|
|
848
|
+
`this`
|
|
849
|
+
|
|
850
|
+
This Vec3 instance for method chaining.
|
|
851
|
+
|
|
852
|
+
##### limitMin()
|
|
853
|
+
|
|
854
|
+
```ts
|
|
855
|
+
limitMin(min): this;
|
|
856
|
+
```
|
|
857
|
+
|
|
858
|
+
Defined in: [vec3.ts:943](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L943)
|
|
859
|
+
|
|
860
|
+
Limits the minimum magnitude of this vector.
|
|
861
|
+
|
|
862
|
+
###### Parameters
|
|
863
|
+
|
|
864
|
+
| Parameter | Type | Description |
|
|
865
|
+
| ------ | ------ | ------ |
|
|
866
|
+
| `min` | `number` | The minimum magnitude. |
|
|
867
|
+
|
|
868
|
+
###### Returns
|
|
869
|
+
|
|
870
|
+
`this`
|
|
871
|
+
|
|
872
|
+
This Vec3 instance for method chaining.
|
|
873
|
+
|
|
874
|
+
##### lookAt()
|
|
875
|
+
|
|
876
|
+
```ts
|
|
877
|
+
lookAt(v): this;
|
|
878
|
+
```
|
|
879
|
+
|
|
880
|
+
Defined in: [vec3.ts:959](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L959)
|
|
881
|
+
|
|
882
|
+
Sets this vector to point towards another vector.
|
|
883
|
+
|
|
884
|
+
###### Parameters
|
|
885
|
+
|
|
886
|
+
| Parameter | Type | Description |
|
|
887
|
+
| ------ | ------ | ------ |
|
|
888
|
+
| `v` | [`Vec3`](#vec3) | The vector to look at. |
|
|
889
|
+
|
|
890
|
+
###### Returns
|
|
891
|
+
|
|
892
|
+
`this`
|
|
893
|
+
|
|
894
|
+
This Vec3 instance for method chaining.
|
|
895
|
+
|
|
896
|
+
##### multiply()
|
|
897
|
+
|
|
898
|
+
```ts
|
|
899
|
+
multiply(v): this;
|
|
900
|
+
```
|
|
901
|
+
|
|
902
|
+
Defined in: [vec3.ts:716](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L716)
|
|
903
|
+
|
|
904
|
+
Multiplies this vector with another vector.
|
|
905
|
+
|
|
906
|
+
###### Parameters
|
|
907
|
+
|
|
908
|
+
| Parameter | Type | Description |
|
|
909
|
+
| ------ | ------ | ------ |
|
|
910
|
+
| `v` | [`Vec3`](#vec3) | The vector to multiply with. |
|
|
911
|
+
|
|
912
|
+
###### Returns
|
|
913
|
+
|
|
914
|
+
`this`
|
|
915
|
+
|
|
916
|
+
This Vec3 instance for method chaining.
|
|
917
|
+
|
|
918
|
+
##### negate()
|
|
919
|
+
|
|
920
|
+
```ts
|
|
921
|
+
negate(): this;
|
|
922
|
+
```
|
|
923
|
+
|
|
924
|
+
Defined in: [vec3.ts:973](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L973)
|
|
925
|
+
|
|
926
|
+
Negates this vector.
|
|
927
|
+
|
|
928
|
+
###### Returns
|
|
929
|
+
|
|
930
|
+
`this`
|
|
931
|
+
|
|
932
|
+
This Vec3 instance for method chaining.
|
|
933
|
+
|
|
934
|
+
##### normalize()
|
|
935
|
+
|
|
936
|
+
```ts
|
|
937
|
+
normalize(): this;
|
|
938
|
+
```
|
|
939
|
+
|
|
940
|
+
Defined in: [vec3.ts:985](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L985)
|
|
941
|
+
|
|
942
|
+
Normalizes this vector.
|
|
943
|
+
|
|
944
|
+
###### Returns
|
|
945
|
+
|
|
946
|
+
`this`
|
|
947
|
+
|
|
948
|
+
This Vec3 instance for method chaining.
|
|
949
|
+
|
|
950
|
+
##### project()
|
|
951
|
+
|
|
952
|
+
```ts
|
|
953
|
+
project(v): this;
|
|
954
|
+
```
|
|
955
|
+
|
|
956
|
+
Defined in: [vec3.ts:999](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L999)
|
|
957
|
+
|
|
958
|
+
Projects this vector onto another vector.
|
|
959
|
+
|
|
960
|
+
###### Parameters
|
|
961
|
+
|
|
962
|
+
| Parameter | Type | Description |
|
|
963
|
+
| ------ | ------ | ------ |
|
|
964
|
+
| `v` | [`Vec3`](#vec3) | The vector to project onto. |
|
|
965
|
+
|
|
966
|
+
###### Returns
|
|
967
|
+
|
|
968
|
+
`this`
|
|
969
|
+
|
|
970
|
+
This Vec3 instance for method chaining.
|
|
971
|
+
|
|
972
|
+
##### random()
|
|
973
|
+
|
|
974
|
+
```ts
|
|
975
|
+
random(random): this;
|
|
976
|
+
```
|
|
977
|
+
|
|
978
|
+
Defined in: [vec3.ts:1018](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1018)
|
|
979
|
+
|
|
980
|
+
Sets this vector to a random direction with the same magnitude.
|
|
981
|
+
|
|
982
|
+
###### Parameters
|
|
983
|
+
|
|
984
|
+
| Parameter | Type | Default value | Description |
|
|
985
|
+
| ------ | ------ | ------ | ------ |
|
|
986
|
+
| `random` | () => `number` | `Math.random` | A function that returns a random number between 0 and 1. |
|
|
987
|
+
|
|
988
|
+
###### Returns
|
|
989
|
+
|
|
990
|
+
`this`
|
|
991
|
+
|
|
992
|
+
This Vec3 instance for method chaining.
|
|
993
|
+
|
|
994
|
+
##### reflect()
|
|
995
|
+
|
|
996
|
+
```ts
|
|
997
|
+
reflect(normal): this;
|
|
998
|
+
```
|
|
999
|
+
|
|
1000
|
+
Defined in: [vec3.ts:826](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L826)
|
|
1001
|
+
|
|
1002
|
+
Reflects this vector across a normal vector.
|
|
1003
|
+
The normal vector should be normalized (unit length).
|
|
1004
|
+
|
|
1005
|
+
###### Parameters
|
|
1006
|
+
|
|
1007
|
+
| Parameter | Type | Description |
|
|
1008
|
+
| ------ | ------ | ------ |
|
|
1009
|
+
| `normal` | [`Vec3`](#vec3) | The normal vector to reflect across (must be normalized). |
|
|
1010
|
+
|
|
1011
|
+
###### Returns
|
|
1012
|
+
|
|
1013
|
+
`this`
|
|
1014
|
+
|
|
1015
|
+
This Vec3 instance for method chaining.
|
|
1016
|
+
|
|
1017
|
+
##### rotateX()
|
|
1018
|
+
|
|
1019
|
+
```ts
|
|
1020
|
+
rotateX(phi): this;
|
|
1021
|
+
```
|
|
1022
|
+
|
|
1023
|
+
Defined in: [vec3.ts:1028](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1028)
|
|
1024
|
+
|
|
1025
|
+
Rotates this vector around the X-axis.
|
|
1026
|
+
|
|
1027
|
+
###### Parameters
|
|
1028
|
+
|
|
1029
|
+
| Parameter | Type | Description |
|
|
1030
|
+
| ------ | ------ | ------ |
|
|
1031
|
+
| `phi` | `number` | The angle of rotation in radians. |
|
|
1032
|
+
|
|
1033
|
+
###### Returns
|
|
1034
|
+
|
|
1035
|
+
`this`
|
|
1036
|
+
|
|
1037
|
+
This Vec3 instance for method chaining.
|
|
1038
|
+
|
|
1039
|
+
##### rotateY()
|
|
1040
|
+
|
|
1041
|
+
```ts
|
|
1042
|
+
rotateY(phi): this;
|
|
1043
|
+
```
|
|
1044
|
+
|
|
1045
|
+
Defined in: [vec3.ts:1044](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1044)
|
|
1046
|
+
|
|
1047
|
+
Rotates this vector around the Y-axis.
|
|
1048
|
+
|
|
1049
|
+
###### Parameters
|
|
1050
|
+
|
|
1051
|
+
| Parameter | Type | Description |
|
|
1052
|
+
| ------ | ------ | ------ |
|
|
1053
|
+
| `phi` | `number` | The angle of rotation in radians. |
|
|
1054
|
+
|
|
1055
|
+
###### Returns
|
|
1056
|
+
|
|
1057
|
+
`this`
|
|
1058
|
+
|
|
1059
|
+
This Vec3 instance for method chaining.
|
|
1060
|
+
|
|
1061
|
+
##### rotateZ()
|
|
1062
|
+
|
|
1063
|
+
```ts
|
|
1064
|
+
rotateZ(phi): this;
|
|
1065
|
+
```
|
|
1066
|
+
|
|
1067
|
+
Defined in: [vec3.ts:1060](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1060)
|
|
1068
|
+
|
|
1069
|
+
Rotates this vector around the Z-axis.
|
|
1070
|
+
|
|
1071
|
+
###### Parameters
|
|
1072
|
+
|
|
1073
|
+
| Parameter | Type | Description |
|
|
1074
|
+
| ------ | ------ | ------ |
|
|
1075
|
+
| `phi` | `number` | The angle of rotation in radians. |
|
|
1076
|
+
|
|
1077
|
+
###### Returns
|
|
1078
|
+
|
|
1079
|
+
`this`
|
|
1080
|
+
|
|
1081
|
+
This Vec3 instance for method chaining.
|
|
1082
|
+
|
|
1083
|
+
##### satisfyEquality()
|
|
1084
|
+
|
|
1085
|
+
```ts
|
|
1086
|
+
satisfyEquality(v): boolean;
|
|
1087
|
+
```
|
|
1088
|
+
|
|
1089
|
+
Defined in: [vec3.ts:1076](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1076)
|
|
1090
|
+
|
|
1091
|
+
Checks if this vector is equal to another vector.
|
|
1092
|
+
|
|
1093
|
+
###### Parameters
|
|
1094
|
+
|
|
1095
|
+
| Parameter | Type | Description |
|
|
1096
|
+
| ------ | ------ | ------ |
|
|
1097
|
+
| `v` | [`Vec3`](#vec3) | The other vector. |
|
|
1098
|
+
|
|
1099
|
+
###### Returns
|
|
1100
|
+
|
|
1101
|
+
`boolean`
|
|
1102
|
+
|
|
1103
|
+
True if the vectors are equal, false otherwise.
|
|
1104
|
+
|
|
1105
|
+
##### satisfyOpposition()
|
|
1106
|
+
|
|
1107
|
+
```ts
|
|
1108
|
+
satisfyOpposition(v): boolean;
|
|
1109
|
+
```
|
|
1110
|
+
|
|
1111
|
+
Defined in: [vec3.ts:1085](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1085)
|
|
1112
|
+
|
|
1113
|
+
Checks if this vector is opposite to another vector.
|
|
1114
|
+
|
|
1115
|
+
###### Parameters
|
|
1116
|
+
|
|
1117
|
+
| Parameter | Type | Description |
|
|
1118
|
+
| ------ | ------ | ------ |
|
|
1119
|
+
| `v` | [`Vec3`](#vec3) | The other vector. |
|
|
1120
|
+
|
|
1121
|
+
###### Returns
|
|
1122
|
+
|
|
1123
|
+
`boolean`
|
|
1124
|
+
|
|
1125
|
+
True if the vectors are opposite, false otherwise.
|
|
1126
|
+
|
|
1127
|
+
##### scale()
|
|
1128
|
+
|
|
1129
|
+
```ts
|
|
1130
|
+
scale(c): this;
|
|
1131
|
+
```
|
|
1132
|
+
|
|
1133
|
+
Defined in: [vec3.ts:1108](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1108)
|
|
1134
|
+
|
|
1135
|
+
Scales this vector by a scalar value.
|
|
1136
|
+
|
|
1137
|
+
###### Parameters
|
|
1138
|
+
|
|
1139
|
+
| Parameter | Type | Description |
|
|
1140
|
+
| ------ | ------ | ------ |
|
|
1141
|
+
| `c` | `number` | The scalar value. |
|
|
1142
|
+
|
|
1143
|
+
###### Returns
|
|
1144
|
+
|
|
1145
|
+
`this`
|
|
1146
|
+
|
|
1147
|
+
This Vec3 instance for method chaining.
|
|
1148
|
+
|
|
1149
|
+
##### subtract()
|
|
1150
|
+
|
|
1151
|
+
```ts
|
|
1152
|
+
subtract(v): this;
|
|
1153
|
+
```
|
|
1154
|
+
|
|
1155
|
+
Defined in: [vec3.ts:703](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L703)
|
|
1156
|
+
|
|
1157
|
+
Subtracts another vector from this vector.
|
|
1158
|
+
|
|
1159
|
+
###### Parameters
|
|
1160
|
+
|
|
1161
|
+
| Parameter | Type | Description |
|
|
1162
|
+
| ------ | ------ | ------ |
|
|
1163
|
+
| `v` | [`Vec3`](#vec3) | The vector to subtract. |
|
|
1164
|
+
|
|
1165
|
+
###### Returns
|
|
1166
|
+
|
|
1167
|
+
`this`
|
|
1168
|
+
|
|
1169
|
+
This Vec3 instance for method chaining.
|
|
1170
|
+
|
|
1171
|
+
##### toJSON()
|
|
1172
|
+
|
|
1173
|
+
```ts
|
|
1174
|
+
toJSON(): {
|
|
1175
|
+
x: number;
|
|
1176
|
+
y: number;
|
|
1177
|
+
};
|
|
1178
|
+
```
|
|
1179
|
+
|
|
1180
|
+
Defined in: [vec3.ts:1159](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1159)
|
|
1181
|
+
|
|
1182
|
+
Serializes the vector to a JSON-friendly format.
|
|
1183
|
+
|
|
1184
|
+
###### Returns
|
|
1185
|
+
|
|
1186
|
+
```ts
|
|
1187
|
+
{
|
|
1188
|
+
x: number;
|
|
1189
|
+
y: number;
|
|
1190
|
+
}
|
|
1191
|
+
```
|
|
1192
|
+
|
|
1193
|
+
A JSON-friendly object representation of the vector.
|
|
1194
|
+
|
|
1195
|
+
| Name | Type | Defined in |
|
|
1196
|
+
| ------ | ------ | ------ |
|
|
1197
|
+
| `x` | `number` | [vec3.ts:1159](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1159) |
|
|
1198
|
+
| `y` | `number` | [vec3.ts:1159](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1159) |
|
|
1199
|
+
|
|
1200
|
+
##### toObject()
|
|
1201
|
+
|
|
1202
|
+
```ts
|
|
1203
|
+
toObject(): {
|
|
1204
|
+
x: number;
|
|
1205
|
+
y: number;
|
|
1206
|
+
z: number;
|
|
1207
|
+
};
|
|
1208
|
+
```
|
|
1209
|
+
|
|
1210
|
+
Defined in: [vec3.ts:1150](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1150)
|
|
1211
|
+
|
|
1212
|
+
Converts the vector to a plain object.
|
|
1213
|
+
|
|
1214
|
+
###### Returns
|
|
1215
|
+
|
|
1216
|
+
```ts
|
|
1217
|
+
{
|
|
1218
|
+
x: number;
|
|
1219
|
+
y: number;
|
|
1220
|
+
z: number;
|
|
1221
|
+
}
|
|
1222
|
+
```
|
|
1223
|
+
|
|
1224
|
+
An object with x, y and z properties.
|
|
1225
|
+
|
|
1226
|
+
| Name | Type | Defined in |
|
|
1227
|
+
| ------ | ------ | ------ |
|
|
1228
|
+
| `x` | `number` | [vec3.ts:1150](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1150) |
|
|
1229
|
+
| `y` | `number` | [vec3.ts:1150](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1150) |
|
|
1230
|
+
| `z` | `number` | [vec3.ts:1150](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1150) |
|
|
1231
|
+
|
|
1232
|
+
##### toString()
|
|
1233
|
+
|
|
1234
|
+
```ts
|
|
1235
|
+
toString(): string;
|
|
1236
|
+
```
|
|
1237
|
+
|
|
1238
|
+
Defined in: [vec3.ts:1142](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1142)
|
|
1239
|
+
|
|
1240
|
+
Returns a string representation of the vector.
|
|
1241
|
+
|
|
1242
|
+
###### Returns
|
|
1243
|
+
|
|
1244
|
+
`string`
|
|
1245
|
+
|
|
1246
|
+
A string in the format "Vec3(x, y, z)".
|
|
1247
|
+
|
|
1248
|
+
##### zero()
|
|
1249
|
+
|
|
1250
|
+
```ts
|
|
1251
|
+
zero(): this;
|
|
1252
|
+
```
|
|
1253
|
+
|
|
1254
|
+
Defined in: [vec3.ts:1120](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L1120)
|
|
1255
|
+
|
|
1256
|
+
Sets this vector to zero.
|
|
1257
|
+
|
|
1258
|
+
###### Returns
|
|
1259
|
+
|
|
1260
|
+
`this`
|
|
1261
|
+
|
|
1262
|
+
This Vec3 instance for method chaining.
|
|
1263
|
+
|
|
1264
|
+
##### add()
|
|
1265
|
+
|
|
1266
|
+
```ts
|
|
1267
|
+
static add(v, w): Vec3;
|
|
1268
|
+
```
|
|
1269
|
+
|
|
1270
|
+
Defined in: [vec3.ts:52](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L52)
|
|
1271
|
+
|
|
1272
|
+
Adds two vectors.
|
|
1273
|
+
|
|
1274
|
+
###### Parameters
|
|
1275
|
+
|
|
1276
|
+
| Parameter | Type | Description |
|
|
1277
|
+
| ------ | ------ | ------ |
|
|
1278
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1279
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1280
|
+
|
|
1281
|
+
###### Returns
|
|
1282
|
+
|
|
1283
|
+
[`Vec3`](#vec3)
|
|
1284
|
+
|
|
1285
|
+
A new Vec3 instance representing the sum.
|
|
1286
|
+
|
|
1287
|
+
##### angleBetween()
|
|
1288
|
+
|
|
1289
|
+
```ts
|
|
1290
|
+
static angleBetween(v, w): number;
|
|
1291
|
+
```
|
|
1292
|
+
|
|
1293
|
+
Defined in: [vec3.ts:96](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L96)
|
|
1294
|
+
|
|
1295
|
+
Calculates the angle between two vectors.
|
|
1296
|
+
|
|
1297
|
+
###### Parameters
|
|
1298
|
+
|
|
1299
|
+
| Parameter | Type | Description |
|
|
1300
|
+
| ------ | ------ | ------ |
|
|
1301
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1302
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1303
|
+
|
|
1304
|
+
###### Returns
|
|
1305
|
+
|
|
1306
|
+
`number`
|
|
1307
|
+
|
|
1308
|
+
The angle between the vectors in radians.
|
|
1309
|
+
|
|
1310
|
+
##### cross()
|
|
1311
|
+
|
|
1312
|
+
```ts
|
|
1313
|
+
static cross(v, w): Vec3;
|
|
1314
|
+
```
|
|
1315
|
+
|
|
1316
|
+
Defined in: [vec3.ts:108](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L108)
|
|
1317
|
+
|
|
1318
|
+
Calculates the cross product of two vectors.
|
|
1319
|
+
|
|
1320
|
+
###### Parameters
|
|
1321
|
+
|
|
1322
|
+
| Parameter | Type | Description |
|
|
1323
|
+
| ------ | ------ | ------ |
|
|
1324
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1325
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1326
|
+
|
|
1327
|
+
###### Returns
|
|
1328
|
+
|
|
1329
|
+
[`Vec3`](#vec3)
|
|
1330
|
+
|
|
1331
|
+
The cross product of the two vectors.
|
|
1332
|
+
|
|
1333
|
+
##### distance()
|
|
1334
|
+
|
|
1335
|
+
```ts
|
|
1336
|
+
static distance(v, w): number;
|
|
1337
|
+
```
|
|
1338
|
+
|
|
1339
|
+
Defined in: [vec3.ts:142](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L142)
|
|
1340
|
+
|
|
1341
|
+
Calculates the Euclidean distance between two vectors.
|
|
1342
|
+
|
|
1343
|
+
###### Parameters
|
|
1344
|
+
|
|
1345
|
+
| Parameter | Type | Description |
|
|
1346
|
+
| ------ | ------ | ------ |
|
|
1347
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1348
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1349
|
+
|
|
1350
|
+
###### Returns
|
|
1351
|
+
|
|
1352
|
+
`number`
|
|
1353
|
+
|
|
1354
|
+
The distance between the vectors.
|
|
1355
|
+
|
|
1356
|
+
##### distanceChebyshev()
|
|
1357
|
+
|
|
1358
|
+
```ts
|
|
1359
|
+
static distanceChebyshev(v, w): number;
|
|
1360
|
+
```
|
|
1361
|
+
|
|
1362
|
+
Defined in: [vec3.ts:152](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L152)
|
|
1363
|
+
|
|
1364
|
+
Calculates the Chebyshev distance between two vectors.
|
|
1365
|
+
|
|
1366
|
+
###### Parameters
|
|
1367
|
+
|
|
1368
|
+
| Parameter | Type | Description |
|
|
1369
|
+
| ------ | ------ | ------ |
|
|
1370
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1371
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1372
|
+
|
|
1373
|
+
###### Returns
|
|
1374
|
+
|
|
1375
|
+
`number`
|
|
1376
|
+
|
|
1377
|
+
The Chebyshev distance between the vectors.
|
|
1378
|
+
|
|
1379
|
+
##### distanceManhattan()
|
|
1380
|
+
|
|
1381
|
+
```ts
|
|
1382
|
+
static distanceManhattan(v, w): number;
|
|
1383
|
+
```
|
|
1384
|
+
|
|
1385
|
+
Defined in: [vec3.ts:165](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L165)
|
|
1386
|
+
|
|
1387
|
+
Calculates the Manhattan distance between two vectors.
|
|
1388
|
+
|
|
1389
|
+
###### Parameters
|
|
1390
|
+
|
|
1391
|
+
| Parameter | Type | Description |
|
|
1392
|
+
| ------ | ------ | ------ |
|
|
1393
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1394
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1395
|
+
|
|
1396
|
+
###### Returns
|
|
1397
|
+
|
|
1398
|
+
`number`
|
|
1399
|
+
|
|
1400
|
+
The Manhattan distance between the vectors.
|
|
1401
|
+
|
|
1402
|
+
##### distanceMinkowski()
|
|
1403
|
+
|
|
1404
|
+
```ts
|
|
1405
|
+
static distanceMinkowski(
|
|
1406
|
+
v,
|
|
1407
|
+
w,
|
|
1408
|
+
p): number;
|
|
1409
|
+
```
|
|
1410
|
+
|
|
1411
|
+
Defined in: [vec3.ts:176](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L176)
|
|
1412
|
+
|
|
1413
|
+
Calculates the Minkowski distance between two vectors.
|
|
1414
|
+
|
|
1415
|
+
###### Parameters
|
|
1416
|
+
|
|
1417
|
+
| Parameter | Type | Description |
|
|
1418
|
+
| ------ | ------ | ------ |
|
|
1419
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1420
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1421
|
+
| `p` | `number` | The order of the Minkowski distance. |
|
|
1422
|
+
|
|
1423
|
+
###### Returns
|
|
1424
|
+
|
|
1425
|
+
`number`
|
|
1426
|
+
|
|
1427
|
+
The Minkowski distance between the vectors.
|
|
1428
|
+
|
|
1429
|
+
##### distanceSq()
|
|
1430
|
+
|
|
1431
|
+
```ts
|
|
1432
|
+
static distanceSq(v, w): number;
|
|
1433
|
+
```
|
|
1434
|
+
|
|
1435
|
+
Defined in: [vec3.ts:188](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L188)
|
|
1436
|
+
|
|
1437
|
+
Calculates the squared Euclidean distance between two vectors.
|
|
1438
|
+
|
|
1439
|
+
###### Parameters
|
|
1440
|
+
|
|
1441
|
+
| Parameter | Type | Description |
|
|
1442
|
+
| ------ | ------ | ------ |
|
|
1443
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1444
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1445
|
+
|
|
1446
|
+
###### Returns
|
|
1447
|
+
|
|
1448
|
+
`number`
|
|
1449
|
+
|
|
1450
|
+
The squared distance between the vectors.
|
|
1451
|
+
|
|
1452
|
+
##### divide()
|
|
1453
|
+
|
|
1454
|
+
```ts
|
|
1455
|
+
static divide(v, w): Vec3;
|
|
1456
|
+
```
|
|
1457
|
+
|
|
1458
|
+
Defined in: [vec3.ts:82](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L82)
|
|
1459
|
+
|
|
1460
|
+
Divides one vector with another.
|
|
1461
|
+
|
|
1462
|
+
###### Parameters
|
|
1463
|
+
|
|
1464
|
+
| Parameter | Type | Description |
|
|
1465
|
+
| ------ | ------ | ------ |
|
|
1466
|
+
| `v` | [`Vec3`](#vec3) | Divident. |
|
|
1467
|
+
| `w` | [`Vec3`](#vec3) | Divisor. |
|
|
1468
|
+
|
|
1469
|
+
###### Returns
|
|
1470
|
+
|
|
1471
|
+
[`Vec3`](#vec3)
|
|
1472
|
+
|
|
1473
|
+
A new Vec3 instance representing the divided value.
|
|
1474
|
+
|
|
1475
|
+
##### dot()
|
|
1476
|
+
|
|
1477
|
+
```ts
|
|
1478
|
+
static dot(v, w): number;
|
|
1479
|
+
```
|
|
1480
|
+
|
|
1481
|
+
Defined in: [vec3.ts:198](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L198)
|
|
1482
|
+
|
|
1483
|
+
Calculates the dot product of two vectors.
|
|
1484
|
+
|
|
1485
|
+
###### Parameters
|
|
1486
|
+
|
|
1487
|
+
| Parameter | Type | Description |
|
|
1488
|
+
| ------ | ------ | ------ |
|
|
1489
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1490
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1491
|
+
|
|
1492
|
+
###### Returns
|
|
1493
|
+
|
|
1494
|
+
`number`
|
|
1495
|
+
|
|
1496
|
+
The dot product of the two vectors.
|
|
1497
|
+
|
|
1498
|
+
##### equals()
|
|
1499
|
+
|
|
1500
|
+
```ts
|
|
1501
|
+
static equals(
|
|
1502
|
+
v,
|
|
1503
|
+
w,
|
|
1504
|
+
epsilon): boolean;
|
|
1505
|
+
```
|
|
1506
|
+
|
|
1507
|
+
Defined in: [vec3.ts:429](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L429)
|
|
1508
|
+
|
|
1509
|
+
Compares a vector with another vector using an epsilon value for floating-point comparison.
|
|
1510
|
+
|
|
1511
|
+
###### Parameters
|
|
1512
|
+
|
|
1513
|
+
| Parameter | Type | Default value | Description |
|
|
1514
|
+
| ------ | ------ | ------ | ------ |
|
|
1515
|
+
| `v` | [`Vec3`](#vec3) | `undefined` | The first vector. |
|
|
1516
|
+
| `w` | [`Vec3`](#vec3) | `undefined` | The second vector. |
|
|
1517
|
+
| `epsilon` | `number` | `Number.EPSILON` | The maximum difference between components to consider them equal. |
|
|
1518
|
+
|
|
1519
|
+
###### Returns
|
|
1520
|
+
|
|
1521
|
+
`boolean`
|
|
1522
|
+
|
|
1523
|
+
True if the vectors are equal within epsilon, false otherwise.
|
|
1524
|
+
|
|
1525
|
+
##### fromArray()
|
|
1526
|
+
|
|
1527
|
+
```ts
|
|
1528
|
+
static fromArray(arr): Vec3;
|
|
1529
|
+
```
|
|
1530
|
+
|
|
1531
|
+
Defined in: [vec3.ts:468](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L468)
|
|
1532
|
+
|
|
1533
|
+
Creates a Vec3 from an array.
|
|
1534
|
+
|
|
1535
|
+
###### Parameters
|
|
1536
|
+
|
|
1537
|
+
| Parameter | Type | Description |
|
|
1538
|
+
| ------ | ------ | ------ |
|
|
1539
|
+
| `arr` | `number`[] \| \[`number`, `number`, `number`\] | An array containing the x, y, and z coordinates. |
|
|
1540
|
+
|
|
1541
|
+
###### Returns
|
|
1542
|
+
|
|
1543
|
+
[`Vec3`](#vec3)
|
|
1544
|
+
|
|
1545
|
+
A new Vec3 instance.
|
|
1546
|
+
|
|
1547
|
+
##### fromCylindricalCoords()
|
|
1548
|
+
|
|
1549
|
+
```ts
|
|
1550
|
+
static fromCylindricalCoords(
|
|
1551
|
+
r,
|
|
1552
|
+
phi,
|
|
1553
|
+
z): Vec3;
|
|
1554
|
+
```
|
|
1555
|
+
|
|
1556
|
+
Defined in: [vec3.ts:209](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L209)
|
|
1557
|
+
|
|
1558
|
+
Creates a Vec3 from cylindrical coordinates.
|
|
1559
|
+
|
|
1560
|
+
###### Parameters
|
|
1561
|
+
|
|
1562
|
+
| Parameter | Type | Description |
|
|
1563
|
+
| ------ | ------ | ------ |
|
|
1564
|
+
| `r` | `number` | Radial distance from the z-axis |
|
|
1565
|
+
| `phi` | `number` | Azimuthal angle in the x-y plane from the x-axis |
|
|
1566
|
+
| `z` | `number` | Height above the x-y plane |
|
|
1567
|
+
|
|
1568
|
+
###### Returns
|
|
1569
|
+
|
|
1570
|
+
[`Vec3`](#vec3)
|
|
1571
|
+
|
|
1572
|
+
New Vec3 instance
|
|
1573
|
+
|
|
1574
|
+
##### fromJSON()
|
|
1575
|
+
|
|
1576
|
+
```ts
|
|
1577
|
+
static fromJSON(json): Vec3;
|
|
1578
|
+
```
|
|
1579
|
+
|
|
1580
|
+
Defined in: [vec3.ts:486](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L486)
|
|
1581
|
+
|
|
1582
|
+
Creates a Vec3 instance from a JSON-parsed object.
|
|
1583
|
+
|
|
1584
|
+
###### Parameters
|
|
1585
|
+
|
|
1586
|
+
| Parameter | Type | Description |
|
|
1587
|
+
| ------ | ------ | ------ |
|
|
1588
|
+
| `json` | \{ `x`: `number`; `y`: `number`; `z`: `number`; \} | The JSON-parsed object containing x and y properties. |
|
|
1589
|
+
| `json.x` | `number` | - |
|
|
1590
|
+
| `json.y` | `number` | - |
|
|
1591
|
+
| `json.z` | `number` | - |
|
|
1592
|
+
|
|
1593
|
+
###### Returns
|
|
1594
|
+
|
|
1595
|
+
[`Vec3`](#vec3)
|
|
1596
|
+
|
|
1597
|
+
A new Vec3 instance.
|
|
1598
|
+
|
|
1599
|
+
##### fromObject()
|
|
1600
|
+
|
|
1601
|
+
```ts
|
|
1602
|
+
static fromObject(obj): Vec3;
|
|
1603
|
+
```
|
|
1604
|
+
|
|
1605
|
+
Defined in: [vec3.ts:477](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L477)
|
|
1606
|
+
|
|
1607
|
+
Creates a Vec3 from an object with x, y and z properties.
|
|
1608
|
+
|
|
1609
|
+
###### Parameters
|
|
1610
|
+
|
|
1611
|
+
| Parameter | Type | Description |
|
|
1612
|
+
| ------ | ------ | ------ |
|
|
1613
|
+
| `obj` | \{ `x`: `number`; `y`: `number`; `z`: `number`; \} | An object with x, y, and z properties. |
|
|
1614
|
+
| `obj.x` | `number` | - |
|
|
1615
|
+
| `obj.y` | `number` | - |
|
|
1616
|
+
| `obj.z` | `number` | - |
|
|
1617
|
+
|
|
1618
|
+
###### Returns
|
|
1619
|
+
|
|
1620
|
+
[`Vec3`](#vec3)
|
|
1621
|
+
|
|
1622
|
+
A new Vec3 instance.
|
|
1623
|
+
|
|
1624
|
+
##### fromSphericalCoords()
|
|
1625
|
+
|
|
1626
|
+
```ts
|
|
1627
|
+
static fromSphericalCoords(
|
|
1628
|
+
r,
|
|
1629
|
+
theta,
|
|
1630
|
+
phi): Vec3;
|
|
1631
|
+
```
|
|
1632
|
+
|
|
1633
|
+
Defined in: [vec3.ts:220](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L220)
|
|
1634
|
+
|
|
1635
|
+
Creates a Vec3 from spherical coordinates.
|
|
1636
|
+
|
|
1637
|
+
###### Parameters
|
|
1638
|
+
|
|
1639
|
+
| Parameter | Type | Description |
|
|
1640
|
+
| ------ | ------ | ------ |
|
|
1641
|
+
| `r` | `number` | Radial distance from origin |
|
|
1642
|
+
| `theta` | `number` | Polar angle from the z-axis |
|
|
1643
|
+
| `phi` | `number` | Azimuthal angle in the x-y plane from the x-axis |
|
|
1644
|
+
|
|
1645
|
+
###### Returns
|
|
1646
|
+
|
|
1647
|
+
[`Vec3`](#vec3)
|
|
1648
|
+
|
|
1649
|
+
New Vec3 instance
|
|
1650
|
+
|
|
1651
|
+
##### immutable()
|
|
1652
|
+
|
|
1653
|
+
```ts
|
|
1654
|
+
static immutable(
|
|
1655
|
+
x,
|
|
1656
|
+
y,
|
|
1657
|
+
z): {
|
|
1658
|
+
get angleX(): number;
|
|
1659
|
+
get angleY(): number;
|
|
1660
|
+
get angleZ(): number;
|
|
1661
|
+
get b(): number;
|
|
1662
|
+
get g(): number;
|
|
1663
|
+
get isInfinite(): boolean;
|
|
1664
|
+
get isNaN(): boolean;
|
|
1665
|
+
get isZero(): boolean;
|
|
1666
|
+
get magnitude(): number;
|
|
1667
|
+
get magnitudeSq(): number;
|
|
1668
|
+
get r(): number;
|
|
1669
|
+
get rgb(): readonly number[];
|
|
1670
|
+
get x(): number;
|
|
1671
|
+
get xyz(): readonly number[];
|
|
1672
|
+
get y(): number;
|
|
1673
|
+
get z(): number;
|
|
1674
|
+
};
|
|
1675
|
+
```
|
|
1676
|
+
|
|
1677
|
+
Defined in: [vec3.ts:231](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L231)
|
|
1678
|
+
|
|
1679
|
+
Creates an immutable Vec3-like object.
|
|
1680
|
+
|
|
1681
|
+
###### Parameters
|
|
1682
|
+
|
|
1683
|
+
| Parameter | Type | Default value | Description |
|
|
1684
|
+
| ------ | ------ | ------ | ------ |
|
|
1685
|
+
| `x` | `number` | `0` | The x-coordinate of the vector. |
|
|
1686
|
+
| `y` | `number` | `0` | The y-coordinate of the vector. |
|
|
1687
|
+
| `z` | `number` | `0` | The z-coordinate of the vector. |
|
|
1688
|
+
|
|
1689
|
+
###### Returns
|
|
1690
|
+
|
|
1691
|
+
```ts
|
|
1692
|
+
{
|
|
1693
|
+
get angleX(): number;
|
|
1694
|
+
get angleY(): number;
|
|
1695
|
+
get angleZ(): number;
|
|
1696
|
+
get b(): number;
|
|
1697
|
+
get g(): number;
|
|
1698
|
+
get isInfinite(): boolean;
|
|
1699
|
+
get isNaN(): boolean;
|
|
1700
|
+
get isZero(): boolean;
|
|
1701
|
+
get magnitude(): number;
|
|
1702
|
+
get magnitudeSq(): number;
|
|
1703
|
+
get r(): number;
|
|
1704
|
+
get rgb(): readonly number[];
|
|
1705
|
+
get x(): number;
|
|
1706
|
+
get xyz(): readonly number[];
|
|
1707
|
+
get y(): number;
|
|
1708
|
+
get z(): number;
|
|
1709
|
+
}
|
|
1710
|
+
```
|
|
1711
|
+
|
|
1712
|
+
An immutable object with Vec3-like properties.
|
|
1713
|
+
|
|
1714
|
+
| Name | Type | Defined in |
|
|
1715
|
+
| ------ | ------ | ------ |
|
|
1716
|
+
| `get angleX` | `number` | [vec3.ts:284](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L284) |
|
|
1717
|
+
| `get angleY` | `number` | [vec3.ts:287](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L287) |
|
|
1718
|
+
| `get angleZ` | `number` | [vec3.ts:290](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L290) |
|
|
1719
|
+
| `get b` | `number` | [vec3.ts:272](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L272) |
|
|
1720
|
+
| `get g` | `number` | [vec3.ts:269](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L269) |
|
|
1721
|
+
| `get isInfinite` | `boolean` | [vec3.ts:293](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L293) |
|
|
1722
|
+
| `get isNaN` | `boolean` | [vec3.ts:296](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L296) |
|
|
1723
|
+
| `get isZero` | `boolean` | [vec3.ts:299](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L299) |
|
|
1724
|
+
| `get magnitude` | `number` | [vec3.ts:278](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L278) |
|
|
1725
|
+
| `get magnitudeSq` | `number` | [vec3.ts:281](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L281) |
|
|
1726
|
+
| `get r` | `number` | [vec3.ts:266](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L266) |
|
|
1727
|
+
| `get rgb` | readonly `number`[] | [vec3.ts:275](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L275) |
|
|
1728
|
+
| `get x` | `number` | [vec3.ts:254](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L254) |
|
|
1729
|
+
| `get xyz` | readonly `number`[] | [vec3.ts:263](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L263) |
|
|
1730
|
+
| `get y` | `number` | [vec3.ts:257](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L257) |
|
|
1731
|
+
| `get z` | `number` | [vec3.ts:260](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L260) |
|
|
1732
|
+
|
|
1733
|
+
##### isInfinite()
|
|
1734
|
+
|
|
1735
|
+
```ts
|
|
1736
|
+
static isInfinite(v): boolean;
|
|
1737
|
+
```
|
|
1738
|
+
|
|
1739
|
+
Defined in: [vec3.ts:310](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L310)
|
|
1740
|
+
|
|
1741
|
+
Checks if a vector has infinite components.
|
|
1742
|
+
|
|
1743
|
+
###### Parameters
|
|
1744
|
+
|
|
1745
|
+
| Parameter | Type | Description |
|
|
1746
|
+
| ------ | ------ | ------ |
|
|
1747
|
+
| `v` | [`Vec3`](#vec3) | The vector to check. |
|
|
1748
|
+
|
|
1749
|
+
###### Returns
|
|
1750
|
+
|
|
1751
|
+
`boolean`
|
|
1752
|
+
|
|
1753
|
+
True if the vector has infinite components, false otherwise.
|
|
1754
|
+
|
|
1755
|
+
##### isNaN()
|
|
1756
|
+
|
|
1757
|
+
```ts
|
|
1758
|
+
static isNaN(v): boolean;
|
|
1759
|
+
```
|
|
1760
|
+
|
|
1761
|
+
Defined in: [vec3.ts:329](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L329)
|
|
1762
|
+
|
|
1763
|
+
Checks if a vector has NaN components.
|
|
1764
|
+
|
|
1765
|
+
###### Parameters
|
|
1766
|
+
|
|
1767
|
+
| Parameter | Type | Description |
|
|
1768
|
+
| ------ | ------ | ------ |
|
|
1769
|
+
| `v` | [`Vec3`](#vec3) | The vector to check. |
|
|
1770
|
+
|
|
1771
|
+
###### Returns
|
|
1772
|
+
|
|
1773
|
+
`boolean`
|
|
1774
|
+
|
|
1775
|
+
True if the vector has NaN components, false otherwise.
|
|
1776
|
+
|
|
1777
|
+
##### isZero()
|
|
1778
|
+
|
|
1779
|
+
```ts
|
|
1780
|
+
static isZero(v): boolean;
|
|
1781
|
+
```
|
|
1782
|
+
|
|
1783
|
+
Defined in: [vec3.ts:338](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L338)
|
|
1784
|
+
|
|
1785
|
+
Checks if a vector is zero.
|
|
1786
|
+
|
|
1787
|
+
###### Parameters
|
|
1788
|
+
|
|
1789
|
+
| Parameter | Type | Description |
|
|
1790
|
+
| ------ | ------ | ------ |
|
|
1791
|
+
| `v` | [`Vec3`](#vec3) | The vector to check. |
|
|
1792
|
+
|
|
1793
|
+
###### Returns
|
|
1794
|
+
|
|
1795
|
+
`boolean`
|
|
1796
|
+
|
|
1797
|
+
True if the vector is zero, false otherwise.
|
|
1798
|
+
|
|
1799
|
+
##### lerp()
|
|
1800
|
+
|
|
1801
|
+
```ts
|
|
1802
|
+
static lerp(
|
|
1803
|
+
v,
|
|
1804
|
+
w,
|
|
1805
|
+
t): Vec3;
|
|
1806
|
+
```
|
|
1807
|
+
|
|
1808
|
+
Defined in: [vec3.ts:349](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L349)
|
|
1809
|
+
|
|
1810
|
+
Performs linear interpolation between two vectors.
|
|
1811
|
+
|
|
1812
|
+
###### Parameters
|
|
1813
|
+
|
|
1814
|
+
| Parameter | Type | Description |
|
|
1815
|
+
| ------ | ------ | ------ |
|
|
1816
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1817
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1818
|
+
| `t` | `number` | The interpolation parameter (0 to 1). |
|
|
1819
|
+
|
|
1820
|
+
###### Returns
|
|
1821
|
+
|
|
1822
|
+
[`Vec3`](#vec3)
|
|
1823
|
+
|
|
1824
|
+
A new Vec3 instance representing the interpolated vector.
|
|
1825
|
+
|
|
1826
|
+
##### multiply()
|
|
1827
|
+
|
|
1828
|
+
```ts
|
|
1829
|
+
static multiply(v, w): Vec3;
|
|
1830
|
+
```
|
|
1831
|
+
|
|
1832
|
+
Defined in: [vec3.ts:72](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L72)
|
|
1833
|
+
|
|
1834
|
+
Multiplies one vector with another.
|
|
1835
|
+
|
|
1836
|
+
###### Parameters
|
|
1837
|
+
|
|
1838
|
+
| Parameter | Type | Description |
|
|
1839
|
+
| ------ | ------ | ------ |
|
|
1840
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1841
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1842
|
+
|
|
1843
|
+
###### Returns
|
|
1844
|
+
|
|
1845
|
+
[`Vec3`](#vec3)
|
|
1846
|
+
|
|
1847
|
+
A new Vec3 instance representing the multiplied value.
|
|
1848
|
+
|
|
1849
|
+
##### negate()
|
|
1850
|
+
|
|
1851
|
+
```ts
|
|
1852
|
+
static negate(v): Vec3;
|
|
1853
|
+
```
|
|
1854
|
+
|
|
1855
|
+
Defined in: [vec3.ts:363](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L363)
|
|
1856
|
+
|
|
1857
|
+
Negates a vector.
|
|
1858
|
+
|
|
1859
|
+
###### Parameters
|
|
1860
|
+
|
|
1861
|
+
| Parameter | Type | Description |
|
|
1862
|
+
| ------ | ------ | ------ |
|
|
1863
|
+
| `v` | [`Vec3`](#vec3) | The vector to negate. |
|
|
1864
|
+
|
|
1865
|
+
###### Returns
|
|
1866
|
+
|
|
1867
|
+
[`Vec3`](#vec3)
|
|
1868
|
+
|
|
1869
|
+
A new Vec3 instance representing the negated vector.
|
|
1870
|
+
|
|
1871
|
+
##### normalize()
|
|
1872
|
+
|
|
1873
|
+
```ts
|
|
1874
|
+
static normalize(v): Vec3;
|
|
1875
|
+
```
|
|
1876
|
+
|
|
1877
|
+
Defined in: [vec3.ts:372](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L372)
|
|
1878
|
+
|
|
1879
|
+
Normalizes a vector.
|
|
1880
|
+
|
|
1881
|
+
###### Parameters
|
|
1882
|
+
|
|
1883
|
+
| Parameter | Type | Description |
|
|
1884
|
+
| ------ | ------ | ------ |
|
|
1885
|
+
| `v` | [`Vec3`](#vec3) | The vector to normalize. |
|
|
1886
|
+
|
|
1887
|
+
###### Returns
|
|
1888
|
+
|
|
1889
|
+
[`Vec3`](#vec3)
|
|
1890
|
+
|
|
1891
|
+
A new Vec3 instance representing the normalized vector.
|
|
1892
|
+
|
|
1893
|
+
##### one()
|
|
1894
|
+
|
|
1895
|
+
```ts
|
|
1896
|
+
static one(): Vec3;
|
|
1897
|
+
```
|
|
1898
|
+
|
|
1899
|
+
Defined in: [vec3.ts:459](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L459)
|
|
1900
|
+
|
|
1901
|
+
Creates a vector with all components set to 1.0.
|
|
1902
|
+
|
|
1903
|
+
###### Returns
|
|
1904
|
+
|
|
1905
|
+
[`Vec3`](#vec3)
|
|
1906
|
+
|
|
1907
|
+
A new Vec3 instance representing a vector with all components set to 1.0.
|
|
1908
|
+
|
|
1909
|
+
##### project()
|
|
1910
|
+
|
|
1911
|
+
```ts
|
|
1912
|
+
static project(v, w): Vec3;
|
|
1913
|
+
```
|
|
1914
|
+
|
|
1915
|
+
Defined in: [vec3.ts:383](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L383)
|
|
1916
|
+
|
|
1917
|
+
Projects one vector onto another.
|
|
1918
|
+
|
|
1919
|
+
###### Parameters
|
|
1920
|
+
|
|
1921
|
+
| Parameter | Type | Description |
|
|
1922
|
+
| ------ | ------ | ------ |
|
|
1923
|
+
| `v` | [`Vec3`](#vec3) | The vector to project. |
|
|
1924
|
+
| `w` | [`Vec3`](#vec3) | The vector to project onto. |
|
|
1925
|
+
|
|
1926
|
+
###### Returns
|
|
1927
|
+
|
|
1928
|
+
[`Vec3`](#vec3)
|
|
1929
|
+
|
|
1930
|
+
A new Vec3 instance representing the projected vector.
|
|
1931
|
+
|
|
1932
|
+
##### random()
|
|
1933
|
+
|
|
1934
|
+
```ts
|
|
1935
|
+
static random(random): Vec3;
|
|
1936
|
+
```
|
|
1937
|
+
|
|
1938
|
+
Defined in: [vec3.ts:398](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L398)
|
|
1939
|
+
|
|
1940
|
+
Creates a random unit vector.
|
|
1941
|
+
|
|
1942
|
+
###### Parameters
|
|
1943
|
+
|
|
1944
|
+
| Parameter | Type | Default value | Description |
|
|
1945
|
+
| ------ | ------ | ------ | ------ |
|
|
1946
|
+
| `random` | () => `number` | `Math.random` | A function that returns a random number between 0 and 1. |
|
|
1947
|
+
|
|
1948
|
+
###### Returns
|
|
1949
|
+
|
|
1950
|
+
[`Vec3`](#vec3)
|
|
1951
|
+
|
|
1952
|
+
A new Vec3 instance representing a random unit vector.
|
|
1953
|
+
|
|
1954
|
+
##### reflect()
|
|
1955
|
+
|
|
1956
|
+
```ts
|
|
1957
|
+
static reflect(v, normal): Vec3;
|
|
1958
|
+
```
|
|
1959
|
+
|
|
1960
|
+
Defined in: [vec3.ts:125](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L125)
|
|
1961
|
+
|
|
1962
|
+
Reflects a vector across a normal vector.
|
|
1963
|
+
The normal vector should be normalized (unit length).
|
|
1964
|
+
|
|
1965
|
+
###### Parameters
|
|
1966
|
+
|
|
1967
|
+
| Parameter | Type | Description |
|
|
1968
|
+
| ------ | ------ | ------ |
|
|
1969
|
+
| `v` | [`Vec3`](#vec3) | The vector to reflect. |
|
|
1970
|
+
| `normal` | [`Vec3`](#vec3) | The normal vector to reflect across (must be normalized). |
|
|
1971
|
+
|
|
1972
|
+
###### Returns
|
|
1973
|
+
|
|
1974
|
+
[`Vec3`](#vec3)
|
|
1975
|
+
|
|
1976
|
+
A new Vec3 instance representing the reflected vector.
|
|
1977
|
+
|
|
1978
|
+
##### satisfyEquality()
|
|
1979
|
+
|
|
1980
|
+
```ts
|
|
1981
|
+
static satisfyEquality(v, w): boolean;
|
|
1982
|
+
```
|
|
1983
|
+
|
|
1984
|
+
Defined in: [vec3.ts:408](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L408)
|
|
1985
|
+
|
|
1986
|
+
Checks if two vectors are equal.
|
|
1987
|
+
|
|
1988
|
+
###### Parameters
|
|
1989
|
+
|
|
1990
|
+
| Parameter | Type | Description |
|
|
1991
|
+
| ------ | ------ | ------ |
|
|
1992
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
1993
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
1994
|
+
|
|
1995
|
+
###### Returns
|
|
1996
|
+
|
|
1997
|
+
`boolean`
|
|
1998
|
+
|
|
1999
|
+
True if the vectors are equal, false otherwise.
|
|
2000
|
+
|
|
2001
|
+
##### satisfyOpposition()
|
|
2002
|
+
|
|
2003
|
+
```ts
|
|
2004
|
+
static satisfyOpposition(v, w): boolean;
|
|
2005
|
+
```
|
|
2006
|
+
|
|
2007
|
+
Defined in: [vec3.ts:418](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L418)
|
|
2008
|
+
|
|
2009
|
+
Checks if two vectors are opposite.
|
|
2010
|
+
|
|
2011
|
+
###### Parameters
|
|
2012
|
+
|
|
2013
|
+
| Parameter | Type | Description |
|
|
2014
|
+
| ------ | ------ | ------ |
|
|
2015
|
+
| `v` | [`Vec3`](#vec3) | The first vector. |
|
|
2016
|
+
| `w` | [`Vec3`](#vec3) | The second vector. |
|
|
2017
|
+
|
|
2018
|
+
###### Returns
|
|
2019
|
+
|
|
2020
|
+
`boolean`
|
|
2021
|
+
|
|
2022
|
+
True if the vectors are opposite, false otherwise.
|
|
2023
|
+
|
|
2024
|
+
##### scale()
|
|
2025
|
+
|
|
2026
|
+
```ts
|
|
2027
|
+
static scale(v, c): Vec3;
|
|
2028
|
+
```
|
|
2029
|
+
|
|
2030
|
+
Defined in: [vec3.ts:443](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L443)
|
|
2031
|
+
|
|
2032
|
+
Scales a vector by a scalar value.
|
|
2033
|
+
|
|
2034
|
+
###### Parameters
|
|
2035
|
+
|
|
2036
|
+
| Parameter | Type | Description |
|
|
2037
|
+
| ------ | ------ | ------ |
|
|
2038
|
+
| `v` | [`Vec3`](#vec3) | The vector to scale. |
|
|
2039
|
+
| `c` | `number` | The scalar value. |
|
|
2040
|
+
|
|
2041
|
+
###### Returns
|
|
2042
|
+
|
|
2043
|
+
[`Vec3`](#vec3)
|
|
2044
|
+
|
|
2045
|
+
A new Vec3 instance representing the scaled vector.
|
|
2046
|
+
|
|
2047
|
+
##### subtract()
|
|
2048
|
+
|
|
2049
|
+
```ts
|
|
2050
|
+
static subtract(v, w): Vec3;
|
|
2051
|
+
```
|
|
2052
|
+
|
|
2053
|
+
Defined in: [vec3.ts:62](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L62)
|
|
2054
|
+
|
|
2055
|
+
Subtracts one vector from another.
|
|
2056
|
+
|
|
2057
|
+
###### Parameters
|
|
2058
|
+
|
|
2059
|
+
| Parameter | Type | Description |
|
|
2060
|
+
| ------ | ------ | ------ |
|
|
2061
|
+
| `v` | [`Vec3`](#vec3) | The vector to subtract from. |
|
|
2062
|
+
| `w` | [`Vec3`](#vec3) | The vector to subtract. |
|
|
2063
|
+
|
|
2064
|
+
###### Returns
|
|
2065
|
+
|
|
2066
|
+
[`Vec3`](#vec3)
|
|
2067
|
+
|
|
2068
|
+
A new Vec3 instance representing the difference.
|
|
2069
|
+
|
|
2070
|
+
##### zero()
|
|
2071
|
+
|
|
2072
|
+
```ts
|
|
2073
|
+
static zero(): Vec3;
|
|
2074
|
+
```
|
|
2075
|
+
|
|
2076
|
+
Defined in: [vec3.ts:451](https://github.com/claus-codes/vec/blob/1a991556255e5555afd05799362abaa631fc20cc/src/vec3.ts#L451)
|
|
2077
|
+
|
|
2078
|
+
Creates a zero vector.
|
|
2079
|
+
|
|
2080
|
+
###### Returns
|
|
2081
|
+
|
|
2082
|
+
[`Vec3`](#vec3)
|
|
2083
|
+
|
|
2084
|
+
A new Vec3 instance representing a zero vector.
|