@lakuna/umath 1.3.4 → 1.3.6
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/LICENSE +1 -1
- package/README.md +7 -9
- package/dist/algorithms/combinations.d.ts +7 -0
- package/dist/algorithms/combinations.d.ts.map +1 -1
- package/dist/algorithms/combinations.js +8 -1
- package/dist/algorithms/combinations.js.map +1 -1
- package/dist/algorithms/degreesToRadians.d.ts +7 -0
- package/dist/algorithms/degreesToRadians.d.ts.map +1 -1
- package/dist/algorithms/degreesToRadians.js +7 -0
- package/dist/algorithms/degreesToRadians.js.map +1 -1
- package/dist/algorithms/factorial.d.ts +6 -0
- package/dist/algorithms/factorial.d.ts.map +1 -1
- package/dist/algorithms/factorial.js +15 -5
- package/dist/algorithms/factorial.js.map +1 -1
- package/dist/algorithms/fibonacci.d.ts +6 -1
- package/dist/algorithms/fibonacci.d.ts.map +1 -1
- package/dist/algorithms/fibonacci.js +6 -1
- package/dist/algorithms/fibonacci.js.map +1 -1
- package/dist/algorithms/greatestCommonDivisor.d.ts +14 -0
- package/dist/algorithms/greatestCommonDivisor.d.ts.map +1 -1
- package/dist/algorithms/greatestCommonDivisor.js +7 -9
- package/dist/algorithms/greatestCommonDivisor.js.map +1 -1
- package/dist/algorithms/hypergeometricPmf.d.ts +9 -0
- package/dist/algorithms/hypergeometricPmf.d.ts.map +1 -1
- package/dist/algorithms/hypergeometricPmf.js +10 -1
- package/dist/algorithms/hypergeometricPmf.js.map +1 -1
- package/dist/algorithms/isPrime.d.ts +6 -0
- package/dist/algorithms/isPrime.d.ts.map +1 -1
- package/dist/algorithms/isPrime.js +8 -1
- package/dist/algorithms/isPrime.js.map +1 -1
- package/dist/algorithms/permutations.d.ts +7 -0
- package/dist/algorithms/permutations.d.ts.map +1 -1
- package/dist/algorithms/permutations.js +8 -1
- package/dist/algorithms/permutations.js.map +1 -1
- package/dist/algorithms/primeFactorization.d.ts +7 -1
- package/dist/algorithms/primeFactorization.d.ts.map +1 -1
- package/dist/algorithms/primeFactorization.js +10 -3
- package/dist/algorithms/primeFactorization.js.map +1 -1
- package/dist/algorithms/radiansToDegrees.d.ts +7 -0
- package/dist/algorithms/radiansToDegrees.d.ts.map +1 -1
- package/dist/algorithms/radiansToDegrees.js +7 -0
- package/dist/algorithms/radiansToDegrees.js.map +1 -1
- package/dist/algorithms/summation.d.ts +8 -0
- package/dist/algorithms/summation.d.ts.map +1 -1
- package/dist/algorithms/summation.js +9 -0
- package/dist/algorithms/summation.js.map +1 -1
- package/dist/index.d.ts +32 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -27
- package/dist/index.js.map +1 -1
- package/dist/linalg/DualQuaternion.d.ts +460 -83
- package/dist/linalg/DualQuaternion.d.ts.map +1 -1
- package/dist/linalg/DualQuaternion.js +514 -133
- package/dist/linalg/DualQuaternion.js.map +1 -1
- package/dist/linalg/Matrix.d.ts +80 -12
- package/dist/linalg/Matrix.d.ts.map +1 -1
- package/dist/linalg/Matrix2.d.ts +337 -52
- package/dist/linalg/Matrix2.d.ts.map +1 -1
- package/dist/linalg/Matrix2.js +345 -61
- package/dist/linalg/Matrix2.js.map +1 -1
- package/dist/linalg/Matrix3.d.ts +470 -72
- package/dist/linalg/Matrix3.d.ts.map +1 -1
- package/dist/linalg/Matrix3.js +488 -94
- package/dist/linalg/Matrix3.js.map +1 -1
- package/dist/linalg/Matrix4.d.ts +842 -137
- package/dist/linalg/Matrix4.d.ts.map +1 -1
- package/dist/linalg/Matrix4.js +896 -175
- package/dist/linalg/Matrix4.js.map +1 -1
- package/dist/linalg/Quaternion.d.ts +395 -70
- package/dist/linalg/Quaternion.d.ts.map +1 -1
- package/dist/linalg/Quaternion.js +416 -70
- package/dist/linalg/Quaternion.js.map +1 -1
- package/dist/linalg/SlowMatrix.d.ts +79 -9
- package/dist/linalg/SlowMatrix.d.ts.map +1 -1
- package/dist/linalg/SlowMatrix.js +147 -27
- package/dist/linalg/SlowMatrix.js.map +1 -1
- package/dist/linalg/SlowSquareMatrix.d.ts +58 -3
- package/dist/linalg/SlowSquareMatrix.d.ts.map +1 -1
- package/dist/linalg/SlowSquareMatrix.js +111 -21
- package/dist/linalg/SlowSquareMatrix.js.map +1 -1
- package/dist/linalg/SquareMatrix.d.ts +26 -3
- package/dist/linalg/SquareMatrix.d.ts.map +1 -1
- package/dist/linalg/Vector.d.ts +148 -24
- package/dist/linalg/Vector.d.ts.map +1 -1
- package/dist/linalg/Vector2.d.ts +484 -84
- package/dist/linalg/Vector2.d.ts.map +1 -1
- package/dist/linalg/Vector2.js +487 -71
- package/dist/linalg/Vector2.js.map +1 -1
- package/dist/linalg/Vector3.d.ts +582 -98
- package/dist/linalg/Vector3.d.ts.map +1 -1
- package/dist/linalg/Vector3.js +625 -134
- package/dist/linalg/Vector3.js.map +1 -1
- package/dist/linalg/Vector4.d.ts +450 -75
- package/dist/linalg/Vector4.d.ts.map +1 -1
- package/dist/linalg/Vector4.js +447 -62
- package/dist/linalg/Vector4.js.map +1 -1
- package/dist/types/AxisAngle.d.ts +4 -1
- package/dist/types/AxisAngle.d.ts.map +1 -1
- package/dist/types/FieldOfView.d.ts +5 -0
- package/dist/types/FieldOfView.d.ts.map +1 -1
- package/dist/utility/BigNumber.d.ts +41 -8
- package/dist/utility/BigNumber.d.ts.map +1 -1
- package/dist/utility/BigNumber.js +47 -5
- package/dist/utility/BigNumber.js.map +1 -1
- package/dist/utility/MagnitudeError.d.ts +5 -0
- package/dist/utility/MagnitudeError.d.ts.map +1 -1
- package/dist/utility/MagnitudeError.js +6 -1
- package/dist/utility/MagnitudeError.js.map +1 -1
- package/dist/utility/MatrixSizeError.d.ts +5 -0
- package/dist/utility/MatrixSizeError.d.ts.map +1 -1
- package/dist/utility/MatrixSizeError.js +5 -0
- package/dist/utility/MatrixSizeError.js.map +1 -1
- package/dist/utility/PartialMatrixError.d.ts +5 -0
- package/dist/utility/PartialMatrixError.d.ts.map +1 -1
- package/dist/utility/PartialMatrixError.js +5 -0
- package/dist/utility/PartialMatrixError.js.map +1 -1
- package/dist/utility/SingularMatrixError.d.ts +8 -0
- package/dist/utility/SingularMatrixError.d.ts.map +1 -1
- package/dist/utility/SingularMatrixError.js +8 -0
- package/dist/utility/SingularMatrixError.js.map +1 -1
- package/dist/utility/epsilon.d.ts +1 -0
- package/dist/utility/epsilon.d.ts.map +1 -1
- package/dist/utility/epsilon.js +1 -0
- package/dist/utility/epsilon.js.map +1 -1
- package/package.json +20 -51
- package/src/algorithms/combinations.ts +4 -4
- package/src/algorithms/degreesToRadians.ts +3 -3
- package/src/algorithms/factorial.ts +13 -8
- package/src/algorithms/fibonacci.ts +3 -3
- package/src/algorithms/greatestCommonDivisor.ts +15 -19
- package/src/algorithms/hypergeometricPmf.ts +5 -6
- package/src/algorithms/isPrime.ts +4 -4
- package/src/algorithms/permutations.ts +4 -4
- package/src/algorithms/primeFactorization.ts +9 -9
- package/src/algorithms/radiansToDegrees.ts +3 -3
- package/src/algorithms/summation.ts +5 -5
- package/src/index.ts +35 -33
- package/src/linalg/DualQuaternion.ts +558 -804
- package/src/linalg/Matrix.ts +35 -36
- package/src/linalg/Matrix2.ts +277 -413
- package/src/linalg/Matrix3.ts +532 -737
- package/src/linalg/Matrix4.ts +1078 -1604
- package/src/linalg/Quaternion.ts +415 -690
- package/src/linalg/SlowMatrix.ts +118 -69
- package/src/linalg/SlowSquareMatrix.ts +85 -56
- package/src/linalg/SquareMatrix.ts +7 -7
- package/src/linalg/Vector.ts +71 -70
- package/src/linalg/Vector2.ts +380 -576
- package/src/linalg/Vector3.ts +544 -840
- package/src/linalg/Vector4.ts +383 -549
- package/src/types/AxisAngle.ts +1 -1
- package/src/utility/BigNumber.ts +33 -42
- package/src/utility/MagnitudeError.ts +4 -4
- package/src/utility/MatrixSizeError.ts +2 -3
- package/src/utility/PartialMatrixError.ts +2 -3
- package/src/utility/SingularMatrixError.ts +2 -2
- package/src/utility/epsilon.ts +1 -4
- package/dist/types/IntegerRepresentation.d.ts +0 -2
- package/dist/types/IntegerRepresentation.d.ts.map +0 -1
- package/dist/types/IntegerRepresentation.js +0 -2
- package/dist/types/IntegerRepresentation.js.map +0 -1
- package/src/types/IntegerRepresentation.ts +0 -2
package/dist/linalg/Vector2.d.ts
CHANGED
|
@@ -1,98 +1,498 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type
|
|
3
|
-
import type {
|
|
4
|
-
import type
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export declare
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export declare
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export declare
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
export declare
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
1
|
+
import type { default as Vector, VectorLike } from "./Vector.js";
|
|
2
|
+
import { type Vector3Like } from "./Vector3.js";
|
|
3
|
+
import type { Matrix2Like } from "./Matrix2.js";
|
|
4
|
+
import type { Matrix3Like } from "./Matrix3.js";
|
|
5
|
+
import type { Matrix4Like } from "./Matrix4.js";
|
|
6
|
+
/** A quantity with magnitude and direction in two dimensions. */
|
|
7
|
+
export interface Vector2Like extends VectorLike {
|
|
8
|
+
/** The first component of this vector. */
|
|
9
|
+
0: number;
|
|
10
|
+
/** The second component of this vector. */
|
|
11
|
+
1: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Create a 2x1 vector-like object.
|
|
15
|
+
* @returns A 2x1 vector-like object.
|
|
16
|
+
*/
|
|
17
|
+
export declare const createVector2Like: () => Vector2Like;
|
|
18
|
+
/**
|
|
19
|
+
* Create a vector with the given values.
|
|
20
|
+
* @param x - The first component.
|
|
21
|
+
* @param y - The second component.
|
|
22
|
+
* @param out - The vector to store the result in.
|
|
23
|
+
* @returns A new vector.
|
|
24
|
+
*/
|
|
25
|
+
export declare const fromValues: <T extends Vector2Like>(x: number, y: number, out: T) => T;
|
|
26
|
+
/**
|
|
27
|
+
* Determine whether or not two vectors are roughly equivalent.
|
|
28
|
+
* @param a - The first vector.
|
|
29
|
+
* @param b - The second vector.
|
|
30
|
+
* @returns Whether or not the vectors are equivalent.
|
|
31
|
+
*/
|
|
32
|
+
export declare const equals: (a: Vector2Like, b: Vector2Like) => boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Determine whether or not two vectors are exactly equivalent.
|
|
35
|
+
* @param a - The first vector.
|
|
36
|
+
* @param b - The second vector.
|
|
37
|
+
* @returns Whether or not the vectors are equivalent.
|
|
38
|
+
*/
|
|
39
|
+
export declare const exactEquals: (a: Vector2Like, b: Vector2Like) => boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Add two vectors.
|
|
42
|
+
* @param a - The augend.
|
|
43
|
+
* @param b - The addend.
|
|
44
|
+
* @param out - The vector to store the result in.
|
|
45
|
+
* @returns The sum.
|
|
46
|
+
*/
|
|
47
|
+
export declare const add: <T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T) => T;
|
|
48
|
+
/**
|
|
49
|
+
* Copy the values of one vector into another.
|
|
50
|
+
* @param vector - The vector to copy.
|
|
51
|
+
* @param out - The vector to store the result in.
|
|
52
|
+
* @returns The copy.
|
|
53
|
+
*/
|
|
54
|
+
export declare const copy: <T extends Vector2Like>(vector: Vector2Like, out: T) => T;
|
|
55
|
+
/**
|
|
56
|
+
* Multiply the components in one vector by the corresponding components in another.
|
|
57
|
+
* @param a - The multiplicand.
|
|
58
|
+
* @param b - The multiplier.
|
|
59
|
+
* @param out - The vector to store the result in.
|
|
60
|
+
* @returns The product.
|
|
61
|
+
*/
|
|
62
|
+
export declare const multiply: <T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T) => T;
|
|
63
|
+
/**
|
|
64
|
+
* Divide one vector by another.
|
|
65
|
+
* @param a - The dividend.
|
|
66
|
+
* @param b - The divisor.
|
|
67
|
+
* @param out - The vector to store the result in.
|
|
68
|
+
* @returns The quotient.
|
|
69
|
+
*/
|
|
70
|
+
export declare const divide: <T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T) => T;
|
|
71
|
+
/**
|
|
72
|
+
* Subtract one vector from another.
|
|
73
|
+
* @param a - The minuend.
|
|
74
|
+
* @param b - The subtrahend.
|
|
75
|
+
* @param out - The vector to store the result in.
|
|
76
|
+
* @returns The difference.
|
|
77
|
+
*/
|
|
78
|
+
export declare const subtract: <T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T) => T;
|
|
79
|
+
/**
|
|
80
|
+
* Round up the components of a vector.
|
|
81
|
+
* @param vector - The vector.
|
|
82
|
+
* @param out - The vector to store the result in.
|
|
83
|
+
* @returns The rounded vector.
|
|
84
|
+
*/
|
|
85
|
+
export declare const ceil: <T extends Vector2Like>(vector: Vector2Like, out: T) => T;
|
|
86
|
+
/**
|
|
87
|
+
* Round down the components of a vector.
|
|
88
|
+
* @param vector - The vector.
|
|
89
|
+
* @param out - The vector to store the result in.
|
|
90
|
+
* @returns The rounded vector.
|
|
91
|
+
*/
|
|
92
|
+
export declare const floor: <T extends Vector2Like>(vector: Vector2Like, out: T) => T;
|
|
93
|
+
/**
|
|
94
|
+
* Round the components of a vector.
|
|
95
|
+
* @param vector - The vector.
|
|
96
|
+
* @param out - The vector to store the result in.
|
|
97
|
+
* @returns The rounded vector.
|
|
98
|
+
*/
|
|
99
|
+
export declare const round: <T extends Vector2Like>(vector: Vector2Like, out: T) => T;
|
|
100
|
+
/**
|
|
101
|
+
* Return the minimum of two vectors.
|
|
102
|
+
* @param a - The first vector.
|
|
103
|
+
* @param b - The second vector.
|
|
104
|
+
* @param out - The vector to store the result in.
|
|
105
|
+
* @returns The minimum.
|
|
106
|
+
*/
|
|
107
|
+
export declare const min: <T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T) => T;
|
|
108
|
+
/**
|
|
109
|
+
* Return the maximum of two vectors.
|
|
110
|
+
* @param a - The first vector.
|
|
111
|
+
* @param b - The second vector.
|
|
112
|
+
* @param out - The vector to store the result in.
|
|
113
|
+
* @returns The maximum.
|
|
114
|
+
*/
|
|
115
|
+
export declare const max: <T extends Vector2Like>(a: Vector2Like, b: Vector2Like, out: T) => T;
|
|
116
|
+
/**
|
|
117
|
+
* Multiply a vector by a scalar.
|
|
118
|
+
* @param vector - The multiplier.
|
|
119
|
+
* @param scalar - The multiplicand.
|
|
120
|
+
* @param out - The vector to store the result in.
|
|
121
|
+
* @returns The product.
|
|
122
|
+
*/
|
|
123
|
+
export declare const scale: <T extends Vector2Like>(vector: Vector2Like, scalar: number, out: T) => T;
|
|
124
|
+
/**
|
|
125
|
+
* Add two vectors after multiplying the latter by a scalar.
|
|
126
|
+
* @param a - The augend.
|
|
127
|
+
* @param b - The addend.
|
|
128
|
+
* @param scalar - The multiplier.
|
|
129
|
+
* @param out - The vector to store the result in.
|
|
130
|
+
* @returns The sum.
|
|
131
|
+
*/
|
|
132
|
+
export declare const scaleAndAdd: <T extends Vector2Like>(a: Vector2Like, b: Vector2Like, scalar: number, out: T) => T;
|
|
133
|
+
/**
|
|
134
|
+
* Calculate the Euclidean distance from one vector to another.
|
|
135
|
+
* @param a - The first vector.
|
|
136
|
+
* @param b - The second vector.
|
|
137
|
+
* @returns The distance.
|
|
138
|
+
* @see [Euclidean distance](https://en.wikipedia.org/wiki/Euclidean_distance)
|
|
139
|
+
*/
|
|
140
|
+
export declare const distance: (a: Vector2Like, b: Vector2Like) => number;
|
|
141
|
+
/**
|
|
142
|
+
* Calculate the squared Euclidean distance from one vector to another.
|
|
143
|
+
* @param a - The first vector.
|
|
144
|
+
* @param b - The other vector.
|
|
145
|
+
* @returns The squared distance.
|
|
146
|
+
* @see [Euclidean distance](https://en.wikipedia.org/wiki/Euclidean_distance)
|
|
147
|
+
*/
|
|
148
|
+
export declare const squaredDistance: (a: Vector2Like, b: Vector2Like) => number;
|
|
149
|
+
/**
|
|
150
|
+
* Get the magnitude (length) of a vector.
|
|
151
|
+
* @param vector - The vector.
|
|
152
|
+
* @returns The magnitude.
|
|
153
|
+
*/
|
|
154
|
+
export declare const getMagnitude: (vector: Vector2Like) => number;
|
|
155
|
+
/**
|
|
156
|
+
* Get the squared magnitude (length) of a vector.
|
|
157
|
+
* @param vector - The vector.
|
|
158
|
+
* @returns The squared magnitude.
|
|
159
|
+
*/
|
|
160
|
+
export declare const getSquaredMagnitude: (vector: Vector2Like) => number;
|
|
161
|
+
/**
|
|
162
|
+
* Negate a vector.
|
|
163
|
+
* @param vector - The vector.
|
|
164
|
+
* @param out - The vector to store the result in.
|
|
165
|
+
* @returns The negated vector.
|
|
166
|
+
*/
|
|
167
|
+
export declare const negate: <T extends Vector2Like>(vector: Vector2Like, out: T) => T;
|
|
168
|
+
/**
|
|
169
|
+
* Calculate the multiplicative inverse of the components of a vector.
|
|
170
|
+
* @param vector - The vector.
|
|
171
|
+
* @param out - The vector to store the result in.
|
|
172
|
+
* @returns The inverted vector.
|
|
173
|
+
*/
|
|
174
|
+
export declare const invert: <T extends Vector2Like>(vector: Vector2Like, out: T) => T;
|
|
175
|
+
/**
|
|
176
|
+
* Normalize a vector.
|
|
177
|
+
* @param vector - The vector.
|
|
178
|
+
* @param out - The vector to store the result in.
|
|
179
|
+
* @returns The normalized vector.
|
|
180
|
+
* @see [Unit vector](https://en.wikipedia.org/wiki/Unit_vector)
|
|
181
|
+
*/
|
|
182
|
+
export declare const normalize: <T extends Vector2Like>(vector: Vector2Like, out: T) => T;
|
|
183
|
+
/**
|
|
184
|
+
* Calculate the dot product of two vectors.
|
|
185
|
+
* @param a - The multiplicand.
|
|
186
|
+
* @param b - The multiplier.
|
|
187
|
+
* @returns The dot product.
|
|
188
|
+
* @see [Dot product](https://en.wikipedia.org/wiki/Dot_product)
|
|
189
|
+
*/
|
|
190
|
+
export declare const dot: (a: Vector2Like, b: Vector2Like) => number;
|
|
191
|
+
/**
|
|
192
|
+
* Calculate the cross product of two vectors.
|
|
193
|
+
* @param a - The multiplicand.
|
|
194
|
+
* @param b - The multiplier.
|
|
195
|
+
* @param out - The vector to store the result in.
|
|
196
|
+
* @returns The cross product.
|
|
197
|
+
* @see [Cross product](https://en.wikipedia.org/wiki/Cross_product)
|
|
198
|
+
*/
|
|
199
|
+
export declare const cross: <T extends Vector3Like>(a: Vector2Like, b: Vector2Like, out: T) => T;
|
|
200
|
+
/**
|
|
201
|
+
* Perform a linear interpolation between two vectors.
|
|
202
|
+
* @param a - The first vector.
|
|
203
|
+
* @param b - The second vector.
|
|
204
|
+
* @param t - The interpolation amount (in `[0,1]`).
|
|
205
|
+
* @param out - The vector to store the result in.
|
|
206
|
+
* @returns The interpolated vector.
|
|
207
|
+
* @see [Linear interpolation](https://en.wikipedia.org/wiki/Linear_interpolation)
|
|
208
|
+
*/
|
|
209
|
+
export declare const lerp: <T extends Vector2Like>(a: Vector2Like, b: Vector2Like, t: number, out: T) => T;
|
|
210
|
+
/**
|
|
211
|
+
* Set a vector to a random value with the given magnitude.
|
|
212
|
+
* @param magnitude - The magnitude.
|
|
213
|
+
* @param out - The vector to store the result in.
|
|
214
|
+
* @returns The vector.
|
|
215
|
+
*/
|
|
216
|
+
export declare const random: <T extends Vector2Like>(magnitude: number, out: T) => T;
|
|
217
|
+
/**
|
|
218
|
+
* Transform a vector by a two-by-two matrix.
|
|
219
|
+
* @param vector - The vector (multiplier).
|
|
220
|
+
* @param matrix - The matrix (multiplicand).
|
|
221
|
+
* @param out - The vector to store the result in.
|
|
222
|
+
* @returns The transformed vector.
|
|
223
|
+
* @see [Transformation matrix](https://en.wikipedia.org/wiki/Transformation_matrix)
|
|
224
|
+
*/
|
|
225
|
+
export declare const transformMatrix2: <T extends Vector2Like>(vector: Vector2Like, matrix: Matrix2Like, out: T) => T;
|
|
226
|
+
/**
|
|
227
|
+
* Transform a vector by a three-by-three matrix.
|
|
228
|
+
* @param vector - The vector (multiplier).
|
|
229
|
+
* @param matrix - The matrix (multiplicand).
|
|
230
|
+
* @param out - The vector to store the result in.
|
|
231
|
+
* @returns The transformed vector.
|
|
232
|
+
* @see [Transformation matrix](https://en.wikipedia.org/wiki/Transformation_matrix)
|
|
233
|
+
*/
|
|
234
|
+
export declare const transformMatrix3: <T extends Vector2Like>(vector: Vector2Like, matrix: Matrix3Like, out: T) => T;
|
|
235
|
+
/**
|
|
236
|
+
* Transform a vector by a four-by-four matrix.
|
|
237
|
+
* @param vector - The vector (multiplier).
|
|
238
|
+
* @param matrix - The matrix (multiplicand).
|
|
239
|
+
* @param out - The vector to store the result in.
|
|
240
|
+
* @returns The transformed vector.
|
|
241
|
+
* @see [Transformation matrix](https://en.wikipedia.org/wiki/Transformation_matrix)
|
|
242
|
+
*/
|
|
243
|
+
export declare const transformMatrix4: <T extends Vector2Like>(vector: Vector2Like, matrix: Matrix4Like, out: T) => T;
|
|
244
|
+
/**
|
|
245
|
+
* Rotate a vector.
|
|
246
|
+
* @param vector - The vector.
|
|
247
|
+
* @param origin - The origin of the rotation.
|
|
248
|
+
* @param r - The angle of rotation in radians.
|
|
249
|
+
* @param out - The vector to store the result in.
|
|
250
|
+
* @returns The rotated vector.
|
|
251
|
+
*/
|
|
252
|
+
export declare const rotate: <T extends Vector2Like>(vector: Vector2Like, origin: Vector2Like, r: number, out: T) => T;
|
|
253
|
+
/**
|
|
254
|
+
* Get the angle from one vector to another in radians.
|
|
255
|
+
* @param a - The first vector.
|
|
256
|
+
* @param b - The second vector.
|
|
257
|
+
* @returns The angular distance.
|
|
258
|
+
*/
|
|
259
|
+
export declare const angle: (a: Vector2Like, b: Vector2Like) => number;
|
|
260
|
+
/**
|
|
261
|
+
* Set a vector to the zero vector.
|
|
262
|
+
* @param out - The vector to store the result in.
|
|
263
|
+
* @returns This vector.
|
|
264
|
+
*/
|
|
265
|
+
export declare const zero: <T extends Vector2Like>(out: T) => T;
|
|
266
|
+
/**
|
|
267
|
+
* A quantity with magnitude and direction in two dimensions.
|
|
268
|
+
* @see [Euclidean vector](https://en.wikipedia.org/wiki/Euclidean_vector)
|
|
269
|
+
*/
|
|
270
|
+
export default class Vector2 extends Float32Array implements Vector, Vector2Like {
|
|
271
|
+
/**
|
|
272
|
+
* Create a vector with the given values.
|
|
273
|
+
* @param x - The first component.
|
|
274
|
+
* @param y - The second component.
|
|
275
|
+
* @param out - The vector to store the result in.
|
|
276
|
+
* @returns A new vector.
|
|
277
|
+
*/
|
|
278
|
+
static fromValues<T extends Vector2Like>(x: number, y: number, out?: T): T;
|
|
279
|
+
/**
|
|
280
|
+
* Create a two-dimensional zero vector.
|
|
281
|
+
* @see [Euclidean vector](https://en.wikipedia.org/wiki/Euclidean_vector)
|
|
282
|
+
*/
|
|
43
283
|
constructor();
|
|
284
|
+
/** The first component of this vector. */
|
|
285
|
+
0: number;
|
|
286
|
+
/** The second component of this vector. */
|
|
287
|
+
1: number;
|
|
288
|
+
/**
|
|
289
|
+
* Determine whether this vector is roughly equivalent to another.
|
|
290
|
+
* @param vector - The other vector.
|
|
291
|
+
* @returns Whether the vectors are equivalent.
|
|
292
|
+
*/
|
|
44
293
|
equals(vector: Vector2Like): boolean;
|
|
294
|
+
/**
|
|
295
|
+
* Determine whether or not this vector is exactly equivalent to another.
|
|
296
|
+
* @param vector - The other vector.
|
|
297
|
+
* @returns Whether or not the vectors are equivalent.
|
|
298
|
+
*/
|
|
45
299
|
exactEquals(vector: Vector2Like): boolean;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
300
|
+
/**
|
|
301
|
+
* Add another vector to this one.
|
|
302
|
+
* @param vector - The other vector.
|
|
303
|
+
* @param out - The vector to store the result in.
|
|
304
|
+
* @returns The sum of the vectors.
|
|
305
|
+
*/
|
|
306
|
+
add<T extends Vector2Like>(vector: Vector2Like, out?: T): T;
|
|
307
|
+
/**
|
|
308
|
+
* Copy the values from this vector to another one.
|
|
309
|
+
* @param out - The vector to store the result in.
|
|
310
|
+
* @returns The copy.
|
|
311
|
+
*/
|
|
312
|
+
clone<T extends Vector2Like>(out?: T): T;
|
|
313
|
+
/**
|
|
314
|
+
* Copy the values from another vector into this one.
|
|
315
|
+
* @param vector - The vector to copy.
|
|
316
|
+
* @returns This vector.
|
|
317
|
+
*/
|
|
50
318
|
copy(vector: Vector2Like): this;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
319
|
+
/**
|
|
320
|
+
* Multiply the components in this vector by the corresponding components in another.
|
|
321
|
+
* @param vector - The other vector.
|
|
322
|
+
* @param out - The vector to store the result in.
|
|
323
|
+
* @returns The product of the vectors.
|
|
324
|
+
*/
|
|
325
|
+
multiply<T extends Vector2Like>(vector: Vector2Like, out?: T): T;
|
|
326
|
+
/**
|
|
327
|
+
* Divide this vector by another.
|
|
328
|
+
* @param vector - The other vector.
|
|
329
|
+
* @param out - The vector to store the result in.
|
|
330
|
+
* @returns The quotient of the vectors.
|
|
331
|
+
*/
|
|
332
|
+
divide<T extends Vector2Like>(vector: Vector2Like, out?: T): T;
|
|
333
|
+
/**
|
|
334
|
+
* Subtract another vector from this one.
|
|
335
|
+
* @param vector - The other vector.
|
|
336
|
+
* @param out - The vector to store the result in.
|
|
337
|
+
* @returns The difference between the vectors.
|
|
338
|
+
*/
|
|
339
|
+
subtract<T extends Vector2Like>(vector: Vector2Like, out?: T): T;
|
|
340
|
+
/**
|
|
341
|
+
* Round up the components of this vector.
|
|
342
|
+
* @param out - The vector to store the result in.
|
|
343
|
+
* @returns The rounded vector.
|
|
344
|
+
*/
|
|
345
|
+
ceil<T extends Vector2Like>(out?: T): T;
|
|
346
|
+
/**
|
|
347
|
+
* Round down the components of this vector.
|
|
348
|
+
* @param out - The vector to store the result in.
|
|
349
|
+
* @returns The rounded vector.
|
|
350
|
+
*/
|
|
351
|
+
floor<T extends Vector2Like>(out?: T): T;
|
|
352
|
+
/**
|
|
353
|
+
* Round the components of this vector.
|
|
354
|
+
* @param out - The vector to store the result in.
|
|
355
|
+
* @returns The rounded vector.
|
|
356
|
+
*/
|
|
357
|
+
round<T extends Vector2Like>(out?: T): T;
|
|
358
|
+
/**
|
|
359
|
+
* Return the minimum of this and another vector.
|
|
360
|
+
* @param vector - The other vector.
|
|
361
|
+
* @param out - The vector to store the result in.
|
|
362
|
+
* @returns The minimum.
|
|
363
|
+
*/
|
|
364
|
+
min<T extends Vector2Like>(vector: Vector2Like, out?: T): T;
|
|
365
|
+
/**
|
|
366
|
+
* Return the maximum of this and another vector.
|
|
367
|
+
* @param vector - The other vector.
|
|
368
|
+
* @param out - The vector to store the result in.
|
|
369
|
+
* @returns The maximum.
|
|
370
|
+
*/
|
|
371
|
+
max<T extends Vector2Like>(vector: Vector2Like, out?: T): T;
|
|
372
|
+
/**
|
|
373
|
+
* Scale this vector by a scalar.
|
|
374
|
+
* @param scalar - The scalar.
|
|
375
|
+
* @param out - The vector to store the result in.
|
|
376
|
+
* @returns The scaled vector.
|
|
377
|
+
*/
|
|
378
|
+
scale<T extends Vector2Like>(scalar: number, out?: T): T;
|
|
379
|
+
/**
|
|
380
|
+
* Add another vector to this one after scaling the other by a scalar.
|
|
381
|
+
* @param vector - The other vector.
|
|
382
|
+
* @param scalar - The scalar.
|
|
383
|
+
* @param out - The vector to store the result in.
|
|
384
|
+
* @returns The sum.
|
|
385
|
+
*/
|
|
386
|
+
scaleAndAdd<T extends Vector2Like>(vector: Vector2Like, scalar: number, out?: T): T;
|
|
387
|
+
/**
|
|
388
|
+
* Calculate the Euclidean distance from this vector to another.
|
|
389
|
+
* @param vector - The other vector.
|
|
390
|
+
* @returns The distance.
|
|
391
|
+
* @see [Euclidean distance](https://en.wikipedia.org/wiki/Euclidean_distance)
|
|
392
|
+
*/
|
|
71
393
|
distance(vector: Vector2Like): number;
|
|
394
|
+
/**
|
|
395
|
+
* Calculate the squared Euclidean distance from this vector to another.
|
|
396
|
+
* @param vector - The other vector.
|
|
397
|
+
* @returns The squared distance.
|
|
398
|
+
* @see [Euclidean distance](https://en.wikipedia.org/wiki/Euclidean_distance)
|
|
399
|
+
*/
|
|
72
400
|
squaredDistance(vector: Vector2Like): number;
|
|
401
|
+
/** Get the magnitude (length) of this vector. */
|
|
73
402
|
get magnitude(): number;
|
|
403
|
+
/** Get the squared magnitude (length) of this vector. */
|
|
74
404
|
get squaredMagnitude(): number;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
405
|
+
/**
|
|
406
|
+
* Negate this vector.
|
|
407
|
+
* @param out - The vector to store the result in.
|
|
408
|
+
* @returns The negated vector.
|
|
409
|
+
*/
|
|
410
|
+
negate<T extends Vector2Like>(out?: T): T;
|
|
411
|
+
/**
|
|
412
|
+
* Calculate the multiplicative inverse of the components of this vector.
|
|
413
|
+
* @param out - The vector to store the result in.
|
|
414
|
+
* @returns The inverted vector.
|
|
415
|
+
*/
|
|
416
|
+
invert<T extends Vector2Like>(out?: T): T;
|
|
417
|
+
/**
|
|
418
|
+
* Normalize this vector.
|
|
419
|
+
* @param out - The vector to store the result in.
|
|
420
|
+
* @returns The normalized vector.
|
|
421
|
+
* @see [Unit vector](https://en.wikipedia.org/wiki/Unit_vector)
|
|
422
|
+
*/
|
|
423
|
+
normalize<T extends Vector2Like>(out?: T): T;
|
|
424
|
+
/**
|
|
425
|
+
* Calculate the dot product of this and another vector.
|
|
426
|
+
* @param vector - The other vector.
|
|
427
|
+
* @returns The dot product.
|
|
428
|
+
* @see [Dot product](https://en.wikipedia.org/wiki/Dot_product)
|
|
429
|
+
*/
|
|
81
430
|
dot(vector: Vector2Like): number;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
431
|
+
/**
|
|
432
|
+
* Calculate the cross product of this and another vector.
|
|
433
|
+
* @param vector - The other vector.
|
|
434
|
+
* @param out - The vector to store the result in.
|
|
435
|
+
* @returns The cross product.
|
|
436
|
+
* @see [Cross product](https://en.wikipedia.org/wiki/Cross_product)
|
|
437
|
+
*/
|
|
438
|
+
cross<T extends Vector3Like>(vector: Vector2Like, out?: T): T;
|
|
439
|
+
/**
|
|
440
|
+
* Perform a linear interpolation between this and another vector.
|
|
441
|
+
* @param vector - The other vector.
|
|
442
|
+
* @param t - The interpolation amount (in `[0,1]`).
|
|
443
|
+
* @param out - The vector to store the result in.
|
|
444
|
+
* @returns The interpolated vector.
|
|
445
|
+
* @see [Linear interpolation](https://en.wikipedia.org/wiki/Linear_interpolation)
|
|
446
|
+
*/
|
|
447
|
+
lerp<T extends Vector2Like>(vector: Vector2Like, t: number, out?: T): T;
|
|
448
|
+
/**
|
|
449
|
+
* Set this vector to a random value with the given magnitude.
|
|
450
|
+
* @param magnitude - The magnitude.
|
|
451
|
+
* @returns This vector.
|
|
452
|
+
*/
|
|
86
453
|
random(magnitude?: number): this;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
454
|
+
/**
|
|
455
|
+
* Transform this vector by a two-by-two matrix.
|
|
456
|
+
* @param matrix - The matrix.
|
|
457
|
+
* @param out - The vector to store the result in.
|
|
458
|
+
* @returns The transformed vector.
|
|
459
|
+
* @see [Transformation matrix](https://en.wikipedia.org/wiki/Transformation_matrix)
|
|
460
|
+
*/
|
|
461
|
+
transformMatrix2<T extends Vector2Like>(matrix: Matrix2Like, out?: T): T;
|
|
462
|
+
/**
|
|
463
|
+
* Transform this vector by a three-by-three matrix.
|
|
464
|
+
* @param matrix - The matrix.
|
|
465
|
+
* @param out - The vector to store the result in.
|
|
466
|
+
* @returns The transformed vector.
|
|
467
|
+
* @see [Transformation matrix](https://en.wikipedia.org/wiki/Transformation_matrix)
|
|
468
|
+
*/
|
|
469
|
+
transformMatrix3<T extends Vector2Like>(matrix: Matrix3Like, out?: T): T;
|
|
470
|
+
/**
|
|
471
|
+
* Transform this vector by a four-by-four matrix.
|
|
472
|
+
* @param matrix - The matrix.
|
|
473
|
+
* @param out - The vector to store the result in.
|
|
474
|
+
* @returns The transformed vector.
|
|
475
|
+
* @see [Transformation matrix](https://en.wikipedia.org/wiki/Transformation_matrix)
|
|
476
|
+
*/
|
|
477
|
+
transformMatrix4<T extends Vector2Like>(matrix: Matrix4Like, out?: T): T;
|
|
478
|
+
/**
|
|
479
|
+
* Rotate this vector.
|
|
480
|
+
* @param origin - The origin of the rotation.
|
|
481
|
+
* @param radians - The angle of rotation in radians.
|
|
482
|
+
* @param out - The vector to store the result in.
|
|
483
|
+
* @returns The rotated vector.
|
|
484
|
+
*/
|
|
485
|
+
rotate<T extends Vector2Like>(origin: Vector2Like, radians: number, out?: T): T;
|
|
486
|
+
/**
|
|
487
|
+
* Get the angle from this to another vector in radians.
|
|
488
|
+
* @param vector - The other vector.
|
|
489
|
+
* @returns The angular distance.
|
|
490
|
+
*/
|
|
95
491
|
angle(vector: Vector2Like): number;
|
|
492
|
+
/**
|
|
493
|
+
* Set this to the zero vector.
|
|
494
|
+
* @returns This vector.
|
|
495
|
+
*/
|
|
96
496
|
zero(): this;
|
|
97
497
|
}
|
|
98
498
|
//# sourceMappingURL=Vector2.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../../src/linalg/Vector2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../../src/linalg/Vector2.ts"],"names":[],"mappings":"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"}
|