@lakuna/umath 0.0.3 → 0.0.5

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.
Files changed (136) hide show
  1. package/README.md +33 -0
  2. package/dist/algorithms/combinations.d.ts +2 -0
  3. package/dist/algorithms/combinations.d.ts.map +1 -0
  4. package/dist/algorithms/combinations.js +5 -0
  5. package/dist/algorithms/combinations.js.map +1 -0
  6. package/dist/algorithms/degreesToRadians.d.ts +2 -0
  7. package/dist/algorithms/degreesToRadians.d.ts.map +1 -0
  8. package/dist/algorithms/degreesToRadians.js +4 -0
  9. package/dist/algorithms/degreesToRadians.js.map +1 -0
  10. package/dist/algorithms/factorial.d.ts +2 -0
  11. package/dist/algorithms/factorial.d.ts.map +1 -0
  12. package/dist/algorithms/factorial.js +4 -0
  13. package/dist/algorithms/factorial.js.map +1 -0
  14. package/dist/algorithms/fibonacci.d.ts +2 -0
  15. package/dist/algorithms/fibonacci.d.ts.map +1 -0
  16. package/dist/algorithms/fibonacci.js +9 -0
  17. package/dist/algorithms/fibonacci.js.map +1 -0
  18. package/dist/algorithms/isPrime.d.ts +2 -0
  19. package/dist/algorithms/isPrime.d.ts.map +1 -0
  20. package/dist/algorithms/isPrime.js +12 -0
  21. package/dist/algorithms/isPrime.js.map +1 -0
  22. package/dist/algorithms/permutations.d.ts +2 -0
  23. package/dist/algorithms/permutations.d.ts.map +1 -0
  24. package/dist/algorithms/permutations.js +5 -0
  25. package/dist/algorithms/permutations.js.map +1 -0
  26. package/dist/algorithms/primeFactorization.d.ts +2 -0
  27. package/dist/algorithms/primeFactorization.d.ts.map +1 -0
  28. package/dist/algorithms/primeFactorization.js +15 -0
  29. package/dist/algorithms/primeFactorization.js.map +1 -0
  30. package/dist/algorithms/radiansToDegrees.d.ts +2 -0
  31. package/dist/algorithms/radiansToDegrees.d.ts.map +1 -0
  32. package/dist/algorithms/radiansToDegrees.js +4 -0
  33. package/dist/algorithms/radiansToDegrees.js.map +1 -0
  34. package/dist/algorithms/summation.d.ts.map +1 -1
  35. package/dist/algorithms/summation.js.map +1 -1
  36. package/dist/index.d.ts +24 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +19 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/linear/DualQuaternion.d.ts +89 -0
  41. package/dist/linear/DualQuaternion.d.ts.map +1 -0
  42. package/dist/linear/DualQuaternion.js +530 -0
  43. package/dist/linear/DualQuaternion.js.map +1 -0
  44. package/dist/linear/Matrix.d.ts +18 -0
  45. package/dist/linear/Matrix.d.ts.map +1 -0
  46. package/dist/linear/Matrix.js +2 -0
  47. package/dist/linear/Matrix.js.map +1 -0
  48. package/dist/linear/Matrix2.d.ts +67 -0
  49. package/dist/linear/Matrix2.d.ts.map +1 -0
  50. package/dist/linear/Matrix2.js +240 -0
  51. package/dist/linear/Matrix2.js.map +1 -0
  52. package/dist/linear/Matrix3.d.ts +92 -0
  53. package/dist/linear/Matrix3.d.ts.map +1 -0
  54. package/dist/linear/Matrix3.js +533 -0
  55. package/dist/linear/Matrix3.js.map +1 -0
  56. package/dist/linear/Matrix4.d.ts +144 -0
  57. package/dist/linear/Matrix4.d.ts.map +1 -0
  58. package/dist/linear/Matrix4.js +1363 -0
  59. package/dist/linear/Matrix4.js.map +1 -0
  60. package/dist/linear/Quaternion.d.ts +82 -0
  61. package/dist/linear/Quaternion.d.ts.map +1 -0
  62. package/dist/linear/Quaternion.js +370 -0
  63. package/dist/linear/Quaternion.js.map +1 -0
  64. package/dist/linear/SquareMatrix.d.ts +7 -0
  65. package/dist/linear/SquareMatrix.d.ts.map +1 -0
  66. package/dist/linear/SquareMatrix.js +2 -0
  67. package/dist/linear/SquareMatrix.js.map +1 -0
  68. package/dist/linear/Vector.d.ts +30 -0
  69. package/dist/linear/Vector.d.ts.map +1 -0
  70. package/dist/linear/Vector.js +2 -0
  71. package/dist/linear/Vector.js.map +1 -0
  72. package/dist/linear/Vector2.d.ts +97 -0
  73. package/dist/linear/Vector2.d.ts.map +1 -0
  74. package/dist/linear/Vector2.js +293 -0
  75. package/dist/linear/Vector2.js.map +1 -0
  76. package/dist/linear/Vector3.d.ts +112 -0
  77. package/dist/linear/Vector3.d.ts.map +1 -0
  78. package/dist/linear/Vector3.js +466 -0
  79. package/dist/linear/Vector3.js.map +1 -0
  80. package/dist/linear/Vector4.d.ts +87 -0
  81. package/dist/linear/Vector4.d.ts.map +1 -0
  82. package/dist/linear/Vector4.js +348 -0
  83. package/dist/linear/Vector4.js.map +1 -0
  84. package/dist/types/AxisAngle.d.ts +6 -0
  85. package/dist/types/AxisAngle.d.ts.map +1 -0
  86. package/dist/types/AxisAngle.js +2 -0
  87. package/dist/types/AxisAngle.js.map +1 -0
  88. package/dist/types/FieldOfView.d.ts +7 -0
  89. package/dist/types/FieldOfView.d.ts.map +1 -0
  90. package/dist/types/FieldOfView.js +2 -0
  91. package/dist/types/FieldOfView.js.map +1 -0
  92. package/dist/utility/BigNumber.d.ts +1 -1
  93. package/dist/utility/BigNumber.d.ts.map +1 -1
  94. package/dist/utility/BigNumber.js +4 -1
  95. package/dist/utility/BigNumber.js.map +1 -1
  96. package/dist/utility/MagnitudeError.d.ts +4 -0
  97. package/dist/utility/MagnitudeError.d.ts.map +1 -0
  98. package/dist/utility/MagnitudeError.js +6 -0
  99. package/dist/utility/MagnitudeError.js.map +1 -0
  100. package/dist/utility/SingularMatrixError.d.ts +4 -0
  101. package/dist/utility/SingularMatrixError.d.ts.map +1 -0
  102. package/dist/utility/SingularMatrixError.js +6 -0
  103. package/dist/utility/SingularMatrixError.js.map +1 -0
  104. package/dist/utility/epsilon.d.ts +3 -0
  105. package/dist/utility/epsilon.d.ts.map +1 -0
  106. package/dist/utility/epsilon.js +2 -0
  107. package/dist/utility/epsilon.js.map +1 -0
  108. package/package.json +29 -18
  109. package/src/algorithms/combinations.ts +12 -0
  110. package/src/algorithms/degreesToRadians.ts +10 -0
  111. package/src/algorithms/factorial.ts +9 -0
  112. package/src/algorithms/fibonacci.ts +14 -0
  113. package/src/algorithms/greatestCommonDivisor.ts +2 -2
  114. package/src/algorithms/isPrime.ts +20 -0
  115. package/src/algorithms/permutations.ts +12 -0
  116. package/src/algorithms/primeFactorization.ts +21 -0
  117. package/src/algorithms/radiansToDegrees.ts +10 -0
  118. package/src/algorithms/summation.ts +4 -1
  119. package/src/index.ts +24 -0
  120. package/src/linear/DualQuaternion.ts +1217 -0
  121. package/src/linear/Matrix.ts +106 -0
  122. package/src/linear/Matrix2.ts +717 -0
  123. package/src/linear/Matrix3.ts +1202 -0
  124. package/src/linear/Matrix4.ts +2607 -0
  125. package/src/linear/Quaternion.ts +989 -0
  126. package/src/linear/SquareMatrix.ts +27 -0
  127. package/src/linear/Vector.ts +178 -0
  128. package/src/linear/Vector2.ts +987 -0
  129. package/src/linear/Vector3.ts +1328 -0
  130. package/src/linear/Vector4.ts +983 -0
  131. package/src/types/AxisAngle.ts +10 -0
  132. package/src/types/FieldOfView.ts +14 -0
  133. package/src/utility/BigNumber.ts +2 -1
  134. package/src/utility/MagnitudeError.ts +10 -0
  135. package/src/utility/SingularMatrixError.ts +13 -0
  136. package/src/utility/epsilon.ts +2 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Quaternion.js","sourceRoot":"","sources":["../../src/linear/Quaternion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Matrix } from "@lakuna/umath";
