@lakuna/umath 2.0.0 → 3.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/LICENSE +1 -1
- package/dist/algorithms/greatestCommonDivisor.d.ts.map +1 -1
- package/dist/algorithms/greatestCommonDivisor.js +14 -4
- package/dist/algorithms/greatestCommonDivisor.js.map +1 -1
- package/dist/index.d.ts +11 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/linalg/DualQuaternion.d.ts +124 -124
- package/dist/linalg/DualQuaternion.d.ts.map +1 -1
- package/dist/linalg/DualQuaternion.js +173 -165
- package/dist/linalg/DualQuaternion.js.map +1 -1
- package/dist/linalg/Matrix.d.ts +24 -24
- package/dist/linalg/Matrix.d.ts.map +1 -1
- package/dist/linalg/Matrix2.d.ts +63 -63
- package/dist/linalg/Matrix2.d.ts.map +1 -1
- package/dist/linalg/Matrix2.js +92 -88
- package/dist/linalg/Matrix2.js.map +1 -1
- package/dist/linalg/Matrix3.d.ts +107 -107
- package/dist/linalg/Matrix3.d.ts.map +1 -1
- package/dist/linalg/Matrix3.js +147 -138
- package/dist/linalg/Matrix3.js.map +1 -1
- package/dist/linalg/Matrix4.d.ts +200 -201
- package/dist/linalg/Matrix4.d.ts.map +1 -1
- package/dist/linalg/Matrix4.js +272 -251
- package/dist/linalg/Matrix4.js.map +1 -1
- package/dist/linalg/Quaternion.d.ts +116 -116
- package/dist/linalg/Quaternion.d.ts.map +1 -1
- package/dist/linalg/Quaternion.js +175 -161
- package/dist/linalg/Quaternion.js.map +1 -1
- package/dist/linalg/SlowMatrix.d.ts +5 -5
- package/dist/linalg/SlowMatrix.d.ts.map +1 -1
- package/dist/linalg/SlowMatrix.js +12 -12
- package/dist/linalg/SlowMatrix.js.map +1 -1
- package/dist/linalg/SlowSquareMatrix.d.ts +6 -6
- package/dist/linalg/SlowSquareMatrix.d.ts.map +1 -1
- package/dist/linalg/SlowSquareMatrix.js +15 -15
- package/dist/linalg/SlowSquareMatrix.js.map +1 -1
- package/dist/linalg/SlowVector.d.ts +70 -70
- package/dist/linalg/SlowVector.d.ts.map +1 -1
- package/dist/linalg/SlowVector.js +153 -153
- package/dist/linalg/SlowVector.js.map +1 -1
- package/dist/linalg/SquareMatrix.d.ts +8 -8
- package/dist/linalg/SquareMatrix.d.ts.map +1 -1
- package/dist/linalg/Vector.d.ts +85 -84
- package/dist/linalg/Vector.d.ts.map +1 -1
- package/dist/linalg/Vector2.d.ts +104 -104
- package/dist/linalg/Vector2.d.ts.map +1 -1
- package/dist/linalg/Vector2.js +145 -143
- package/dist/linalg/Vector2.js.map +1 -1
- package/dist/linalg/Vector3.d.ts +130 -130
- package/dist/linalg/Vector3.d.ts.map +1 -1
- package/dist/linalg/Vector3.js +176 -173
- package/dist/linalg/Vector3.js.map +1 -1
- package/dist/linalg/Vector4.d.ts +101 -101
- package/dist/linalg/Vector4.d.ts.map +1 -1
- package/dist/linalg/Vector4.js +144 -140
- package/dist/linalg/Vector4.js.map +1 -1
- package/dist/types/AxisAngle.d.ts +2 -2
- package/dist/types/AxisAngle.d.ts.map +1 -1
- package/dist/types/FieldOfView.d.ts +2 -2
- package/dist/types/FieldOfView.d.ts.map +1 -1
- package/dist/utility/BigNumber.d.ts +21 -11
- package/dist/utility/BigNumber.d.ts.map +1 -1
- package/dist/utility/BigNumber.js +42 -31
- package/dist/utility/BigNumber.js.map +1 -1
- package/dist/utility/createAxisAngleLike.d.ts.map +1 -1
- package/dist/utility/createAxisAngleLike.js.map +1 -1
- package/package.json +11 -9
- package/src/algorithms/greatestCommonDivisor.ts +19 -7
- package/src/index.ts +17 -13
- package/src/linalg/DualQuaternion.ts +208 -193
- package/src/linalg/Matrix.ts +28 -28
- package/src/linalg/Matrix2.ts +117 -108
- package/src/linalg/Matrix3.ts +177 -158
- package/src/linalg/Matrix4.ts +386 -348
- package/src/linalg/Quaternion.ts +207 -189
- package/src/linalg/SlowMatrix.ts +19 -18
- package/src/linalg/SlowSquareMatrix.ts +19 -18
- package/src/linalg/SlowVector.ts +170 -169
- package/src/linalg/SquareMatrix.ts +9 -9
- package/src/linalg/Vector.ts +91 -89
- package/src/linalg/Vector2.ts +160 -155
- package/src/linalg/Vector3.ts +206 -199
- package/src/linalg/Vector4.ts +165 -156
- package/src/types/AxisAngle.ts +3 -3
- package/src/types/FieldOfView.ts +3 -3
- package/src/utility/BigNumber.ts +63 -41
- package/src/utility/createAxisAngleLike.ts +1 -0
package/dist/linalg/Matrix.d.ts
CHANGED
|
@@ -1,68 +1,61 @@
|
|
|
1
1
|
import type { Matrix4Like } from "./Matrix4.js";
|
|
2
|
-
/**
|
|
3
|
-
* An object that could be interpreted as a matrix.
|
|
4
|
-
* @public
|
|
5
|
-
*/
|
|
6
|
-
export type MatrixLike = Record<number, number>;
|
|
7
2
|
/**
|
|
8
3
|
* A rectangular array of numbers, arranged in rows and columns.
|
|
9
4
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_(mathematics) | Matrix}
|
|
10
5
|
* @public
|
|
11
6
|
*/
|
|
12
7
|
export default interface Matrix extends MatrixLike {
|
|
13
|
-
/** The number of rows in this matrix. */
|
|
14
|
-
height: number;
|
|
15
|
-
/** The number of columns in this matrix. */
|
|
16
|
-
width: number;
|
|
17
|
-
/**
|
|
18
|
-
* Get the Frobenius norm of this matrix.
|
|
19
|
-
* @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
|
|
20
|
-
*/
|
|
21
|
-
get frob(): number;
|
|
22
8
|
/**
|
|
23
9
|
* Add two matrices of the same size.
|
|
24
10
|
* @param matrix - The other matrix.
|
|
25
11
|
* @returns The sum of the matrices.
|
|
26
12
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
27
13
|
*/
|
|
28
|
-
add(matrix: Matrix4Like)
|
|
14
|
+
add: (matrix: Matrix4Like) => MatrixLike;
|
|
29
15
|
/**
|
|
30
16
|
* Create a copy of this matrix.
|
|
31
17
|
* @returns A copy of this matrix.
|
|
32
18
|
*/
|
|
33
|
-
clone()
|
|
19
|
+
clone: () => MatrixLike;
|
|
34
20
|
/**
|
|
35
21
|
* Copy the values of another matrix into this one.
|
|
36
22
|
* @param matrix - The matrix to copy.
|
|
37
23
|
* @returns This matrix.
|
|
38
24
|
*/
|
|
39
|
-
copy(matrix: Matrix4Like)
|
|
25
|
+
copy: (matrix: Matrix4Like) => this;
|
|
40
26
|
/**
|
|
41
27
|
* Determine whether or not this matrix is roughly equivalent to another.
|
|
42
28
|
* @param matrix - The other matrix.
|
|
43
29
|
* @returns Whether the matrices are equivalent.
|
|
44
30
|
*/
|
|
45
|
-
equals(matrix: Matrix4Like)
|
|
31
|
+
equals: (matrix: Matrix4Like) => boolean;
|
|
46
32
|
/**
|
|
47
33
|
* Determine whether or not this matrix is exactly equivalent to another.
|
|
48
34
|
* @param matrix - The other matrix.
|
|
49
35
|
* @returns Whether the matrices are equivalent.
|
|
50
36
|
*/
|
|
51
|
-
exactEquals(matrix: Matrix4Like)
|
|
37
|
+
exactEquals: (matrix: Matrix4Like) => boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Get the Frobenius norm of this matrix.
|
|
40
|
+
* @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
|
|
41
|
+
*/
|
|
42
|
+
get frob(): number;
|
|
43
|
+
/** The number of rows in this matrix. */
|
|
44
|
+
height: number;
|
|
52
45
|
/**
|
|
53
46
|
* Multiply this matrix by another.
|
|
54
47
|
* @param matrix - The other matrix.
|
|
55
48
|
* @returns The product of the matrices.
|
|
56
49
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_multiplication | Matrix multiplication}
|
|
57
50
|
*/
|
|
58
|
-
multiply(matrix: Matrix4Like)
|
|
51
|
+
multiply: (matrix: Matrix4Like) => MatrixLike;
|
|
59
52
|
/**
|
|
60
53
|
* Multiply this matrix by a scalar value.
|
|
61
54
|
* @param scalar - The scalar value.
|
|
62
55
|
* @returns The product of the matrix and the scalar value.
|
|
63
56
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_multiplication | Matrix multiplication}
|
|
64
57
|
*/
|
|
65
|
-
multiplyScalar(scalar: number)
|
|
58
|
+
multiplyScalar: (scalar: number) => MatrixLike;
|
|
66
59
|
/**
|
|
67
60
|
* Add this matrix to another after multiplying the other by a scalar.
|
|
68
61
|
* @param matrix - The other matrix.
|
|
@@ -71,19 +64,26 @@ export default interface Matrix extends MatrixLike {
|
|
|
71
64
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
72
65
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_multiplication | Matrix multiplication}
|
|
73
66
|
*/
|
|
74
|
-
multiplyScalarAndAdd(matrix: Matrix4Like, scalar: number)
|
|
67
|
+
multiplyScalarAndAdd: (matrix: Matrix4Like, scalar: number) => MatrixLike;
|
|
75
68
|
/**
|
|
76
69
|
* Subtract another matrix from this one.
|
|
77
70
|
* @param matrix - The other matrix.
|
|
78
71
|
* @returns The difference between the matrices.
|
|
79
72
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
80
73
|
*/
|
|
81
|
-
subtract(matrix: Matrix4Like)
|
|
74
|
+
subtract: (matrix: Matrix4Like) => MatrixLike;
|
|
82
75
|
/**
|
|
83
76
|
* Transpose this matrix.
|
|
84
77
|
* @returns The transpose of this matrix.
|
|
85
78
|
* @see {@link https://en.wikipedia.org/wiki/Transpose | Transpose}
|
|
86
79
|
*/
|
|
87
|
-
transpose()
|
|
80
|
+
transpose: () => MatrixLike;
|
|
81
|
+
/** The number of columns in this matrix. */
|
|
82
|
+
width: number;
|
|
88
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* An object that could be interpreted as a matrix.
|
|
86
|
+
* @public
|
|
87
|
+
*/
|
|
88
|
+
export type MatrixLike = Record<number, number>;
|
|
89
89
|
//# sourceMappingURL=Matrix.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matrix.d.ts","sourceRoot":"","sources":["../../src/linalg/Matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"Matrix.d.ts","sourceRoot":"","sources":["../../src/linalg/Matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,MAAO,SAAQ,UAAU;IACjD;;;;;OAKG;IACH,GAAG,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,UAAU,CAAC;IAEzC;;;OAGG;IACH,KAAK,EAAE,MAAM,UAAU,CAAC;IAExB;;;;OAIG;IACH,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAEpC;;;;OAIG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC;IAEzC;;;;OAIG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC;IAE9C;;;OAGG;IACH,IAAI,IAAI,IAAI,MAAM,CAAC;IAEnB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,UAAU,CAAC;IAE9C;;;;;OAKG;IACH,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;IAE/C;;;;;;;OAOG;IACH,oBAAoB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;IAE1E;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,UAAU,CAAC;IAE9C;;;;OAIG;IACH,SAAS,EAAE,MAAM,UAAU,CAAC;IAE5B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
|
package/dist/linalg/Matrix2.d.ts
CHANGED
|
@@ -203,7 +203,34 @@ export declare const scale: <T extends Matrix2Like>(matrix: Matrix2Like, vector:
|
|
|
203
203
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_(mathematics) | Matrix}
|
|
204
204
|
* @public
|
|
205
205
|
*/
|
|
206
|
-
export default class Matrix2 extends Float32Array implements
|
|
206
|
+
export default class Matrix2 extends Float32Array implements Matrix2Like, SquareMatrix {
|
|
207
|
+
/** The value in the first column and first row. */
|
|
208
|
+
0: number;
|
|
209
|
+
/** The value in the first column and second row. */
|
|
210
|
+
1: number;
|
|
211
|
+
/** The value in the second column and first row. */
|
|
212
|
+
2: number;
|
|
213
|
+
/** The value in the second column and second row. */
|
|
214
|
+
3: number;
|
|
215
|
+
/** The number of rows in this matrix. */
|
|
216
|
+
readonly height: 2;
|
|
217
|
+
/** The number of columns in this matrix. */
|
|
218
|
+
readonly width: 2;
|
|
219
|
+
/**
|
|
220
|
+
* Get the determinant of this matrix.
|
|
221
|
+
* @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
|
|
222
|
+
*/
|
|
223
|
+
get determinant(): number;
|
|
224
|
+
/**
|
|
225
|
+
* Get the Frobenius norm of this matrix.
|
|
226
|
+
* @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
|
|
227
|
+
*/
|
|
228
|
+
get frob(): number;
|
|
229
|
+
/**
|
|
230
|
+
* Create a two-by-two identity matrix.
|
|
231
|
+
* @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
|
|
232
|
+
*/
|
|
233
|
+
constructor();
|
|
207
234
|
/**
|
|
208
235
|
* Create a transformation matrix that represents a rotation by the given angle around the Z-axis.
|
|
209
236
|
* @param r - The angle in radians.
|
|
@@ -227,35 +254,6 @@ export default class Matrix2 extends Float32Array implements SquareMatrix, Matri
|
|
|
227
254
|
* @returns The matrix.
|
|
228
255
|
*/
|
|
229
256
|
static fromValues(c0r0: number, c0r1: number, c1r0: number, c1r1: number): Matrix2;
|
|
230
|
-
/**
|
|
231
|
-
* Create a two-by-two identity matrix.
|
|
232
|
-
* @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
|
|
233
|
-
*/
|
|
234
|
-
constructor();
|
|
235
|
-
/** The value in the first column and first row. */
|
|
236
|
-
0: number;
|
|
237
|
-
/** The value in the first column and second row. */
|
|
238
|
-
1: number;
|
|
239
|
-
/** The value in the second column and first row. */
|
|
240
|
-
2: number;
|
|
241
|
-
/** The value in the second column and second row. */
|
|
242
|
-
3: number;
|
|
243
|
-
/** The number of columns in this matrix. */
|
|
244
|
-
readonly width: 2;
|
|
245
|
-
/** The number of rows in this matrix. */
|
|
246
|
-
readonly height: 2;
|
|
247
|
-
/**
|
|
248
|
-
* Determine whether or not this matrix is roughly equivalent to another.
|
|
249
|
-
* @param matrix - The other matrix.
|
|
250
|
-
* @returns Whether the matrices are equivalent.
|
|
251
|
-
*/
|
|
252
|
-
equals(matrix: Matrix2Like): boolean;
|
|
253
|
-
/**
|
|
254
|
-
* Determine whether or not this matrix is exactly equivalent to another.
|
|
255
|
-
* @param matrix - The other matrix.
|
|
256
|
-
* @returns Whether the matrices are equivalent.
|
|
257
|
-
*/
|
|
258
|
-
exactEquals(matrix: Matrix2Like): boolean;
|
|
259
257
|
/**
|
|
260
258
|
* Add another matrix to this one.
|
|
261
259
|
* @param matrix - The other matrix.
|
|
@@ -281,10 +279,29 @@ export default class Matrix2 extends Float32Array implements SquareMatrix, Matri
|
|
|
281
279
|
*/
|
|
282
280
|
copy(matrix: Matrix2Like): this;
|
|
283
281
|
/**
|
|
284
|
-
*
|
|
285
|
-
* @
|
|
282
|
+
* Determine whether or not this matrix is roughly equivalent to another.
|
|
283
|
+
* @param matrix - The other matrix.
|
|
284
|
+
* @returns Whether the matrices are equivalent.
|
|
286
285
|
*/
|
|
287
|
-
|
|
286
|
+
equals(matrix: Matrix2Like): boolean;
|
|
287
|
+
/**
|
|
288
|
+
* Determine whether or not this matrix is exactly equivalent to another.
|
|
289
|
+
* @param matrix - The other matrix.
|
|
290
|
+
* @returns Whether the matrices are equivalent.
|
|
291
|
+
*/
|
|
292
|
+
exactEquals(matrix: Matrix2Like): boolean;
|
|
293
|
+
/**
|
|
294
|
+
* Reset this matrix to identity.
|
|
295
|
+
* @returns This matrix.
|
|
296
|
+
* @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
|
|
297
|
+
*/
|
|
298
|
+
identity(): this;
|
|
299
|
+
/**
|
|
300
|
+
* Invert this matrix.
|
|
301
|
+
* @returns The inverted matrix.
|
|
302
|
+
* @see {@link https://en.wikipedia.org/wiki/Invertible_matrix | Invertible matrix}
|
|
303
|
+
*/
|
|
304
|
+
invert(): Matrix2;
|
|
288
305
|
/**
|
|
289
306
|
* Multiply this matrix by another.
|
|
290
307
|
* @param matrix - The other matrix.
|
|
@@ -309,36 +326,6 @@ export default class Matrix2 extends Float32Array implements SquareMatrix, Matri
|
|
|
309
326
|
* @see {@link https://en.wikipedia.org/wiki/Matrix_multiplication | Matrix multiplication}
|
|
310
327
|
*/
|
|
311
328
|
multiplyScalarAndAdd(matrix: Matrix2Like, scalar: number): Matrix2;
|
|
312
|
-
/**
|
|
313
|
-
* Subtract another matrix from this one.
|
|
314
|
-
* @param matrix - The other matrix.
|
|
315
|
-
* @returns The difference between the matrices.
|
|
316
|
-
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
317
|
-
*/
|
|
318
|
-
subtract(matrix: Matrix2Like): Matrix2;
|
|
319
|
-
/**
|
|
320
|
-
* Transpose this matrix.
|
|
321
|
-
* @returns The transpose of this matrix.
|
|
322
|
-
* @see {@link https://en.wikipedia.org/wiki/Transpose | Transpose}
|
|
323
|
-
*/
|
|
324
|
-
transpose(): Matrix2;
|
|
325
|
-
/**
|
|
326
|
-
* Get the determinant of this matrix.
|
|
327
|
-
* @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
|
|
328
|
-
*/
|
|
329
|
-
get determinant(): number;
|
|
330
|
-
/**
|
|
331
|
-
* Reset this matrix to identity.
|
|
332
|
-
* @returns This matrix.
|
|
333
|
-
* @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
|
|
334
|
-
*/
|
|
335
|
-
identity(): this;
|
|
336
|
-
/**
|
|
337
|
-
* Invert this matrix.
|
|
338
|
-
* @returns The inverted matrix.
|
|
339
|
-
* @see {@link https://en.wikipedia.org/wiki/Invertible_matrix | Invertible matrix}
|
|
340
|
-
*/
|
|
341
|
-
invert(): Matrix2;
|
|
342
329
|
/**
|
|
343
330
|
* Rotate this matrix by the given angle.
|
|
344
331
|
* @param r - The angle in radians.
|
|
@@ -353,5 +340,18 @@ export default class Matrix2 extends Float32Array implements SquareMatrix, Matri
|
|
|
353
340
|
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
354
341
|
*/
|
|
355
342
|
scale(vector: Vector2Like): Matrix2;
|
|
343
|
+
/**
|
|
344
|
+
* Subtract another matrix from this one.
|
|
345
|
+
* @param matrix - The other matrix.
|
|
346
|
+
* @returns The difference between the matrices.
|
|
347
|
+
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
348
|
+
*/
|
|
349
|
+
subtract(matrix: Matrix2Like): Matrix2;
|
|
350
|
+
/**
|
|
351
|
+
* Transpose this matrix.
|
|
352
|
+
* @returns The transpose of this matrix.
|
|
353
|
+
* @see {@link https://en.wikipedia.org/wiki/Transpose | Transpose}
|
|
354
|
+
*/
|
|
355
|
+
transpose(): Matrix2;
|
|
356
356
|
}
|
|
357
357
|
//# sourceMappingURL=Matrix2.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matrix2.d.ts","sourceRoot":"","sources":["../../src/linalg/Matrix2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Matrix2.d.ts","sourceRoot":"","sources":["../../src/linalg/Matrix2.ts"],"names":[],"mappings":"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"}
|
package/dist/linalg/Matrix2.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { add as vector4Add, copy as vector4Copy, exactEquals as vector4ExactEquals, fromValues as vector4FromValues, getMagnitude as vector4GetMagnitude, scale as vector4Scale, scaleAndAdd as vector4ScaleAndAdd, subtract as vector4Subtract } from "./Vector4.js";
|
|
2
|
-
import SingularMatrixError from "../utility/SingularMatrixError.js";
|
|
3
1
|
import approxRelative from "../algorithms/approxRelative.js";
|
|
2
|
+
import SingularMatrixError from "../utility/SingularMatrixError.js";
|
|
3
|
+
import { add as vector4Add, copy as vector4Copy, exactEquals as vector4ExactEquals, fromValues as vector4FromValues, getMagnitude as vector4GetMagnitude, scale as vector4Scale, scaleAndAdd as vector4ScaleAndAdd, subtract as vector4Subtract } from "./Vector4.js";
|
|
4
4
|
/**
|
|
5
5
|
* Create a two-by-two matrix-like object.
|
|
6
6
|
* @returns A two-by-two matrix-like object.
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
export const createMatrix2Like = () =>
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
export const createMatrix2Like = () =>
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
11
|
+
new Float32Array(4);
|
|
12
12
|
/**
|
|
13
13
|
* Create a two-by-two matrix with the given values.
|
|
14
14
|
* @param c0r0 - The value in the first column and first row.
|
|
@@ -239,6 +239,47 @@ export const scale = (matrix, vector, out) => {
|
|
|
239
239
|
* @public
|
|
240
240
|
*/
|
|
241
241
|
export default class Matrix2 extends Float32Array {
|
|
242
|
+
/** The value in the first column and first row. */
|
|
243
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
244
|
+
0;
|
|
245
|
+
/** The value in the first column and second row. */
|
|
246
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
247
|
+
1;
|
|
248
|
+
/** The value in the second column and first row. */
|
|
249
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
250
|
+
2;
|
|
251
|
+
/** The value in the second column and second row. */
|
|
252
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
253
|
+
3;
|
|
254
|
+
/** The number of rows in this matrix. */
|
|
255
|
+
height;
|
|
256
|
+
/** The number of columns in this matrix. */
|
|
257
|
+
width;
|
|
258
|
+
/**
|
|
259
|
+
* Get the determinant of this matrix.
|
|
260
|
+
* @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
|
|
261
|
+
*/
|
|
262
|
+
get determinant() {
|
|
263
|
+
return determinant(this);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Get the Frobenius norm of this matrix.
|
|
267
|
+
* @see {@link https://en.wikipedia.org/wiki/Matrix_norm | Matrix norm}
|
|
268
|
+
*/
|
|
269
|
+
get frob() {
|
|
270
|
+
return frob(this);
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Create a two-by-two identity matrix.
|
|
274
|
+
* @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
|
|
275
|
+
*/
|
|
276
|
+
constructor() {
|
|
277
|
+
super(4);
|
|
278
|
+
this[0] = 1;
|
|
279
|
+
this[3] = 1;
|
|
280
|
+
this.width = 2;
|
|
281
|
+
this.height = 2;
|
|
282
|
+
}
|
|
242
283
|
/**
|
|
243
284
|
* Create a transformation matrix that represents a rotation by the given angle around the Z-axis.
|
|
244
285
|
* @param r - The angle in radians.
|
|
@@ -268,45 +309,6 @@ export default class Matrix2 extends Float32Array {
|
|
|
268
309
|
static fromValues(c0r0, c0r1, c1r0, c1r1) {
|
|
269
310
|
return fromValues(c0r0, c0r1, c1r0, c1r1, new Matrix2());
|
|
270
311
|
}
|
|
271
|
-
/**
|
|
272
|
-
* Create a two-by-two identity matrix.
|
|
273
|
-
* @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
|
|
274
|
-
*/
|
|
275
|
-
constructor() {
|
|
276
|
-
super(4);
|
|
277
|
-
this[0] = 1;
|
|
278
|
-
this[3] = 1;
|
|
279
|
-
this.width = 2;
|
|
280
|
-
this.height = 2;
|
|
281
|
-
}
|
|
282
|
-
/** The value in the first column and first row. */
|
|
283
|
-
0;
|
|
284
|
-
/** The value in the first column and second row. */
|
|
285
|
-
1;
|
|
286
|
-
/** The value in the second column and first row. */
|
|
287
|
-
2;
|
|
288
|
-
/** The value in the second column and second row. */
|
|
289
|
-
3;
|
|
290
|
-
/** The number of columns in this matrix. */
|
|
291
|
-
width;
|
|
292
|
-
/** The number of rows in this matrix. */
|
|
293
|
-
height;
|
|
294
|
-
/**
|
|
295
|
-
* Determine whether or not this matrix is roughly equivalent to another.
|
|
296
|
-
* @param matrix - The other matrix.
|
|
297
|
-
* @returns Whether the matrices are equivalent.
|
|
298
|
-
*/
|
|
299
|
-
equals(matrix) {
|
|
300
|
-
return equals(this, matrix);
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Determine whether or not this matrix is exactly equivalent to another.
|
|
304
|
-
* @param matrix - The other matrix.
|
|
305
|
-
* @returns Whether the matrices are equivalent.
|
|
306
|
-
*/
|
|
307
|
-
exactEquals(matrix) {
|
|
308
|
-
return exactEquals(this, matrix);
|
|
309
|
-
}
|
|
310
312
|
/**
|
|
311
313
|
* Add another matrix to this one.
|
|
312
314
|
* @param matrix - The other matrix.
|
|
@@ -340,11 +342,36 @@ export default class Matrix2 extends Float32Array {
|
|
|
340
342
|
return copy(matrix, this);
|
|
341
343
|
}
|
|
342
344
|
/**
|
|
343
|
-
*
|
|
344
|
-
* @
|
|
345
|
+
* Determine whether or not this matrix is roughly equivalent to another.
|
|
346
|
+
* @param matrix - The other matrix.
|
|
347
|
+
* @returns Whether the matrices are equivalent.
|
|
345
348
|
*/
|
|
346
|
-
|
|
347
|
-
return
|
|
349
|
+
equals(matrix) {
|
|
350
|
+
return equals(this, matrix);
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Determine whether or not this matrix is exactly equivalent to another.
|
|
354
|
+
* @param matrix - The other matrix.
|
|
355
|
+
* @returns Whether the matrices are equivalent.
|
|
356
|
+
*/
|
|
357
|
+
exactEquals(matrix) {
|
|
358
|
+
return exactEquals(this, matrix);
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Reset this matrix to identity.
|
|
362
|
+
* @returns This matrix.
|
|
363
|
+
* @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
|
|
364
|
+
*/
|
|
365
|
+
identity() {
|
|
366
|
+
return identity(this);
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Invert this matrix.
|
|
370
|
+
* @returns The inverted matrix.
|
|
371
|
+
* @see {@link https://en.wikipedia.org/wiki/Invertible_matrix | Invertible matrix}
|
|
372
|
+
*/
|
|
373
|
+
invert() {
|
|
374
|
+
return invert(this, new Matrix2());
|
|
348
375
|
}
|
|
349
376
|
/**
|
|
350
377
|
* Multiply this matrix by another.
|
|
@@ -376,46 +403,6 @@ export default class Matrix2 extends Float32Array {
|
|
|
376
403
|
multiplyScalarAndAdd(matrix, scalar) {
|
|
377
404
|
return multiplyScalarAndAdd(this, matrix, scalar, new Matrix2());
|
|
378
405
|
}
|
|
379
|
-
/**
|
|
380
|
-
* Subtract another matrix from this one.
|
|
381
|
-
* @param matrix - The other matrix.
|
|
382
|
-
* @returns The difference between the matrices.
|
|
383
|
-
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
384
|
-
*/
|
|
385
|
-
subtract(matrix) {
|
|
386
|
-
return subtract(this, matrix, new Matrix2());
|
|
387
|
-
}
|
|
388
|
-
/**
|
|
389
|
-
* Transpose this matrix.
|
|
390
|
-
* @returns The transpose of this matrix.
|
|
391
|
-
* @see {@link https://en.wikipedia.org/wiki/Transpose | Transpose}
|
|
392
|
-
*/
|
|
393
|
-
transpose() {
|
|
394
|
-
return transpose(this, new Matrix2());
|
|
395
|
-
}
|
|
396
|
-
/**
|
|
397
|
-
* Get the determinant of this matrix.
|
|
398
|
-
* @see {@link https://en.wikipedia.org/wiki/Determinant | Determinant}
|
|
399
|
-
*/
|
|
400
|
-
get determinant() {
|
|
401
|
-
return determinant(this);
|
|
402
|
-
}
|
|
403
|
-
/**
|
|
404
|
-
* Reset this matrix to identity.
|
|
405
|
-
* @returns This matrix.
|
|
406
|
-
* @see {@link https://en.wikipedia.org/wiki/Identity_matrix | Identity matrix}
|
|
407
|
-
*/
|
|
408
|
-
identity() {
|
|
409
|
-
return identity(this);
|
|
410
|
-
}
|
|
411
|
-
/**
|
|
412
|
-
* Invert this matrix.
|
|
413
|
-
* @returns The inverted matrix.
|
|
414
|
-
* @see {@link https://en.wikipedia.org/wiki/Invertible_matrix | Invertible matrix}
|
|
415
|
-
*/
|
|
416
|
-
invert() {
|
|
417
|
-
return invert(this, new Matrix2());
|
|
418
|
-
}
|
|
419
406
|
/**
|
|
420
407
|
* Rotate this matrix by the given angle.
|
|
421
408
|
* @param r - The angle in radians.
|
|
@@ -434,5 +421,22 @@ export default class Matrix2 extends Float32Array {
|
|
|
434
421
|
scale(vector) {
|
|
435
422
|
return scale(this, vector, new Matrix2());
|
|
436
423
|
}
|
|
424
|
+
/**
|
|
425
|
+
* Subtract another matrix from this one.
|
|
426
|
+
* @param matrix - The other matrix.
|
|
427
|
+
* @returns The difference between the matrices.
|
|
428
|
+
* @see {@link https://en.wikipedia.org/wiki/Matrix_addition | Matrix addition}
|
|
429
|
+
*/
|
|
430
|
+
subtract(matrix) {
|
|
431
|
+
return subtract(this, matrix, new Matrix2());
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Transpose this matrix.
|
|
435
|
+
* @returns The transpose of this matrix.
|
|
436
|
+
* @see {@link https://en.wikipedia.org/wiki/Transpose | Transpose}
|
|
437
|
+
*/
|
|
438
|
+
transpose() {
|
|
439
|
+
return transpose(this, new Matrix2());
|
|
440
|
+
}
|
|
437
441
|
}
|
|
438
442
|
//# sourceMappingURL=Matrix2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matrix2.js","sourceRoot":"","sources":["../../src/linalg/Matrix2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Matrix2.js","sourceRoot":"","sources":["../../src/linalg/Matrix2.ts"],"names":[],"mappings":"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"}
|