@lakuna/umath 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -1
- package/dist/algorithms/combinations.d.ts +2 -0
- package/dist/algorithms/combinations.d.ts.map +1 -0
- package/dist/algorithms/combinations.js +5 -0
- package/dist/algorithms/combinations.js.map +1 -0
- package/dist/algorithms/degreesToRadians.d.ts +2 -0
- package/dist/algorithms/degreesToRadians.d.ts.map +1 -0
- package/dist/algorithms/degreesToRadians.js +4 -0
- package/dist/algorithms/degreesToRadians.js.map +1 -0
- package/dist/algorithms/factorial.d.ts +2 -0
- package/dist/algorithms/factorial.d.ts.map +1 -0
- package/dist/algorithms/factorial.js +4 -0
- package/dist/algorithms/factorial.js.map +1 -0
- package/dist/algorithms/fibonacci.d.ts +2 -0
- package/dist/algorithms/fibonacci.d.ts.map +1 -0
- package/dist/algorithms/fibonacci.js +9 -0
- package/dist/algorithms/fibonacci.js.map +1 -0
- package/dist/algorithms/greatestCommonDivisor.d.ts +3 -0
- package/dist/algorithms/greatestCommonDivisor.d.ts.map +1 -0
- package/dist/algorithms/greatestCommonDivisor.js +13 -0
- package/dist/algorithms/greatestCommonDivisor.js.map +1 -0
- package/dist/algorithms/isPrime.d.ts +2 -0
- package/dist/algorithms/isPrime.d.ts.map +1 -0
- package/dist/algorithms/isPrime.js +12 -0
- package/dist/algorithms/isPrime.js.map +1 -0
- package/dist/algorithms/permutations.d.ts +2 -0
- package/dist/algorithms/permutations.d.ts.map +1 -0
- package/dist/algorithms/permutations.js +5 -0
- package/dist/algorithms/permutations.js.map +1 -0
- package/dist/algorithms/primeFactorization.d.ts +2 -0
- package/dist/algorithms/primeFactorization.d.ts.map +1 -0
- package/dist/algorithms/primeFactorization.js +15 -0
- package/dist/algorithms/primeFactorization.js.map +1 -0
- package/dist/algorithms/radiansToDegrees.d.ts +2 -0
- package/dist/algorithms/radiansToDegrees.d.ts.map +1 -0
- package/dist/algorithms/radiansToDegrees.js +4 -0
- package/dist/algorithms/radiansToDegrees.js.map +1 -0
- package/dist/algorithms/summation.d.ts +2 -0
- package/dist/algorithms/summation.d.ts.map +1 -0
- package/dist/algorithms/summation.js +7 -0
- package/dist/algorithms/summation.js.map +1 -0
- package/dist/index.d.ts +28 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -1
- package/dist/index.js.map +1 -1
- package/dist/linear/DualQuaternion.d.ts +89 -0
- package/dist/linear/DualQuaternion.d.ts.map +1 -0
- package/dist/linear/DualQuaternion.js +530 -0
- package/dist/linear/DualQuaternion.js.map +1 -0
- package/dist/linear/Matrix.d.ts +18 -0
- package/dist/linear/Matrix.d.ts.map +1 -0
- package/dist/linear/Matrix.js +2 -0
- package/dist/linear/Matrix.js.map +1 -0
- package/dist/linear/Matrix2.d.ts +66 -0
- package/dist/linear/Matrix2.d.ts.map +1 -0
- package/dist/linear/Matrix2.js +240 -0
- package/dist/linear/Matrix2.js.map +1 -0
- package/dist/linear/Matrix3.d.ts +91 -0
- package/dist/linear/Matrix3.d.ts.map +1 -0
- package/dist/linear/Matrix3.js +533 -0
- package/dist/linear/Matrix3.js.map +1 -0
- package/dist/linear/Matrix4.d.ts +140 -0
- package/dist/linear/Matrix4.d.ts.map +1 -0
- package/dist/linear/Matrix4.js +1363 -0
- package/dist/linear/Matrix4.js.map +1 -0
- package/dist/linear/Quaternion.d.ts +80 -0
- package/dist/linear/Quaternion.d.ts.map +1 -0
- package/dist/linear/Quaternion.js +371 -0
- package/dist/linear/Quaternion.js.map +1 -0
- package/dist/linear/SquareMatrix.d.ts +7 -0
- package/dist/linear/SquareMatrix.d.ts.map +1 -0
- package/dist/linear/SquareMatrix.js +2 -0
- package/dist/linear/SquareMatrix.js.map +1 -0
- package/dist/linear/Vector.d.ts +30 -0
- package/dist/linear/Vector.d.ts.map +1 -0
- package/dist/linear/Vector.js +2 -0
- package/dist/linear/Vector.js.map +1 -0
- package/dist/linear/Vector2.d.ts +96 -0
- package/dist/linear/Vector2.d.ts.map +1 -0
- package/dist/linear/Vector2.js +293 -0
- package/dist/linear/Vector2.js.map +1 -0
- package/dist/linear/Vector3.d.ts +111 -0
- package/dist/linear/Vector3.d.ts.map +1 -0
- package/dist/linear/Vector3.js +466 -0
- package/dist/linear/Vector3.js.map +1 -0
- package/dist/linear/Vector4.d.ts +86 -0
- package/dist/linear/Vector4.d.ts.map +1 -0
- package/dist/linear/Vector4.js +348 -0
- package/dist/linear/Vector4.js.map +1 -0
- package/dist/types/AxisAngle.d.ts +6 -0
- package/dist/types/AxisAngle.d.ts.map +1 -0
- package/dist/types/AxisAngle.js +2 -0
- package/dist/types/AxisAngle.js.map +1 -0
- package/dist/types/FieldOfView.d.ts +7 -0
- package/dist/types/FieldOfView.d.ts.map +1 -0
- package/dist/types/FieldOfView.js +2 -0
- package/dist/types/FieldOfView.js.map +1 -0
- package/dist/types/IntegerRepresentation.d.ts +2 -0
- package/dist/types/IntegerRepresentation.d.ts.map +1 -0
- package/dist/types/IntegerRepresentation.js +2 -0
- package/dist/types/IntegerRepresentation.js.map +1 -0
- package/dist/utility/BigNumber.d.ts +15 -0
- package/dist/utility/BigNumber.d.ts.map +1 -0
- package/dist/utility/BigNumber.js +75 -0
- package/dist/utility/BigNumber.js.map +1 -0
- package/dist/utility/MagnitudeError.d.ts +4 -0
- package/dist/utility/MagnitudeError.d.ts.map +1 -0
- package/dist/utility/MagnitudeError.js +6 -0
- package/dist/utility/MagnitudeError.js.map +1 -0
- package/dist/utility/SingularMatrixError.d.ts +4 -0
- package/dist/utility/SingularMatrixError.d.ts.map +1 -0
- package/dist/utility/SingularMatrixError.js +6 -0
- package/dist/utility/SingularMatrixError.js.map +1 -0
- package/dist/utility/epsilon.d.ts +3 -0
- package/dist/utility/epsilon.d.ts.map +1 -0
- package/dist/utility/epsilon.js +2 -0
- package/dist/utility/epsilon.js.map +1 -0
- package/package.json +17 -9
- package/src/algorithms/combinations.ts +12 -0
- package/src/algorithms/degreesToRadians.ts +10 -0
- package/src/algorithms/factorial.ts +9 -0
- package/src/algorithms/fibonacci.ts +14 -0
- package/src/algorithms/greatestCommonDivisor.ts +30 -0
- package/src/algorithms/isPrime.ts +20 -0
- package/src/algorithms/permutations.ts +12 -0
- package/src/algorithms/primeFactorization.ts +21 -0
- package/src/algorithms/radiansToDegrees.ts +10 -0
- package/src/algorithms/summation.ts +23 -0
- package/src/index.ts +28 -1
- package/src/linear/DualQuaternion.ts +1213 -0
- package/src/linear/Matrix.ts +106 -0
- package/src/linear/Matrix2.ts +709 -0
- package/src/linear/Matrix3.ts +1194 -0
- package/src/linear/Matrix4.ts +2569 -0
- package/src/linear/Quaternion.ts +967 -0
- package/src/linear/SquareMatrix.ts +27 -0
- package/src/linear/Vector.ts +178 -0
- package/src/linear/Vector2.ts +979 -0
- package/src/linear/Vector3.ts +1320 -0
- package/src/linear/Vector4.ts +975 -0
- package/src/types/AxisAngle.ts +10 -0
- package/src/types/FieldOfView.ts +14 -0
- package/src/types/IntegerRepresentation.ts +2 -0
- package/src/utility/BigNumber.ts +130 -0
- package/src/utility/MagnitudeError.ts +10 -0
- package/src/utility/SingularMatrixError.ts +13 -0
- package/src/utility/epsilon.ts +2 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type SquareMatrix } from "@lakuna/umath";
|
|
2
|
+
import type { Vector2Like } from "@lakuna/umath/Vector2";
|
|
3
|
+
export type Matrix2Like = Matrix2 | [
|
|
4
|
+
number,
|
|
5
|
+
number,
|
|
6
|
+
number,
|
|
7
|
+
number
|
|
8
|
+
];
|
|
9
|
+
export declare function fromRotation<T extends Matrix2Like>(radians: number, out: T): T;
|
|
10
|
+
export declare function fromScaling<T extends Matrix2Like>(vector: Vector2Like, out: T): T;
|
|
11
|
+
export declare function fromValues<T extends Matrix2Like>(c0r0: number, c0r1: number, c1r0: number, c1r1: number, out: T): T;
|
|
12
|
+
export declare function equals(a: Matrix2Like, b: Matrix2Like): boolean;
|
|
13
|
+
export declare function exactEquals(a: Matrix2Like, b: Matrix2Like): boolean;
|
|
14
|
+
export declare function add<T extends Matrix2Like>(a: Matrix2Like, b: Matrix2Like, out: T): T;
|
|
15
|
+
export declare function adjoint<T extends Matrix2Like>(matrix: Matrix2Like, out: T): T;
|
|
16
|
+
export declare function copy<T extends Matrix2Like>(matrix: Matrix2Like, out: T): T;
|
|
17
|
+
export declare function frob(matrix: Matrix2Like): number;
|
|
18
|
+
export declare function multiply<T extends Matrix2Like>(a: Matrix2Like, b: Matrix2Like, out: T): T;
|
|
19
|
+
export declare function multiplyScalar<T extends Matrix2Like>(matrix: Matrix2Like, scalar: number, out: T): T;
|
|
20
|
+
export declare function multiplyScalarAndAdd<T extends Matrix2Like>(a: Matrix2Like, b: Matrix2Like, scalar: number, out: T): T;
|
|
21
|
+
export declare function subtract<T extends Matrix2Like>(a: Matrix2Like, b: Matrix2Like, out: T): T;
|
|
22
|
+
export declare function transpose<T extends Matrix2Like>(matrix: Matrix2Like, out: T): T;
|
|
23
|
+
export declare function determinant(matrix: Matrix2Like): number;
|
|
24
|
+
export declare function identity<T extends Matrix2Like>(out: T): T;
|
|
25
|
+
export declare function invert<T extends Matrix2Like>(matrix: Matrix2Like, out: T): T;
|
|
26
|
+
export declare function rotate<T extends Matrix2Like>(matrix: Matrix2Like, radians: number, out: T): T;
|
|
27
|
+
export declare function scale<T extends Matrix2Like>(matrix: Matrix2Like, vector: Vector2Like, out: T): T;
|
|
28
|
+
export default class Matrix2 extends Float32Array implements SquareMatrix {
|
|
29
|
+
static fromRotation(radians: number): Matrix2;
|
|
30
|
+
static fromRotation<T extends Matrix2Like>(radians: number, out: T): T;
|
|
31
|
+
static fromScaling(vector: Vector2Like): Matrix2;
|
|
32
|
+
static fromScaling<T extends Matrix2Like>(vector: Vector2Like, out: T): T;
|
|
33
|
+
static fromValues(c0r0: number, c0r1: number, c1r0: number, c1r1: number): Matrix2;
|
|
34
|
+
static fromValues<T extends Matrix2Like>(c0r0: number, c0r1: number, c1r0: number, c1r1: number, out: T): T;
|
|
35
|
+
constructor();
|
|
36
|
+
readonly width: 2;
|
|
37
|
+
readonly height: 2;
|
|
38
|
+
equals(matrix: Matrix2Like): boolean;
|
|
39
|
+
exactEquals(matrix: Matrix2Like): boolean;
|
|
40
|
+
add(matrix: Matrix2Like): Matrix2;
|
|
41
|
+
add<T extends Matrix2Like>(matrix: Matrix2Like, out: T): T;
|
|
42
|
+
adjoint(): Matrix2;
|
|
43
|
+
adjoint<T extends Matrix2Like>(out: T): T;
|
|
44
|
+
clone(): Matrix2;
|
|
45
|
+
copy(matrix: Matrix2Like): this;
|
|
46
|
+
get frob(): number;
|
|
47
|
+
multiply(matrix: Matrix2Like): Matrix2;
|
|
48
|
+
multiply<T extends Matrix2Like>(matrix: Matrix2Like, out: T): T;
|
|
49
|
+
multiplyScalar(scalar: number): Matrix2;
|
|
50
|
+
multiplyScalar<T extends Matrix2Like>(scalar: number, out: T): T;
|
|
51
|
+
multiplyScalarAndAdd(matrix: Matrix2Like, scalar: number): Matrix2;
|
|
52
|
+
multiplyScalarAndAdd<T extends Matrix2Like>(matrix: Matrix2Like, scalar: number, out: T): T;
|
|
53
|
+
subtract(matrix: Matrix2Like): Matrix2;
|
|
54
|
+
subtract<T extends Matrix2Like>(matrix: Matrix2Like, out: T): T;
|
|
55
|
+
transpose(): Matrix2;
|
|
56
|
+
transpose<T extends Matrix2Like>(out: T): T;
|
|
57
|
+
get determinant(): number;
|
|
58
|
+
identity(): this;
|
|
59
|
+
invert(): Matrix2;
|
|
60
|
+
invert<T extends Matrix2Like>(out: T): T;
|
|
61
|
+
rotate(radians: number): Matrix2;
|
|
62
|
+
rotate<T extends Matrix2Like>(radians: number, out: T): T;
|
|
63
|
+
scale(v: Vector2Like): Matrix2;
|
|
64
|
+
scale<T extends Matrix2Like>(vector: Vector2Like, out: T): T;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=Matrix2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Matrix2.d.ts","sourceRoot":"","sources":["../../src/linear/Matrix2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { SingularMatrixError, epsilon } from "@lakuna/umath";
|
|
2
|
+
export function fromRotation(radians, out) {
|
|
3
|
+
const s = Math.sin(radians);
|
|
4
|
+
const c = Math.cos(radians);
|
|
5
|
+
out[0] = c;
|
|
6
|
+
out[1] = s;
|
|
7
|
+
out[2] = -s;
|
|
8
|
+
out[3] = c;
|
|
9
|
+
return out;
|
|
10
|
+
}
|
|
11
|
+
export function fromScaling(vector, out) {
|
|
12
|
+
out[0] = vector[0];
|
|
13
|
+
out[1] = 0;
|
|
14
|
+
out[2] = 0;
|
|
15
|
+
out[3] = vector[1];
|
|
16
|
+
return out;
|
|
17
|
+
}
|
|
18
|
+
export function fromValues(c0r0, c0r1, c1r0, c1r1, out) {
|
|
19
|
+
out[0] = c0r0;
|
|
20
|
+
out[1] = c0r1;
|
|
21
|
+
out[2] = c1r0;
|
|
22
|
+
out[3] = c1r1;
|
|
23
|
+
return out;
|
|
24
|
+
}
|
|
25
|
+
export function equals(a, b) {
|
|
26
|
+
const a0 = a[0];
|
|
27
|
+
const a1 = a[1];
|
|
28
|
+
const a2 = a[2];
|
|
29
|
+
const a3 = a[3];
|
|
30
|
+
const b0 = b[0];
|
|
31
|
+
const b1 = b[1];
|
|
32
|
+
const b2 = b[2];
|
|
33
|
+
const b3 = b[3];
|
|
34
|
+
return (Math.abs(a0 - b0) <= epsilon * Math.max(1, Math.abs(a0), Math.abs(b0))
|
|
35
|
+
&& Math.abs(a1 - b1) <= epsilon * Math.max(1, Math.abs(a1), Math.abs(b1))
|
|
36
|
+
&& Math.abs(a2 - b2) <= epsilon * Math.max(1, Math.abs(a2), Math.abs(b2))
|
|
37
|
+
&& Math.abs(a3 - b3) <= epsilon * Math.max(1, Math.abs(a3), Math.abs(b3)));
|
|
38
|
+
}
|
|
39
|
+
export function exactEquals(a, b) {
|
|
40
|
+
return a[0] == b[0]
|
|
41
|
+
&& a[1] == b[1]
|
|
42
|
+
&& a[2] == b[2]
|
|
43
|
+
&& a[3] == b[3];
|
|
44
|
+
}
|
|
45
|
+
export function add(a, b, out) {
|
|
46
|
+
out[0] = a[0] + b[0];
|
|
47
|
+
out[1] = a[1] + b[1];
|
|
48
|
+
out[2] = a[2] + b[2];
|
|
49
|
+
out[3] = a[3] + b[3];
|
|
50
|
+
return out;
|
|
51
|
+
}
|
|
52
|
+
export function adjoint(matrix, out) {
|
|
53
|
+
const a0 = matrix[0];
|
|
54
|
+
out[0] = matrix[3];
|
|
55
|
+
out[1] = -matrix[1];
|
|
56
|
+
out[2] = -matrix[2];
|
|
57
|
+
out[3] = a0;
|
|
58
|
+
return out;
|
|
59
|
+
}
|
|
60
|
+
export function copy(matrix, out) {
|
|
61
|
+
out[0] = matrix[0];
|
|
62
|
+
out[1] = matrix[1];
|
|
63
|
+
out[2] = matrix[2];
|
|
64
|
+
out[3] = matrix[3];
|
|
65
|
+
return out;
|
|
66
|
+
}
|
|
67
|
+
export function frob(matrix) {
|
|
68
|
+
return Math.hypot(matrix[0], matrix[1], matrix[2], matrix[3]);
|
|
69
|
+
}
|
|
70
|
+
export function multiply(a, b, out) {
|
|
71
|
+
const a0 = a[0];
|
|
72
|
+
const a1 = a[1];
|
|
73
|
+
const a2 = a[2];
|
|
74
|
+
const a3 = a[3];
|
|
75
|
+
const b0 = b[0];
|
|
76
|
+
const b1 = b[1];
|
|
77
|
+
const b2 = b[2];
|
|
78
|
+
const b3 = b[3];
|
|
79
|
+
out[0] = a0 * b0 + a2 * b1;
|
|
80
|
+
out[1] = a1 * b0 + a3 * b1;
|
|
81
|
+
out[2] = a0 * b2 + a2 * b3;
|
|
82
|
+
out[3] = a1 * b2 + a3 * b3;
|
|
83
|
+
return out;
|
|
84
|
+
}
|
|
85
|
+
export function multiplyScalar(matrix, scalar, out) {
|
|
86
|
+
out[0] = matrix[0] * scalar;
|
|
87
|
+
out[1] = matrix[1] * scalar;
|
|
88
|
+
out[2] = matrix[2] * scalar;
|
|
89
|
+
out[3] = matrix[3] * scalar;
|
|
90
|
+
return out;
|
|
91
|
+
}
|
|
92
|
+
export function multiplyScalarAndAdd(a, b, scalar, out) {
|
|
93
|
+
out[0] = a[0] + b[0] * scalar;
|
|
94
|
+
out[1] = a[1] + b[1] * scalar;
|
|
95
|
+
out[2] = a[2] + b[2] * scalar;
|
|
96
|
+
out[3] = a[3] + b[3] * scalar;
|
|
97
|
+
return out;
|
|
98
|
+
}
|
|
99
|
+
export function subtract(a, b, out) {
|
|
100
|
+
out[0] = a[0] - b[0];
|
|
101
|
+
out[1] = a[1] - b[1];
|
|
102
|
+
out[2] = a[2] - b[2];
|
|
103
|
+
out[3] = a[3] - b[3];
|
|
104
|
+
return out;
|
|
105
|
+
}
|
|
106
|
+
export function transpose(matrix, out) {
|
|
107
|
+
if (out == matrix) {
|
|
108
|
+
const a1 = matrix[1];
|
|
109
|
+
out[1] = matrix[2];
|
|
110
|
+
out[2] = a1;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
out[0] = matrix[0];
|
|
114
|
+
out[1] = matrix[2];
|
|
115
|
+
out[2] = matrix[1];
|
|
116
|
+
out[3] = matrix[3];
|
|
117
|
+
}
|
|
118
|
+
return out;
|
|
119
|
+
}
|
|
120
|
+
export function determinant(matrix) {
|
|
121
|
+
return matrix[0] * matrix[3]
|
|
122
|
+
- matrix[2] * matrix[1];
|
|
123
|
+
}
|
|
124
|
+
export function identity(out) {
|
|
125
|
+
out[0] = 1;
|
|
126
|
+
out[1] = 0;
|
|
127
|
+
out[2] = 0;
|
|
128
|
+
out[3] = 1;
|
|
129
|
+
return out;
|
|
130
|
+
}
|
|
131
|
+
export function invert(matrix, out) {
|
|
132
|
+
const a0 = matrix[0];
|
|
133
|
+
const a1 = matrix[1];
|
|
134
|
+
const a2 = matrix[2];
|
|
135
|
+
const a3 = matrix[3];
|
|
136
|
+
let determinant = a0 * a3 - a2 * a1;
|
|
137
|
+
if (!determinant) {
|
|
138
|
+
throw new SingularMatrixError();
|
|
139
|
+
}
|
|
140
|
+
determinant = 1 / determinant;
|
|
141
|
+
out[0] = a3 * determinant;
|
|
142
|
+
out[1] = -a1 * determinant;
|
|
143
|
+
out[2] = -a2 * determinant;
|
|
144
|
+
out[3] = a0 * determinant;
|
|
145
|
+
return out;
|
|
146
|
+
}
|
|
147
|
+
export function rotate(matrix, radians, out) {
|
|
148
|
+
const a0 = matrix[0];
|
|
149
|
+
const a1 = matrix[1];
|
|
150
|
+
const a2 = matrix[2];
|
|
151
|
+
const a3 = matrix[3];
|
|
152
|
+
const s = Math.sin(radians);
|
|
153
|
+
const c = Math.cos(radians);
|
|
154
|
+
out[0] = a0 * c + a2 * s;
|
|
155
|
+
out[1] = a1 * c + a3 * s;
|
|
156
|
+
out[2] = a0 * -s + a2 * c;
|
|
157
|
+
out[3] = a1 * -s + a3 * c;
|
|
158
|
+
return out;
|
|
159
|
+
}
|
|
160
|
+
export function scale(matrix, vector, out) {
|
|
161
|
+
const v0 = vector[0];
|
|
162
|
+
const v1 = vector[1];
|
|
163
|
+
out[0] = matrix[0] * v0;
|
|
164
|
+
out[1] = matrix[1] * v0;
|
|
165
|
+
out[2] = matrix[2] * v1;
|
|
166
|
+
out[3] = matrix[3] * v1;
|
|
167
|
+
return out;
|
|
168
|
+
}
|
|
169
|
+
export default class Matrix2 extends Float32Array {
|
|
170
|
+
static fromRotation(radians, out = new Matrix2()) {
|
|
171
|
+
return fromRotation(radians, out);
|
|
172
|
+
}
|
|
173
|
+
static fromScaling(vector, out = new Matrix2()) {
|
|
174
|
+
return fromScaling(vector, out);
|
|
175
|
+
}
|
|
176
|
+
static fromValues(c0r0, c0r1, c1r0, c1r1, out = new Matrix2()) {
|
|
177
|
+
return fromValues(c0r0, c0r1, c1r0, c1r1, out);
|
|
178
|
+
}
|
|
179
|
+
constructor() {
|
|
180
|
+
super(4);
|
|
181
|
+
this[0] = 1;
|
|
182
|
+
this[3] = 1;
|
|
183
|
+
this.width = 2;
|
|
184
|
+
this.height = 2;
|
|
185
|
+
}
|
|
186
|
+
width;
|
|
187
|
+
height;
|
|
188
|
+
equals(matrix) {
|
|
189
|
+
return equals(this, matrix);
|
|
190
|
+
}
|
|
191
|
+
exactEquals(matrix) {
|
|
192
|
+
return exactEquals(this, matrix);
|
|
193
|
+
}
|
|
194
|
+
add(matrix, out = new Matrix2()) {
|
|
195
|
+
return add(this, matrix, out);
|
|
196
|
+
}
|
|
197
|
+
adjoint(out = new Matrix2()) {
|
|
198
|
+
return adjoint(this, out);
|
|
199
|
+
}
|
|
200
|
+
clone() {
|
|
201
|
+
return copy(this, new Matrix2());
|
|
202
|
+
}
|
|
203
|
+
copy(matrix) {
|
|
204
|
+
return copy(matrix, this);
|
|
205
|
+
}
|
|
206
|
+
get frob() {
|
|
207
|
+
return frob(this);
|
|
208
|
+
}
|
|
209
|
+
multiply(matrix, out = new Matrix2()) {
|
|
210
|
+
return multiply(this, matrix, out);
|
|
211
|
+
}
|
|
212
|
+
multiplyScalar(scalar, out = new Matrix2()) {
|
|
213
|
+
return multiplyScalar(this, scalar, out);
|
|
214
|
+
}
|
|
215
|
+
multiplyScalarAndAdd(matrix, scalar, out = new Matrix2()) {
|
|
216
|
+
return multiplyScalarAndAdd(this, matrix, scalar, out);
|
|
217
|
+
}
|
|
218
|
+
subtract(matrix, out = new Matrix2()) {
|
|
219
|
+
return subtract(this, matrix, out);
|
|
220
|
+
}
|
|
221
|
+
transpose(out = new Matrix2()) {
|
|
222
|
+
return transpose(this, out);
|
|
223
|
+
}
|
|
224
|
+
get determinant() {
|
|
225
|
+
return determinant(this);
|
|
226
|
+
}
|
|
227
|
+
identity() {
|
|
228
|
+
return identity(this);
|
|
229
|
+
}
|
|
230
|
+
invert(out = new Matrix2()) {
|
|
231
|
+
return invert(this, out);
|
|
232
|
+
}
|
|
233
|
+
rotate(radians, out = new Matrix2()) {
|
|
234
|
+
return rotate(this, radians, out);
|
|
235
|
+
}
|
|
236
|
+
scale(vector, out = new Matrix2()) {
|
|
237
|
+
return scale(this, vector, out);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=Matrix2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Matrix2.js","sourceRoot":"","sources":["../../src/linear/Matrix2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAqB,MAAM,eAAe,CAAC;AAmBhF,MAAM,UAAU,YAAY,CAAwB,OAAe,EAAE,GAAM;IAC1E,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,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACZ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,WAAW,CAAwB,MAAmB,EAAE,GAAM;IAC7E,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,OAAO,GAAG,CAAC;AACZ,CAAC;AAWD,MAAM,UAAU,UAAU,CAAwB,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,GAAM;IAC/G,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACd,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACd,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACd,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACd,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;IACxB,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;IACxB,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAExB,OAAO,CAAC,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;WAC1E,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;WACtE,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;WACtE,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,CAAC;AAC7E,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;WACZ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;WACZ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAUD,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,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,OAAO,CAAwB,MAAmB,EAAE,GAAM;IACzE,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACZ,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,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;AAQD,MAAM,UAAU,IAAI,CAAC,MAAmB;IACvC,OAAO,IAAI,CAAC,KAAK,CAChB,MAAM,CAAC,CAAC,CAAW,EAAE,MAAM,CAAC,CAAC,CAAW,EACxC,MAAM,CAAC,CAAC,CAAW,EAAE,MAAM,CAAC,CAAC,CAAW,CACxC,CAAC;AACH,CAAC;AAUD,MAAM,UAAU,QAAQ,CAAwB,CAAc,EAAE,CAAc,EAAE,GAAM;IACrF,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,GAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,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;IACxB,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,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC3B,OAAO,GAAG,CAAC;AACZ,CAAC;AAUD,MAAM,UAAU,cAAc,CAAwB,MAAmB,EAAE,MAAc,EAAE,GAAM;IAChG,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,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;AAYD,MAAM,UAAU,oBAAoB,CAAwB,CAAc,EAAE,CAAc,EAAE,MAAc,EAAE,GAAM;IACjH,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,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;AAUD,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,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,SAAS,CAAwB,MAAmB,EAAE,GAAM;IAC3E,IAAI,GAAG,IAAI,MAAM,EAAE;QAClB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;KACZ;SAAM;QACN,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAQD,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC9C,OAAQ,MAAM,CAAC,CAAC,CAAY,GAAI,MAAM,CAAC,CAAC,CAAY;UAChD,MAAM,CAAC,CAAC,CAAY,GAAI,MAAM,CAAC,CAAC,CAAY,CAAC;AAClD,CAAC;AAQD,MAAM,UAAU,QAAQ,CAAwB,GAAM;IACrD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,CAAC;AACZ,CAAC;AASD,MAAM,UAAU,MAAM,CAAwB,MAAmB,EAAE,GAAM;IACxE,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7B,IAAI,WAAW,GAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC5C,IAAI,CAAC,WAAW,EAAE;QACjB,MAAM,IAAI,mBAAmB,EAAE,CAAC;KAChC;IACD,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC;IAE9B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;IAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC;IAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC;IAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;IAC1B,OAAO,GAAG,CAAC;AACZ,CAAC;AAUD,MAAM,UAAU,MAAM,CAAwB,MAAmB,EAAE,OAAe,EAAE,GAAM;IACzF,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7B,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,CAAC;IACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,GAAG,CAAC;AACZ,CAAC;AAUD,MAAM,UAAU,KAAK,CAAwB,MAAmB,EAAE,MAAmB,EAAE,GAAM;IAC5F,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7B,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACxB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACxB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACxB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACxB,OAAO,GAAG,CAAC;AACZ,CAAC;AAMD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAAY;IAkBzC,MAAM,CAAC,YAAY,CAAwB,OAAe,EAAE,MAAS,IAAI,OAAO,EAAO;QAC7F,OAAO,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IAmBM,MAAM,CAAC,WAAW,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QAChG,OAAO,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAuBM,MAAM,CAAC,UAAU,CAAwB,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,MAAS,IAAI,OAAO,EAAO;QAClI,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAMD;QACC,KAAK,CAAC,CAAC,CAAC,CAAC;QAET,IAAI,CAAC,CAAC,CAAC,GAAI,CAAC,CAAC;QACb,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEZ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,CAAC;IAGe,KAAK,CAAI;IAGT,MAAM,CAAI;IAOnB,MAAM,CAAC,MAAmB;QAChC,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAOM,WAAW,CAAC,MAAmB;QACrC,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAmBM,GAAG,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QACjF,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;IAiBM,OAAO,CAAwB,MAAS,IAAI,OAAO,EAAO;QAChE,OAAO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAMM,KAAK;QAEX,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;IAClC,CAAC;IAOM,IAAI,CAAC,MAAmB;QAC9B,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAMD,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAmBM,QAAQ,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QACtF,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAmBM,cAAc,CAAwB,MAAc,EAAE,MAAS,IAAI,OAAO,EAAO;QACvF,OAAO,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAuBM,oBAAoB,CAAwB,MAAmB,EAAE,MAAc,EAAE,MAAS,IAAI,OAAO,EAAO;QAClH,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAmBM,QAAQ,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QACtF,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAiBM,SAAS,CAAwB,MAAS,IAAI,OAAO,EAAO;QAClE,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAMD,IAAW,WAAW;QACrB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAOM,QAAQ;QACd,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAiBM,MAAM,CAAwB,MAAS,IAAI,OAAO,EAAO;QAC/D,OAAO,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IAmBM,MAAM,CAAwB,OAAe,EAAE,MAAS,IAAI,OAAO,EAAO;QAChF,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IAmBM,KAAK,CAAwB,MAAmB,EAAE,MAAS,IAAI,OAAO,EAAO;QACnF,OAAO,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;CACD"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type SquareMatrix } from "@lakuna/umath";
|
|
2
|
+
import type { Matrix4Like } from "@lakuna/umath/Matrix4";
|
|
3
|
+
import type { QuaternionLike } from "@lakuna/umath/Quaternion";
|
|
4
|
+
import type { Vector2Like } from "@lakuna/umath/Vector2";
|
|
5
|
+
export type Matrix3Like = Matrix3 | [
|
|
6
|
+
number,
|
|
7
|
+
number,
|
|
8
|
+
number,
|
|
9
|
+
number,
|
|
10
|
+
number,
|
|
11
|
+
number,
|
|
12
|
+
number,
|
|
13
|
+
number,
|
|
14
|
+
number
|
|
15
|
+
];
|
|
16
|
+
export declare function fromRotation<T extends Matrix3Like>(radians: number, out: T): T;
|
|
17
|
+
export declare function fromScaling<T extends Matrix3Like>(vector: Vector2Like, out: T): T;
|
|
18
|
+
export declare function fromTranslation<T extends Matrix3Like>(vector: Vector2Like, out: T): T;
|
|
19
|
+
export declare function fromQuaternion<T extends Matrix3Like>(quaternion: QuaternionLike, out: T): T;
|
|
20
|
+
export declare function normalFromMatrix4<T extends Matrix3Like>(matrix: Matrix4Like, out: T): T;
|
|
21
|
+
export declare function projection<T extends Matrix3Like>(width: number, height: number, out: T): T;
|
|
22
|
+
export declare function fromMatrix4<T extends Matrix3Like>(matrix: Matrix4Like, out: T): T;
|
|
23
|
+
export declare function fromValues<T extends Matrix3Like>(c0r0: number, c0r1: number, c0r2: number, c1r0: number, c1r1: number, c1r2: number, c2r0: number, c2r1: number, c2r2: number, out: T): T;
|
|
24
|
+
export declare function equals(a: Matrix3Like, b: Matrix3Like): boolean;
|
|
25
|
+
export declare function exactEquals(a: Matrix3Like, b: Matrix3Like): boolean;
|
|
26
|
+
export declare function add<T extends Matrix3Like>(a: Matrix3Like, b: Matrix3Like, out: T): T;
|
|
27
|
+
export declare function adjoint<T extends Matrix3Like>(matrix: Matrix3Like, out: T): T;
|
|
28
|
+
export declare function copy<T extends Matrix3Like>(matrix: Matrix3Like, out: T): T;
|
|
29
|
+
export declare function frob(matrix: Matrix3Like): number;
|
|
30
|
+
export declare function multiply<T extends Matrix3Like>(a: Matrix3Like, b: Matrix3Like, out: T): T;
|
|
31
|
+
export declare function multiplyScalar<T extends Matrix3Like>(matrix: Matrix3Like, scalar: number, out: T): T;
|
|
32
|
+
export declare function multiplyScalarAndAdd<T extends Matrix3Like>(a: Matrix3Like, b: Matrix3Like, scalar: number, out: T): T;
|
|
33
|
+
export declare function subtract<T extends Matrix3Like>(a: Matrix3Like, b: Matrix3Like, out: T): T;
|
|
34
|
+
export declare function transpose<T extends Matrix3Like>(matrix: Matrix3Like, out: T): T;
|
|
35
|
+
export declare function determinant(matrix: Matrix3Like): number;
|
|
36
|
+
export declare function identity<T extends Matrix3Like>(out: T): T;
|
|
37
|
+
export declare function invert<T extends Matrix3Like>(matrix: Matrix3Like, out: T): T;
|
|
38
|
+
export declare function rotate<T extends Matrix3Like>(matrix: Matrix3Like, radians: number, out: T): T;
|
|
39
|
+
export declare function scale<T extends Matrix3Like>(matrix: Matrix3Like, vector: Vector2Like, out: T): T;
|
|
40
|
+
export declare function translate<T extends Matrix3Like>(matrix: Matrix3Like, vector: Vector2Like, out: T): T;
|
|
41
|
+
export default class Matrix3 extends Float32Array implements SquareMatrix {
|
|
42
|
+
static fromRotation(radians: number): Matrix3;
|
|
43
|
+
static fromRotation<T extends Matrix3Like>(radians: number, out: T): T;
|
|
44
|
+
static fromScaling(vector: Vector2Like): Matrix3;
|
|
45
|
+
static fromScaling<T extends Matrix3Like>(vector: Vector2Like, out: T): T;
|
|
46
|
+
static fromTranslation(vector: Vector2Like): Matrix3;
|
|
47
|
+
static fromTranslation<T extends Matrix3Like>(vector: Vector2Like, out: T): T;
|
|
48
|
+
static fromQuaternion(quaternion: QuaternionLike): Matrix3;
|
|
49
|
+
static fromQuaternion<T extends Matrix3Like>(quaternion: QuaternionLike, out: T): T;
|
|
50
|
+
static normalFromMatrix4(matrix: Matrix4Like): Matrix3;
|
|
51
|
+
static normalFromMatrix4<T extends Matrix3Like>(matrix: Matrix4Like, out: T): T;
|
|
52
|
+
static projection(width: number, height: number): Matrix3;
|
|
53
|
+
static projection<T extends Matrix3Like>(width: number, height: number, out: T): T;
|
|
54
|
+
static fromMatrix4(matrix: Matrix4Like): Matrix3;
|
|
55
|
+
static fromMatrix4<T extends Matrix3Like>(matrix: Matrix4Like, out: T): T;
|
|
56
|
+
static fromValues(c0r0: number, c0r1: number, c0r2: number, c1r0: number, c1r1: number, c1r2: number, c2r0: number, c2r1: number, c2r2: number): Matrix3;
|
|
57
|
+
static fromValues<T extends Matrix3Like>(c0r0: number, c0r1: number, c0r2: number, c1r0: number, c1r1: number, c1r2: number, c2r0: number, c2r1: number, c2r2: number, out: T): T;
|
|
58
|
+
constructor();
|
|
59
|
+
readonly width: 3;
|
|
60
|
+
readonly height: 3;
|
|
61
|
+
equals(matrix: Matrix3Like): boolean;
|
|
62
|
+
exactEquals(matrix: Matrix3Like): boolean;
|
|
63
|
+
add(matrix: Matrix3Like): Matrix3;
|
|
64
|
+
add<T extends Matrix3Like>(matrix: Matrix3Like, out: T): T;
|
|
65
|
+
adjoint(): Matrix3;
|
|
66
|
+
adjoint<T extends Matrix3Like>(out: T): T;
|
|
67
|
+
clone(): Matrix3;
|
|
68
|
+
copy(matrix: Matrix3Like): this;
|
|
69
|
+
get frob(): number;
|
|
70
|
+
multiply(matrix: Matrix3Like): Matrix3;
|
|
71
|
+
multiply<T extends Matrix3Like>(matrix: Matrix3Like, out: T): T;
|
|
72
|
+
multiplyScalar(scalar: number): Matrix3;
|
|
73
|
+
multiplyScalar<T extends Matrix3Like>(scalar: number, out: T): T;
|
|
74
|
+
multiplyScalarAndAdd(matrix: Matrix3Like, scalar: number): Matrix3;
|
|
75
|
+
multiplyScalarAndAdd<T extends Matrix3Like>(matrix: Matrix3Like, scalar: number, out: T): T;
|
|
76
|
+
subtract(matrix: Matrix3Like): Matrix3;
|
|
77
|
+
subtract<T extends Matrix3Like>(matrix: Matrix3Like, out: T): T;
|
|
78
|
+
transpose(): Matrix3;
|
|
79
|
+
transpose<T extends Matrix3Like>(out: T): T;
|
|
80
|
+
get determinant(): number;
|
|
81
|
+
identity(): this;
|
|
82
|
+
invert(): Matrix3;
|
|
83
|
+
invert<T extends Matrix3Like>(out: T): T;
|
|
84
|
+
rotate(radians: number): Matrix3;
|
|
85
|
+
rotate<T extends Matrix3Like>(radians: number, out: T): T;
|
|
86
|
+
scale(vector: Vector2Like): Matrix3;
|
|
87
|
+
scale<T extends Matrix3Like>(vector: Vector2Like, out: T): T;
|
|
88
|
+
translate(vector: Vector2Like): Matrix3;
|
|
89
|
+
translate<T extends Matrix3Like>(vector: Vector2Like, out: T): T;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=Matrix3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Matrix3.d.ts","sourceRoot":"","sources":["../../src/linear/Matrix3.ts"],"names":[],"mappings":"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"}
|