2
+ export default interface SquareMatrix extends Matrix {
3
+ get determinant(): number;
4
+ identity(): this;
5
+ invert(): SquareMatrix;
6
+ }
7
+ //# sourceMappingURL=SquareMatrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SquareMatrix.d.ts","sourceRoot":"","sources":["../../src/linear/SquareMatrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAM5C,MAAM,CAAC,OAAO,WAAW,YAAa,SAAQ,MAAM;IAKnD,IAAI,WAAW,IAAI,MAAM,CAAC;IAO1B,QAAQ,IAAI,IAAI,CAAC;IAOjB,MAAM,IAAI,YAAY,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SquareMatrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SquareMatrix.js","sourceRoot":"","sources":["../../src/linear/SquareMatrix.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ export type VectorLike = Vector | Iterable<number>;
2
+ export default interface Vector extends Iterable<number> {
3
+ equals(vector: VectorLike): boolean;
4
+ exactEquals(vector: VectorLike): boolean;
5
+ add(vector: VectorLike): Vector;
6
+ clone(): Vector;
7
+ copy(vector: VectorLike): this;
8
+ multiply(vector: VectorLike): Vector;
9
+ divide(vector: VectorLike): Vector;
10
+ subtract(vector: VectorLike): Vector;
11
+ ceil(): Vector;
12
+ floor(): Vector;
13
+ round(): Vector;
14
+ min(vector: VectorLike): Vector;
15
+ max(vector: VectorLike): Vector;
16
+ scale(scalar: number): Vector;
17
+ scaleAndAdd(vector: VectorLike, scalar: number): Vector;
18
+ distance(vector: VectorLike): number;
19
+ squaredDistance(vector: VectorLike): number;
20
+ get magnitude(): number;
21
+ get squaredMagnitude(): number;
22
+ negate(): Vector;
23
+ inverse(): Vector;
24
+ normalize(): Vector;
25
+ dot(vector: VectorLike): number;
26
+ lerp(vector: VectorLike, t: number): Vector;
27
+ random(magnitude: number): this;
28
+ zero(): this;
29
+ }
30
+ //# sourceMappingURL=Vector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector.d.ts","sourceRoot":"","sources":["../../src/linear/Vector.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAMnD,MAAM,CAAC,OAAO,WAAW,MAAO,SAAQ,QAAQ,CAAC,MAAM,CAAC;IAMvD,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAOpC,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAOzC,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAMhC,KAAK,IAAI,MAAM,CAAC;IAOhB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAO/B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAOrC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAOnC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAMrC,IAAI,IAAI,MAAM,CAAC;IAMf,KAAK,IAAI,MAAM,CAAC;IAMhB,KAAK,IAAI,MAAM,CAAC;IAOhB,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAOhC,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAOhC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAQ9B,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAOxD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAOrC,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAG5C,IAAI,SAAS,IAAI,MAAM,CAAC;IAGxB,IAAI,gBAAgB,IAAI,MAAM,CAAC;IAM/B,MAAM,IAAI,MAAM,CAAC;IAMjB,OAAO,IAAI,MAAM,CAAC;IAOlB,SAAS,IAAI,MAAM,CAAC;IAQpB,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAQhC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAO5C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAMhC,IAAI,IAAI,IAAI,CAAC;CACb"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Vector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector.js","sourceRoot":"","sources":["../../src/linear/Vector.ts"],"names":[],"mappings":""}
@@ -0,0 +1,97 @@
1
+ import { type Vector } from "@lakuna/umath";
2
+ import type { Matrix2Like } from "@lakuna/umath/Matrix2";
3
+ import type { Matrix3Like } from "@lakuna/umath/Matrix3";
4
+ import type { Matrix4Like } from "@lakuna/umath/Matrix4";
5
+ import Vector3, { type Vector3Like } from "@lakuna/umath/Vector3";
6
+ export type Vector2Like = Vector2 | [number, number];
7
+ export declare function fromValues<T extends Vector2Like>(x: number, y: number, out: T): T;
8
+ export declare function equals(a: Vector2Like, b: Vector2Like): boolean;
9
+ export declare function exactEquals(a: Vector2Like, b: Vector2Like): boolean;
10
+ export declare function add<T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T): T;
11
+ export declare function copy<T extends Vector2Like>(vector: Vector2Like, out: T): T;
12
+ export declare function multiply<T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T): T;
13
+ export declare function divide<T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T): T;
14
+ export declare function subtract<T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T): T;
15
+ export declare function ceil<T extends Vector2Like>(vector: Vector2Like, out: T): T;
16
+ export declare function floor<T extends Vector2Like>(vector: Vector2Like, out: T): T;
17
+ export declare function round<T extends Vector2Like>(vector: Vector2Like, out: T): T;
18
+ export declare function min<T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T): T;
19
+ export declare function max<T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T): T;
20
+ export declare function scale<T extends Vector2Like>(vector: Vector2Like, scalar: number, out: T): T;
21
+ export declare function scaleAndAdd<T extends Vector2Like>(a: Vector2Like, b: Vector2Like, scalar: number, out: T): T;
22
+ export declare function distance(a: Vector2Like, b: Vector2Like): number;
23
+ export declare function squaredDistance(a: Vector2Like, b: Vector2Like): number;
24
+ export declare function getMagnitude(vector: Vector2Like): number;
25
+ export declare function getSquaredMagnitude(vector: Vector2Like): number;
26
+ export declare function negate<T extends Vector2Like>(vector: Vector2Like, out: T): T;
27
+ export declare function inverse<T extends Vector2Like>(vector: Vector2Like, out: T): T;
28
+ export declare function normalize<T extends Vector2Like>(vector: Vector2Like, out: T): T;
29
+ export declare function dot(a: Vector2Like, b: Vector2Like): number;
30
+ export declare function cross<T extends Vector3Like>(a: Vector2Like, b: Vector2Like, out: T): T;
31
+ export declare function lerp<T extends Vector2Like>(a: Vector2Like, b: Vector2Like, t: number, out: T): T;
32
+ export declare function random<T extends Vector2Like>(magnitude: number, out: T): T;
33
+ export declare function transformMatrix2<T extends Vector2Like>(vector: Vector2Like, matrix: Matrix2Like, out: T): T;
34
+ export declare function transformMatrix3<T extends Vector2Like>(vector: Vector2Like, matrix: Matrix3Like, out: T): T;
35
+ export declare function transformMatrix4<T extends Vector2Like>(vector: Vector2Like, matrix: Matrix4Like, out: T): T;
36
+ export declare function rotate<T extends Vector2Like>(vector: Vector2Like, origin: Vector2Like, radians: number, out: T): T;
37
+ export declare function angle(a: Vector2Like, b: Vector2Like): number;
38
+ export declare function zero<T extends Vector2Like>(out: T): T;
39
+ export default class Vector2 extends Float32Array implements Vector {
40
+ static fromValues(x: number, y: number): Vector2;
41
+ static fromValues<T extends Vector2Like>(x: number, y: number, out: T): T;
42
+ constructor();
43
+ equals(vector: Vector2Like): boolean;
44
+ exactEquals(vector: Vector2Like): boolean;
45
+ add(vector: Vector2Like): Vector2;
46
+ add<T extends Vector2Like>(vector: Vector2Like, out: T): T;
47
+ clone(): Vector2;
48
+ clone<T extends Vector2Like>(out: T): T;
49
+ copy(vector: Vector2Like): this;
50
+ multiply(vector: Vector2Like): Vector2;
51
+ multiply<T extends Vector2Like>(vector: Vector2Like, out: T): T;
52
+ divide(vector: Vector2Like): Vector2;
53
+ divide<T extends Vector2Like>(vector: Vector2Like, out: T): T;
54
+ subtract(vector: Vector2Like): Vector2;
55
+ subtract<T extends Vector2Like>(vector: Vector2Like, out: T): T;
56
+ ceil(): Vector2;
57
+ ceil<T extends Vector2Like>(out: T): T;
58
+ floor(): Vector2;
59
+ floor<T extends Vector2Like>(out: T): T;
60
+ round(): Vector2;
61
+ round<T extends Vector2Like>(out: T): T;
62
+ min(vector: Vector2Like): Vector2;
63
+ min<T extends Vector2Like>(vector: Vector2Like, out: T): T;
64
+ max(vector: Vector2Like): Vector2;
65
+ max<T extends Vector2Like>(vector: Vector2Like, out: T): T;
66
+ scale(scalar: number): Vector2;
67
+ scale<T extends Vector2Like>(scalar: number, out: T): T;
68
+ scaleAndAdd(vector: Vector2Like, scalar: number): Vector2;
69
+ scaleAndAdd<T extends Vector2Like>(vector: Vector2Like, scalar: number, out: T): T;
70
+ distance(vector: Vector2Like): number;
71
+ squaredDistance(vector: Vector2Like): number;
72
+ get magnitude(): number;
73
+ get squaredMagnitude(): number;
74
+ negate(): Vector2;
75
+ negate<T extends Vector2Like>(out: T): T;
76
+ inverse(): Vector2;
77
+ inverse<T extends Vector2Like>(out: T): T;
78
+ normalize(): Vector2;
79
+ normalize<T extends Vector2Like>(out: T): T;
80
+ dot(vector: Vector2Like): number;
81
+ cross(vector: Vector2Like): Vector3;
82
+ cross<T extends Vector3Like>(vector: Vector2Like, out: T): T;
83
+ lerp(vector: Vector2Like, t: number): Vector2;
84
+ lerp<T extends Vector2Like>(vector: Vector2Like, t: number, out: T): T;
85
+ random(magnitude?: number): this;
86
+ transformMatrix2(matrix: Matrix2Like): Vector2;
87
+ transformMatrix2<T extends Vector2Like>(matrix: Matrix2Like, out: T): T;
88
+ transformMatrix3(matrix: Matrix3Like): Vector2;
89
+ transformMatrix3<T extends Vector2Like>(matrix: Matrix3Like, out: T): T;
90
+ transformMatrix4(matrix: Matrix4Like): Vector2;
91
+ transformMatrix4<T extends Vector2Like>(matrix: Matrix4Like, out: T): T;
92
+ rotate(origin: Vector2Like, radians: number): Vector2;
93
+ rotate<T extends Vector2Like>(origin: Vector2Like, radians: number, out: T): T;
94
+ angle(vector: Vector2Like): number;
95
+ zero(): this;
96
+ }
97
+ //# sourceMappingURL=Vector2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../../src/linear/Vector2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,293 @@
1
+ import { epsilon } from "@lakuna/umath";
2
+ import Vector3, {} from "@lakuna/umath/Vector3";
3
+ export function fromValues(x, y, out) {
4
+ out[0] = x;
5
+ out[1] = y;
6
+ return out;
7
+ }
8
+ export function equals(a, b) {
9
+ const a0 = a[0];
10
+ const a1 = a[1];
11
+ const b0 = b[0];
12
+ const b1 = b[1];
13
+ return Math.abs(a0 - b0) <= epsilon * Math.max(1, Math.abs(a0), Math.abs(b0))
14
+ && Math.abs(a1 - b1) <= epsilon * Math.max(1, Math.abs(a1), Math.abs(b1));
15
+ }
16
+ export function exactEquals(a, b) {
17
+ return a[0] == b[0]
18
+ && a[1] == b[1];
19
+ }
20
+ export function add(a, b, out) {
21
+ out[0] = a[0] + b[0];
22
+ out[1] = a[1] + b[1];
23
+ return out;
24
+ }
25
+ export function copy(vector, out) {
26
+ out[0] = vector[0];
27
+ out[1] = vector[1];
28
+ return out;
29
+ }
30
+ export function multiply(a, b, out) {
31
+ out[0] = a[0] * b[0];
32
+ out[1] = a[1] * b[1];
33
+ return out;
34
+ }
35
+ export function divide(a, b, out) {
36
+ out[0] = a[0] / b[0];
37
+ out[1] = a[1] / b[1];
38
+ return out;
39
+ }
40
+ export function subtract(a, b, out) {
41
+ out[0] = a[0] - b[0];
42
+ out[1] = a[1] - b[1];
43
+ return out;
44
+ }
45
+ export function ceil(vector, out) {
46
+ out[0] = Math.ceil(vector[0]);
47
+ out[1] = Math.ceil(vector[1]);
48
+ return out;
49
+ }
50
+ export function floor(vector, out) {
51
+ out[0] = Math.floor(vector[0]);
52
+ out[1] = Math.floor(vector[1]);
53
+ return out;
54
+ }
55
+ export function round(vector, out) {
56
+ out[0] = Math.round(vector[0]);
57
+ out[1] = Math.round(vector[1]);
58
+ return out;
59
+ }
60
+ export function min(a, b, out) {
61
+ out[0] = Math.min(a[0], b[0]);
62
+ out[1] = Math.min(a[1], b[1]);
63
+ return out;
64
+ }
65
+ export function max(a, b, out) {
66
+ out[0] = Math.max(a[0], b[0]);
67
+ out[1] = Math.max(a[1], b[1]);
68
+ return out;
69
+ }
70
+ export function scale(vector, scalar, out) {
71
+ out[0] = vector[0] * scalar;
72
+ out[1] = vector[1] * scalar;
73
+ return out;
74
+ }
75
+ export function scaleAndAdd(a, b, scalar, out) {
76
+ out[0] = a[0] + b[0] * scalar;
77
+ out[1] = a[1] + b[1] * scalar;
78
+ return out;
79
+ }
80
+ export function distance(a, b) {
81
+ const x = b[0] - a[0];
82
+ const y = b[1] - a[1];
83
+ return Math.hypot(x, y);
84
+ }
85
+ export function squaredDistance(a, b) {
86
+ const x = b[0] - a[0];
87
+ const y = b[1] - a[1];
88
+ return x * x + y * y;
89
+ }
90
+ export function getMagnitude(vector) {
91
+ const x = vector[0];
92
+ const y = vector[1];
93
+ return Math.hypot(x, y);
94
+ }
95
+ export function getSquaredMagnitude(vector) {
96
+ const x = vector[0];
97
+ const y = vector[1];
98
+ return x * x + y * y;
99
+ }
100
+ export function negate(vector, out) {
101
+ out[0] = -vector[0];
102
+ out[1] = -vector[1];
103
+ return out;
104
+ }
105
+ export function inverse(vector, out) {
106
+ out[0] = 1 / vector[0];
107
+ out[1] = 1 / vector[1];
108
+ return out;
109
+ }
110
+ export function normalize(vector, out) {
111
+ const x = vector[0];
112
+ const y = vector[1];
113
+ let len = x * x + y * y;
114
+ if (len > 0) {
115
+ len = 1 / Math.sqrt(len);
116
+ }
117
+ out[0] = x * len;
118
+ out[1] = y * len;
119
+ return out;
120
+ }
121
+ export function dot(a, b) {
122
+ return a[0] * b[0] + a[1] * b[1];
123
+ }
124
+ export function cross(a, b, out) {
125
+ out[0] = 0;
126
+ out[1] = 0;
127
+ out[2] = a[0] * b[1] - a[1] * b[0];
128
+ return out;
129
+ }
130
+ export function lerp(a, b, t, out) {
131
+ const ax = a[0];
132
+ const ay = a[1];
133
+ out[0] = ax + t * (b[0] - ax);
134
+ out[1] = ay + t * (b[1] - ay);
135
+ return out;
136
+ }
137
+ export function random(magnitude, out) {
138
+ const r = Math.random() * 2 * Math.PI;
139
+ out[0] = Math.cos(r) * magnitude;
140
+ out[1] = Math.sin(r) * magnitude;
141
+ return out;
142
+ }
143
+ export function transformMatrix2(vector, matrix, out) {
144
+ const x = vector[0];
145
+ const y = vector[1];
146
+ out[0] = matrix[0] * x + matrix[2] * y;
147
+ out[1] = matrix[1] * x + matrix[3] * y;
148
+ return out;
149
+ }
150
+ export function transformMatrix3(vector, matrix, out) {
151
+ const x = vector[0];
152
+ const y = vector[1];
153
+ out[0] = matrix[0] * x + matrix[3] * y + matrix[6];
154
+ out[1] = matrix[1] * x + matrix[4] * y + matrix[7];
155
+ return out;
156
+ }
157
+ export function transformMatrix4(vector, matrix, out) {
158
+ const x = vector[0];
159
+ const y = vector[1];
160
+ out[0] = matrix[0] * x + matrix[4] * y + matrix[12];
161
+ out[1] = matrix[1] * x + matrix[5] * y + matrix[13];
162
+ return out;
163
+ }
164
+ export function rotate(vector, origin, radians, out) {
165
+ const o0 = origin[0];
166
+ const o1 = origin[1];
167
+ const p0 = vector[0] - o0;
168
+ const p1 = vector[1] - o1;
169
+ const s = Math.sin(radians);
170
+ const c = Math.cos(radians);
171
+ out[0] = p0 * c - p1 * s + o0;
172
+ out[1] = p0 * s + p1 * c + o1;
173
+ return out;
174
+ }
175
+ export function angle(a, b) {
176
+ const x1 = a[0];
177
+ const y1 = a[1];
178
+ const x2 = b[0];
179
+ const y2 = b[1];
180
+ const magnitudeProduct = Math.sqrt(x1 * x1 + y1 * y1) * Math.sqrt(x2 * x2 + y2 * y2);
181
+ const c = magnitudeProduct && (x1 * x2 + y1 * y2) / magnitudeProduct;
182
+ return Math.acos(Math.min(Math.max(c, -1), 1));
183
+ }
184
+ export function zero(out) {
185
+ out[0] = 0;
186
+ out[1] = 0;
187
+ return out;
188
+ }
189
+ export default class Vector2 extends Float32Array {
190
+ static fromValues(x, y, out = new Vector2()) {
191
+ return fromValues(x, y, out);
192
+ }
193
+ constructor() {
194
+ super(2);
195
+ }
196
+ equals(vector) {
197
+ return equals(this, vector);
198
+ }
199
+ exactEquals(vector) {
200
+ return exactEquals(this, vector);
201
+ }
202
+ add(vector, out = new Vector2()) {
203
+ return add(this, vector, out);
204
+ }
205
+ clone(out = new Vector2()) {
206
+ return copy(this, out);
207
+ }
208
+ copy(vector) {
209
+ return copy(vector, this);
210
+ }
211
+ multiply(vector, out = new Vector2()) {
212
+ return multiply(this, vector, out);
213
+ }
214
+ divide(vector, out = new Vector2()) {
215
+ return divide(this, vector, out);
216
+ }
217
+ subtract(vector, out = new Vector2()) {
218
+ return subtract(this, vector, out);
219
+ }
220
+ ceil(out = new Vector2()) {
221
+ return ceil(this, out);
222
+ }
223
+ floor(out = new Vector2()) {
224
+ return floor(this, out);
225
+ }
226
+ round(out = new Vector2()) {
227
+ return round(this, out);
228
+ }
229
+ min(vector, out = new Vector2()) {
230
+ return min(this, vector, out);
231
+ }
232
+ max(vector, out = new Vector2()) {
233
+ return max(this, vector, out);
234
+ }
235
+ scale(scalar, out = new Vector2()) {
236
+ return scale(this, scalar, out);
237
+ }
238
+ scaleAndAdd(vector, scalar, out = new Vector2()) {
239
+ return scaleAndAdd(this, vector, scalar, out);
240
+ }
241
+ distance(vector) {
242
+ return distance(this, vector);
243
+ }
244
+ squaredDistance(vector) {
245
+ return squaredDistance(this, vector);
246
+ }
247
+ get magnitude() {
248
+ return getMagnitude(this);
249
+ }
250
+ get squaredMagnitude() {
251
+ return getSquaredMagnitude(this);
252
+ }
253
+ negate(out = new Vector2()) {
254
+ return negate(this, out);
255
+ }
256
+ inverse(out = new Vector2()) {
257
+ return inverse(this, out);
258
+ }
259
+ normalize(out = new Vector2()) {
260
+ return normalize(this, out);
261
+ }
262
+ dot(vector) {
263
+ return dot(this, vector);
264
+ }
265
+ cross(vector, out = new Vector3()) {
266
+ return cross(this, vector, out);
267
+ }
268
+ lerp(vector, t, out = new Vector2()) {
269
+ return lerp(this, vector, t, out);
270
+ }
271
+ random(magnitude = 1) {
272
+ return random(magnitude, this);
273
+ }
274
+ transformMatrix2(matrix, out = new Vector2()) {
275
+ return transformMatrix2(this, matrix, out);
276
+ }
277
+ transformMatrix3(matrix, out = new Vector2()) {
278
+ return transformMatrix3(this, matrix, out);
279
+ }
280
+ transformMatrix4(matrix, out = new Vector2()) {
281
+ return transformMatrix4(this, matrix, out);
282
+ }
283
+ rotate(origin, radians, out = new Vector2()) {
284
+ return rotate(this, origin, radians, out);
285
+ }
286
+ angle(vector) {
287
+ return angle(this, vector);
288
+ }
289
+ zero() {
290
+ return zero(this);
291
+ }
292
+ }
293
+ //# sourceMappingURL=Vector2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector2.js","sourceRoot":"","sources":["../../src/linear/Vector2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,eAAe,CAAC;AAIrD,OAAO,OAAO,EAAE,EAAoB,MAAM,uBAAuB,CAAC;AAYlE,MAAM,UAAU,UAAU,CAAwB,CAAS,EAAE,CAAS,EAAE,GAAM;IAC7E,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,CAAC;AACZ,CAAC;AAQD,MAAM,UAAU,MAAM,CAAC,CAAc,EAAE,CAAc;IACpD,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAExB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;WACzE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC;AAQD,MAAM,UAAU,WAAW,CAAC,CAAc,EAAE,CAAc;IACzD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;WACf,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AASD,MAAM,UAAU,GAAG,CAAwB,CAAc,EAAE,CAAc,EAAE,GAAM;IAChF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACZ,CAAC;AAQD,MAAM,UAAU,IAAI,CAAwB,MAAmB,EAAE,GAAM;IACtE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,QAAQ,CAAwB,CAAc,EAAE,CAAc,EAAE,GAAM;IACrF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,MAAM,CAAwB,CAAc,EAAE,CAAc,EAAE,GAAM;IACnF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,QAAQ,CAAwB,CAAc,EAAE,CAAc,EAAE,GAAM;IACrF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACZ,CAAC;AAQD,MAAM,UAAU,IAAI,CAAwB,MAAmB,EAAE,GAAM;IACtE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC;AACZ,CAAC;AAQD,MAAM,UAAU,KAAK,CAAwB,MAAmB,EAAE,GAAM;IACvE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC;AACZ,CAAC;AAQD,MAAM,UAAU,KAAK,CAAwB,MAAmB,EAAE,GAAM;IACvE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,GAAG,CAAwB,CAAc,EAAE,CAAc,EAAE,GAAM;IAChF,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,GAAG,CAAwB,CAAc,EAAE,CAAc,EAAE,GAAM;IAChF,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,KAAK,CAAwB,MAAmB,EAAE,MAAc,EAAE,GAAM;IACvF,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAC5B,OAAO,GAAG,CAAC;AACZ,CAAC;AAUD,MAAM,UAAU,WAAW,CAAwB,CAAc,EAAE,CAAc,EAAE,MAAc,EAAE,GAAM;IACxG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAC9B,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,QAAQ,CAAC,CAAc,EAAE,CAAc;IACtD,MAAM,CAAC,GAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC;AASD,MAAM,UAAU,eAAe,CAAC,CAAc,EAAE,CAAc;IAC7D,MAAM,CAAC,GAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAOD,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC/C,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC;AAOD,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACtD,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAQD,MAAM,UAAU,MAAM,CAAwB,MAAmB,EAAE,GAAM;IACxE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,GAAG,CAAC;AACZ,CAAC;AAQD,MAAM,UAAU,OAAO,CAAwB,MAAmB,EAAE,GAAM;IACzE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,SAAS,CAAwB,MAAmB,EAAE,GAAM;IAC3E,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,GAAG,GAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,GAAG,GAAG,CAAC,EAAE;QACZ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;IAED,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACjB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACjB,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,GAAG,CAAC,CAAc,EAAE,CAAc;IACjD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAUD,MAAM,UAAU,KAAK,CAAwB,CAAc,EAAE,CAAc,EAAE,GAAM;IAClF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACZ,CAAC;AAWD,MAAM,UAAU,IAAI,CAAwB,CAAc,EAAE,CAAc,EAAE,CAAS,EAAE,GAAM;IAC5F,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAExB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC;AACZ,CAAC;AAQD,MAAM,UAAU,MAAM,CAAwB,SAAiB,EAAE,GAAM;IACtE,MAAM,CAAC,GAAW,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAE9C,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACjC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACjC,OAAO,GAAG,CAAC;AACZ,CAAC;AAUD,MAAM,UAAU,gBAAgB,CAAwB,MAAmB,EAAE,MAAmB,EAAE,GAAM;IACvG,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAE5B,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC;AACZ,CAAC;AAUD,MAAM,UAAU,gBAAgB,CAAwB,MAAmB,EAAE,MAAmB,EAAE,GAAM;IACvG,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAW,CAAC;IACtC,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAW,CAAC;IAEtC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnD,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,GAAG,CAAC;AACZ,CAAC;AAUD,MAAM,UAAU,gBAAgB,CAAwB,MAAmB,EAAE,MAAmB,EAAE,GAAM;IACvG,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAW,CAAC;IACtC,MAAM,CAAC,GAAW,MAAM,CAAC,CAAC,CAAW,CAAC;IAEtC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACpD,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACZ,CAAC;AAUD,MAAM,UAAU,MAAM,CAAwB,MAAmB,EAAE,MAAmB,EAAE,OAAe,EAAE,GAAM;IAC9G,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAElC,MAAM,CAAC,GAAW,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,GAAW,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEpC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAC9B,OAAO,GAAG,CAAC;AACZ,CAAC;AAQD,MAAM,UAAU,KAAK,CAAC,CAAc,EAAE,CAAc;IACnD,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7F,MAAM,CAAC,GAAW,gBAAgB,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,gBAAgB,CAAC;IAC7E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAOD,MAAM,UAAU,IAAI,CAAwB,GAAM;IACjD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,CAAC;AACZ,CAAC;AAMD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAAY;IAkBtC,MAAM,CAAC,UAAU,CAAwB,CAAS,EAAE,CAAS,EAAE,MAAS,IAAI,OAAO,EAAO;QAC7F,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAMD;QACI,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IAOG,MAAM,CAAC,MAAmB;QAC1B,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAOG,WAAW,CAAC,MAAmB;QAC/B,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAiBG,GAAG,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QACjF,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;IAeS,KAAK,CAAwB,MAAS,IAAI,OAAO,EAAO;QAC3D,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAOG,IAAI,CAAC,MAAmB;QAC9B,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAiBM,QAAQ,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QACtF,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAiBM,MAAM,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QACpF,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAiBM,QAAQ,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QACtF,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAeS,IAAI,CAAwB,MAAS,IAAI,OAAO,EAAO;QAC1D,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAeM,KAAK,CAAwB,MAAS,IAAI,OAAO,EAAO;QAC3D,OAAO,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAeM,KAAK,CAAwB,MAAS,IAAI,OAAO,EAAO;QAC3D,OAAO,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAiBM,GAAG,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QAC9E,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAiBM,GAAG,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QAC9E,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAiBM,KAAK,CAAwB,MAAc,EAAE,MAAS,IAAI,OAAO,EAAO;QAC3E,OAAO,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAmBM,WAAW,CAAwB,MAAmB,EAAE,MAAc,EAAE,MAAS,IAAI,OAAO,EAAO;QACtG,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAQG,QAAQ,CAAC,MAAmB;QAC5B,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAQG,eAAe,CAAC,MAAmB;QACnC,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAGJ,IAAW,SAAS;QACb,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAGJ,IAAW,gBAAgB;QACpB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAeM,MAAM,CAAwB,MAAS,IAAI,OAAO,EAAO;QAC5D,OAAO,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAeM,OAAO,CAAwB,MAAS,IAAI,OAAO,EAAO;QAC7D,OAAO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAiBM,SAAS,CAAwB,MAAS,IAAI,OAAO,EAAO;QAC/D,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAQG,GAAG,CAAC,MAAmB;QACvB,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAmBM,KAAK,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QAChF,OAAO,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAqBM,IAAI,CAAwB,MAAmB,EAAE,CAAS,EAAE,MAAS,IAAI,OAAO,EAAO;QAC1F,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAOG,MAAM,CAAC,SAAS,GAAG,CAAC;QACpB,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAmBM,gBAAgB,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QAC3F,OAAO,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAmBM,gBAAgB,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QAC3F,OAAO,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAmBM,gBAAgB,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QAC3F,OAAO,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAmBM,MAAM,CAAwB,MAAmB,EAAE,OAAe,EAAE,MAAS,IAAI,OAAO,EAAO;QAClG,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAOM,KAAK,CAAC,MAAmB;QAC5B,OAAO,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IAMG,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACJ"}
@@ -0,0 +1,112 @@
1
+ import { type Vector } from "@lakuna/umath";
2
+ import type { Matrix3Like } from "@lakuna/umath/Matrix3";
3
+ import type { Matrix4Like } from "@lakuna/umath/Matrix4";
4
+ import type { QuaternionLike } from "@lakuna/umath/Quaternion";
5
+ import Quaternion from "@lakuna/umath/Quaternion";
6
+ export type Vector3Like = Vector3 | [number, number, number];
7
+ export declare function fromValues<T extends Vector3Like>(x: number, y: number, z: number, out: T): T;
8
+ export declare function equals(a: Vector3Like, b: Vector3Like): boolean;
9
+ export declare function exactEquals(a: Vector3Like, b: Vector3Like): boolean;
10
+ export declare function add<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T): T;
11
+ export declare function copy<T extends Vector3Like>(vector: Vector3Like, out: T): T;
12
+ export declare function multiply<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T): T;
13
+ export declare function divide<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T): T;
14
+ export declare function subtract<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T): T;
15
+ export declare function ceil<T extends Vector3Like>(vector: Vector3Like, out: T): T;
16
+ export declare function floor<T extends Vector3Like>(vector: Vector3Like, out: T): T;
17
+ export declare function round<T extends Vector3Like>(vector: Vector3Like, out: T): T;
18
+ export declare function min<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T): T;
19
+ export declare function max<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T): T;
20
+ export declare function scale<T extends Vector3Like>(vector: Vector3Like, scalar: number, out: T): T;
21
+ export declare function scaleAndAdd<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, scalar: number, out: T): T;
22
+ export declare function distance(a: Vector3Like, b: Vector3Like): number;
23
+ export declare function squaredDistance(a: Vector3Like, b: Vector3Like): number;
24
+ export declare function getMagnitude(vector: Vector3Like): number;
25
+ export declare function getSquaredMagnitude(vector: Vector3Like): number;
26
+ export declare function negate<T extends Vector3Like>(vector: Vector3Like, out: T): T;
27
+ export declare function inverse<T extends Vector3Like>(vector: Vector3Like, out: T): T;
28
+ export declare function normalize<T extends Vector3Like>(vector: Vector3Like, out: T): T;
29
+ export declare function dot(a: Vector3Like, b: Vector3Like): number;
30
+ export declare function cross<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T): T;
31
+ export declare function lerp<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, t: number, out: T): T;
32
+ export declare function random<T extends Vector3Like>(magnitude: number, out: T): T;
33
+ export declare function transformMatrix3<T extends Vector3Like>(vector: Vector3Like, matrix: Matrix3Like, out: T): T;
34
+ export declare function transformMatrix4<T extends Vector3Like>(vector: Vector3Like, matrix: Matrix4Like, out: T): T;
35
+ export declare function rotateX<T extends Vector3Like>(vector: Vector3Like, origin: Vector3Like, radians: number, out: T): T;
36
+ export declare function rotateY<T extends Vector3Like>(vector: Vector3Like, origin: Vector3Like, radians: number, out: T): T;
37
+ export declare function rotateZ<T extends Vector3Like>(vector: Vector3Like, origin: Vector3Like, radians: number, out: T): T;
38
+ export declare function angle(a: Vector3Like, b: Vector3Like): number;
39
+ export declare function zero<T extends Vector3Like>(out: T): T;
40
+ export declare function hermite<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, c: Vector3Like, d: Vector3Like, t: number, out: T): T;
41
+ export declare function bezier<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, c: Vector3Like, d: Vector3Like, t: number, out: T): T;
42
+ export declare function transformQuaternion<T extends Vector3Like>(vector: Vector3Like, quaternion: QuaternionLike, out: T): T;
43
+ export declare function rotationTo<T extends QuaternionLike>(a: Vector3Like, b: Vector3Like, out: T): T;
44
+ export default class Vector3 extends Float32Array implements Vector {
45
+ static fromValues(x: number, y: number, z: number): Vector3;
46
+ static fromValues<T extends Vector3Like>(x: number, y: number, z: number, out: T): T;
47
+ constructor();
48
+ equals(vector: Vector3Like): boolean;
49
+ exactEquals(vector: Vector3Like): boolean;
50
+ add(vector: Vector3Like): Vector3;
51
+ add<T extends Vector3Like>(vector: Vector3Like, out: T): T;
52
+ clone(): Vector3;
53
+ clone<T extends Vector3Like>(out: T): T;
54
+ copy(vector: Vector3Like): this;
55
+ multiply(vector: Vector3Like): Vector3;
56
+ multiply<T extends Vector3Like>(vector: Vector3Like, out: T): T;
57
+ divide(vector: Vector3Like): Vector3;
58
+ divide<T extends Vector3Like>(vector: Vector3Like, out: T): T;
59
+ subtract(vector: Vector3Like): Vector3;
60
+ subtract<T extends Vector3Like>(vector: Vector3Like, out: T): T;
61
+ ceil(): Vector3;
62
+ ceil<T extends Vector3Like>(out: T): T;
63
+ floor(): Vector3;
64
+ floor<T extends Vector3Like>(out: T): T;
65
+ round(): Vector3;
66
+ round<T extends Vector3Like>(out: T): T;
67
+ min(vector: Vector3Like): Vector3;
68
+ min<T extends Vector3Like>(vector: Vector3Like, out: T): T;
69
+ max(vector: Vector3Like): Vector3;
70
+ max<T extends Vector3Like>(vector: Vector3Like, out: T): T;
71
+ scale(scalar: number): Vector3;
72
+ scale<T extends Vector3Like>(scalar: number, out: T): T;
73
+ scaleAndAdd(vector: Vector3Like, scalar: number): Vector3;
74
+ scaleAndAdd<T extends Vector3Like>(vector: Vector3Like, scalar: number, out: T): T;
75
+ distance(vector: Vector3Like): number;
76
+ squaredDistance(vector: Vector3Like): number;
77
+ get magnitude(): number;
78
+ get squaredMagnitude(): number;
79
+ negate(): Vector3;
80
+ negate<T extends Vector3Like>(out: T): T;
81
+ inverse(): Vector3;
82
+ inverse<T extends Vector3Like>(out: T): T;
83
+ normalize(): Vector3;
84
+ normalize<T extends Vector3Like>(out: T): T;
85
+ dot(vector: Vector3Like): number;
86
+ cross(vector: Vector3Like): Vector3;
87
+ cross<T extends Vector3Like>(vector: Vector3Like, out: T): T;
88
+ lerp(vector: Vector3Like, t: number): Vector3;
89
+ lerp<T extends Vector3Like>(vector: Vector3Like, t: number, out: T): T;
90
+ random(magnitude?: number): this;
91
+ transformMatrix3(matrix: Matrix3Like): Vector3;
92
+ transformMatrix3<T extends Vector3Like>(matrix: Matrix3Like, out: T): T;
93
+ transformMatrix4(matrix: Matrix4Like): Vector3;
94
+ transformMatrix4<T extends Vector3Like>(matrix: Matrix4Like, out: T): T;
95
+ rotateX(origin: Vector3Like, radians: number): Vector3;
96
+ rotateX<T extends Vector3Like>(origin: Vector3Like, radians: number, out: T): T;
97
+ rotateY(origin: Vector3Like, radians: number): Vector3;
98
+ rotateY<T extends Vector3Like>(origin: Vector3Like, radians: number, out: T): T;
99
+ rotateZ(origin: Vector3Like, radians: number): Vector3;
100
+ rotateZ<T extends Vector3Like>(origin: Vector3Like, radians: number, out: T): T;
101
+ angle(vector: Vector3Like): number;
102
+ zero(): this;
103
+ hermite(a: Vector3Like, b: Vector3Like, end: Vector3Like, t: number): Vector3;
104
+ hermite<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, end: Vector3Like, t: number, out: T): T;
105
+ bezier(a: Vector3Like, b: Vector3Like, end: Vector3Like, t: number): Vector3;
106
+ bezier<T extends Vector3Like>(a: Vector3Like, b: Vector3Like, end: Vector3Like, t: number, out: T): T;
107
+ transformQuaternion(quaternion: QuaternionLike): Vector3;
108
+ transformQuaternion<T extends Vector3Like>(quaternion: QuaternionLike, out: T): T;
109
+ rotationTo(vector: Vector3Like): Quaternion;
110
+ rotationTo<T extends QuaternionLike>(vector: Vector3Like, out: T): T;
111
+ }
112
+ //# sourceMappingURL=Vector3.d.ts.map