@lakuna/umath 1.3.9 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/algorithms/approx.d.ts +9 -0
- package/dist/algorithms/approx.d.ts.map +1 -0
- package/dist/algorithms/approx.js +12 -0
- package/dist/algorithms/approx.js.map +1 -0
- package/dist/algorithms/approxRelative.d.ts +9 -0
- package/dist/algorithms/approxRelative.d.ts.map +1 -0
- package/dist/algorithms/approxRelative.js +12 -0
- package/dist/algorithms/approxRelative.js.map +1 -0
- package/dist/algorithms/combinations.d.ts +2 -1
- package/dist/algorithms/combinations.d.ts.map +1 -1
- package/dist/algorithms/combinations.js +2 -1
- package/dist/algorithms/combinations.js.map +1 -1
- package/dist/algorithms/degreesToRadians.d.ts +3 -2
- package/dist/algorithms/degreesToRadians.d.ts.map +1 -1
- package/dist/algorithms/degreesToRadians.js +5 -3
- package/dist/algorithms/degreesToRadians.js.map +1 -1
- package/dist/algorithms/factorial.d.ts +2 -1
- package/dist/algorithms/factorial.d.ts.map +1 -1
- package/dist/algorithms/factorial.js +2 -1
- package/dist/algorithms/factorial.js.map +1 -1
- package/dist/algorithms/fibonacci.d.ts +2 -1
- package/dist/algorithms/fibonacci.d.ts.map +1 -1
- package/dist/algorithms/fibonacci.js +6 -2
- package/dist/algorithms/fibonacci.js.map +1 -1
- package/dist/algorithms/greatestCommonDivisor.d.ts +4 -2
- package/dist/algorithms/greatestCommonDivisor.d.ts.map +1 -1
- package/dist/algorithms/greatestCommonDivisor.js +5 -2
- package/dist/algorithms/greatestCommonDivisor.js.map +1 -1
- package/dist/algorithms/hypergeometricPmf.d.ts +3 -2
- package/dist/algorithms/hypergeometricPmf.d.ts.map +1 -1
- package/dist/algorithms/hypergeometricPmf.js +3 -2
- package/dist/algorithms/hypergeometricPmf.js.map +1 -1
- package/dist/algorithms/isPrime.d.ts +2 -1
- package/dist/algorithms/isPrime.d.ts.map +1 -1
- package/dist/algorithms/isPrime.js +2 -1
- package/dist/algorithms/isPrime.js.map +1 -1
- package/dist/algorithms/permutations.d.ts +2 -1
- package/dist/algorithms/permutations.d.ts.map +1 -1
- package/dist/algorithms/permutations.js +2 -1
- package/dist/algorithms/permutations.js.map +1 -1
- package/dist/algorithms/primeFactorization.d.ts +2 -1
- package/dist/algorithms/primeFactorization.d.ts.map +1 -1
- package/dist/algorithms/primeFactorization.js +2 -1
- package/dist/algorithms/primeFactorization.js.map +1 -1
- package/dist/algorithms/radiansToDegrees.d.ts +3 -2
- package/dist/algorithms/radiansToDegrees.d.ts.map +1 -1
- package/dist/algorithms/radiansToDegrees.js +5 -3
- package/dist/algorithms/radiansToDegrees.js.map +1 -1
- package/dist/algorithms/summation.d.ts +2 -1
- package/dist/algorithms/summation.d.ts.map +1 -1
- package/dist/algorithms/summation.js +2 -1
- package/dist/algorithms/summation.js.map +1 -1
- package/dist/linalg/DualQuaternion.d.ts +102 -32
- package/dist/linalg/DualQuaternion.d.ts.map +1 -1
- package/dist/linalg/DualQuaternion.js +243 -272
- package/dist/linalg/DualQuaternion.js.map +1 -1
- package/dist/linalg/Matrix.d.ts +14 -10
- package/dist/linalg/Matrix.d.ts.map +1 -1
- package/dist/linalg/Matrix2.d.ts +74 -51
- package/dist/linalg/Matrix2.d.ts.map +1 -1
- package/dist/linalg/Matrix2.js +95 -171
- package/dist/linalg/Matrix2.js.map +1 -1
- package/dist/linalg/Matrix3.d.ts +122 -72
- package/dist/linalg/Matrix3.d.ts.map +1 -1
- package/dist/linalg/Matrix3.js +186 -355
- package/dist/linalg/Matrix3.js.map +1 -1
- package/dist/linalg/Matrix4.d.ts +266 -149
- package/dist/linalg/Matrix4.d.ts.map +1 -1
- package/dist/linalg/Matrix4.js +512 -852
- package/dist/linalg/Matrix4.js.map +1 -1
- package/dist/linalg/Quaternion.d.ts +252 -34
- package/dist/linalg/Quaternion.d.ts.map +1 -1
- package/dist/linalg/Quaternion.js +436 -166
- package/dist/linalg/Quaternion.js.map +1 -1
- package/dist/linalg/SlowMatrix.d.ts +10 -9
- package/dist/linalg/SlowMatrix.d.ts.map +1 -1
- package/dist/linalg/SlowMatrix.js +10 -9
- package/dist/linalg/SlowMatrix.js.map +1 -1
- package/dist/linalg/SlowSquareMatrix.d.ts +10 -9
- package/dist/linalg/SlowSquareMatrix.d.ts.map +1 -1
- package/dist/linalg/SlowSquareMatrix.js +10 -9
- package/dist/linalg/SlowSquareMatrix.js.map +1 -1
- package/dist/linalg/SquareMatrix.d.ts +6 -5
- package/dist/linalg/SquareMatrix.d.ts.map +1 -1
- package/dist/linalg/Vector.d.ts +8 -4
- package/dist/linalg/Vector.d.ts.map +1 -1
- package/dist/linalg/Vector2.d.ts +82 -31
- package/dist/linalg/Vector2.d.ts.map +1 -1
- package/dist/linalg/Vector2.js +112 -154
- package/dist/linalg/Vector2.js.map +1 -1
- package/dist/linalg/Vector3.d.ts +93 -41
- package/dist/linalg/Vector3.d.ts.map +1 -1
- package/dist/linalg/Vector3.js +171 -282
- package/dist/linalg/Vector3.js.map +1 -1
- package/dist/linalg/Vector4.d.ts +71 -21
- package/dist/linalg/Vector4.d.ts.map +1 -1
- package/dist/linalg/Vector4.js +121 -195
- 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 +4 -1
- package/dist/types/FieldOfView.d.ts.map +1 -1
- package/dist/utility/BigNumber.d.ts +4 -1
- package/dist/utility/BigNumber.d.ts.map +1 -1
- package/dist/utility/BigNumber.js +4 -1
- package/dist/utility/BigNumber.js.map +1 -1
- package/dist/utility/MagnitudeError.d.ts +4 -1
- package/dist/utility/MagnitudeError.d.ts.map +1 -1
- package/dist/utility/MagnitudeError.js +4 -1
- package/dist/utility/MagnitudeError.js.map +1 -1
- package/dist/utility/MatrixSizeError.d.ts +4 -1
- package/dist/utility/MatrixSizeError.d.ts.map +1 -1
- package/dist/utility/MatrixSizeError.js +4 -1
- package/dist/utility/MatrixSizeError.js.map +1 -1
- package/dist/utility/PartialMatrixError.d.ts +4 -1
- package/dist/utility/PartialMatrixError.d.ts.map +1 -1
- package/dist/utility/PartialMatrixError.js +4 -1
- package/dist/utility/PartialMatrixError.js.map +1 -1
- package/dist/utility/SingularMatrixError.d.ts +2 -1
- package/dist/utility/SingularMatrixError.d.ts.map +1 -1
- package/dist/utility/SingularMatrixError.js +2 -1
- package/dist/utility/SingularMatrixError.js.map +1 -1
- package/dist/utility/epsilon.d.ts +4 -1
- package/dist/utility/epsilon.d.ts.map +1 -1
- package/dist/utility/epsilon.js +4 -1
- package/dist/utility/epsilon.js.map +1 -1
- package/package.json +9 -9
- package/src/algorithms/approx.ts +12 -0
- package/src/algorithms/approxRelative.ts +12 -0
- package/src/algorithms/combinations.ts +2 -1
- package/src/algorithms/degreesToRadians.ts +6 -3
- package/src/algorithms/factorial.ts +3 -1
- package/src/algorithms/fibonacci.ts +7 -2
- package/src/algorithms/greatestCommonDivisor.ts +9 -4
- package/src/algorithms/hypergeometricPmf.ts +3 -2
- package/src/algorithms/isPrime.ts +2 -1
- package/src/algorithms/permutations.ts +2 -1
- package/src/algorithms/primeFactorization.ts +2 -1
- package/src/algorithms/radiansToDegrees.ts +6 -3
- package/src/algorithms/summation.ts +2 -1
- package/src/linalg/DualQuaternion.ts +424 -289
- package/src/linalg/Matrix.ts +14 -10
- package/src/linalg/Matrix2.ts +141 -188
- package/src/linalg/Matrix3.ts +400 -375
- package/src/linalg/Matrix4.ts +1083 -905
- package/src/linalg/Quaternion.ts +706 -188
- package/src/linalg/SlowMatrix.ts +10 -9
- package/src/linalg/SlowSquareMatrix.ts +10 -9
- package/src/linalg/SquareMatrix.ts +6 -5
- package/src/linalg/Vector.ts +8 -4
- package/src/linalg/Vector2.ts +146 -173
- package/src/linalg/Vector3.ts +293 -326
- package/src/linalg/Vector4.ts +227 -215
- package/src/types/AxisAngle.ts +4 -1
- package/src/types/FieldOfView.ts +4 -1
- package/src/utility/BigNumber.ts +6 -3
- package/src/utility/MagnitudeError.ts +4 -1
- package/src/utility/MatrixSizeError.ts +4 -1
- package/src/utility/PartialMatrixError.ts +4 -1
- package/src/utility/SingularMatrixError.ts +2 -1
- package/src/utility/epsilon.ts +4 -1
package/dist/linalg/Vector3.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import Quaternion, { type QuaternionLike } from "./Quaternion.js";
|
|
2
1
|
import type { default as Vector, VectorLike } from "./Vector.js";
|
|
3
2
|
import type { Matrix3Like } from "./Matrix3.js";
|
|
4
3
|
import type { Matrix4Like } from "./Matrix4.js";
|
|
5
|
-
|
|
4
|
+
import type { QuaternionLike } from "./Quaternion.js";
|
|
5
|
+
/**
|
|
6
|
+
* A quantity with magnitude and direction in three dimensions.
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
6
9
|
export interface Vector3Like extends VectorLike {
|
|
7
10
|
/** The first component of this vector. */
|
|
8
11
|
0: number;
|
|
@@ -14,6 +17,7 @@ export interface Vector3Like extends VectorLike {
|
|
|
14
17
|
/**
|
|
15
18
|
* Creates a 3x1 vector-like object.
|
|
16
19
|
* @returns A 3x1 vector-like object.
|
|
20
|
+
* @public
|
|
17
21
|
*/
|
|
18
22
|
export declare const createVector3Like: () => Float32Array & Vector3Like;
|
|
19
23
|
/**
|
|
@@ -23,6 +27,7 @@ export declare const createVector3Like: () => Float32Array & Vector3Like;
|
|
|
23
27
|
* @param z - The third component.
|
|
24
28
|
* @param out - The vector to store the result in.
|
|
25
29
|
* @returns A new vector.
|
|
30
|
+
* @public
|
|
26
31
|
*/
|
|
27
32
|
export declare const fromValues: <T extends Vector3Like>(x: number, y: number, z: number, out: T) => T;
|
|
28
33
|
/**
|
|
@@ -30,6 +35,7 @@ export declare const fromValues: <T extends Vector3Like>(x: number, y: number, z
|
|
|
30
35
|
* @param a - The first vector.
|
|
31
36
|
* @param b - The second vector.
|
|
32
37
|
* @returns Whether or not the vectors are equivalent.
|
|
38
|
+
* @public
|
|
33
39
|
*/
|
|
34
40
|
export declare const equals: (a: Vector3Like, b: Vector3Like) => boolean;
|
|
35
41
|
/**
|
|
@@ -37,6 +43,7 @@ export declare const equals: (a: Vector3Like, b: Vector3Like) => boolean;
|
|
|
37
43
|
* @param a - The first vector.
|
|
38
44
|
* @param b - The second vector.
|
|
39
45
|
* @returns Whether the vectors are equivalent.
|
|
46
|
+
* @public
|
|
40
47
|
*/
|
|
41
48
|
export declare const exactEquals: (a: Vector3Like, b: Vector3Like) => boolean;
|
|
42
49
|
/**
|
|
@@ -45,6 +52,7 @@ export declare const exactEquals: (a: Vector3Like, b: Vector3Like) => boolean;
|
|
|
45
52
|
* @param b - The addend.
|
|
46
53
|
* @param out - The vector to store the result in.
|
|
47
54
|
* @returns The sum.
|
|
55
|
+
* @public
|
|
48
56
|
*/
|
|
49
57
|
export declare const add: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T) => T;
|
|
50
58
|
/**
|
|
@@ -52,6 +60,7 @@ export declare const add: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like
|
|
|
52
60
|
* @param vector - The vector to copy.
|
|
53
61
|
* @param out - The vector to store the result in.
|
|
54
62
|
* @returns The copy.
|
|
63
|
+
* @public
|
|
55
64
|
*/
|
|
56
65
|
export declare const copy: <T extends Vector3Like>(vector: Vector3Like, out: T) => T;
|
|
57
66
|
/**
|
|
@@ -60,6 +69,7 @@ export declare const copy: <T extends Vector3Like>(vector: Vector3Like, out: T)
|
|
|
60
69
|
* @param b - The multiplicand.
|
|
61
70
|
* @param out - The vector to store the result in.
|
|
62
71
|
* @returns The product.
|
|
72
|
+
* @public
|
|
63
73
|
*/
|
|
64
74
|
export declare const multiply: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T) => T;
|
|
65
75
|
/**
|
|
@@ -68,6 +78,7 @@ export declare const multiply: <T extends Vector3Like>(a: Vector3Like, b: Vector
|
|
|
68
78
|
* @param b - The divisor.
|
|
69
79
|
* @param out - The vector to store the result in.
|
|
70
80
|
* @returns The quotient.
|
|
81
|
+
* @public
|
|
71
82
|
*/
|
|
72
83
|
export declare const divide: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T) => T;
|
|
73
84
|
/**
|
|
@@ -76,13 +87,23 @@ export declare const divide: <T extends Vector3Like>(a: Vector3Like, b: Vector3L
|
|
|
76
87
|
* @param b - The subtrahend.
|
|
77
88
|
* @param out - The vector to store the result in.
|
|
78
89
|
* @returns The difference.
|
|
90
|
+
* @public
|
|
79
91
|
*/
|
|
80
92
|
export declare const subtract: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T) => T;
|
|
93
|
+
/**
|
|
94
|
+
* Absolutize the components of a vector.
|
|
95
|
+
* @param vector - The vector.
|
|
96
|
+
* @param out - The vector to store the result in.
|
|
97
|
+
* @returns The absolutized vector.
|
|
98
|
+
* @public
|
|
99
|
+
*/
|
|
100
|
+
export declare const abs: <T extends Vector3Like>(vector: Vector3Like, out: T) => T;
|
|
81
101
|
/**
|
|
82
102
|
* Round up the components of a vector.
|
|
83
103
|
* @param vector - The vector.
|
|
84
104
|
* @param out - The vector to store the result in.
|
|
85
105
|
* @returns The rounded vector.
|
|
106
|
+
* @public
|
|
86
107
|
*/
|
|
87
108
|
export declare const ceil: <T extends Vector3Like>(vector: Vector3Like, out: T) => T;
|
|
88
109
|
/**
|
|
@@ -90,6 +111,7 @@ export declare const ceil: <T extends Vector3Like>(vector: Vector3Like, out: T)
|
|
|
90
111
|
* @param vector - The vector.
|
|
91
112
|
* @param out - The vector to store the result in.
|
|
92
113
|
* @returns The rounded vector.
|
|
114
|
+
* @public
|
|
93
115
|
*/
|
|
94
116
|
export declare const floor: <T extends Vector3Like>(vector: Vector3Like, out: T) => T;
|
|
95
117
|
/**
|
|
@@ -97,6 +119,7 @@ export declare const floor: <T extends Vector3Like>(vector: Vector3Like, out: T)
|
|
|
97
119
|
* @param vector - The vector.
|
|
98
120
|
* @param out - The vector to store the result in.
|
|
99
121
|
* @returns The rounded vector.
|
|
122
|
+
* @public
|
|
100
123
|
*/
|
|
101
124
|
export declare const round: <T extends Vector3Like>(vector: Vector3Like, out: T) => T;
|
|
102
125
|
/**
|
|
@@ -105,6 +128,7 @@ export declare const round: <T extends Vector3Like>(vector: Vector3Like, out: T)
|
|
|
105
128
|
* @param b - The second vector.
|
|
106
129
|
* @param out - The vector to store the result in.
|
|
107
130
|
* @returns The minimum.
|
|
131
|
+
* @public
|
|
108
132
|
*/
|
|
109
133
|
export declare const min: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T) => T;
|
|
110
134
|
/**
|
|
@@ -113,6 +137,7 @@ export declare const min: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like
|
|
|
113
137
|
* @param b - The second vector.
|
|
114
138
|
* @param out - The vector to store the result in.
|
|
115
139
|
* @returns The maximum.
|
|
140
|
+
* @public
|
|
116
141
|
*/
|
|
117
142
|
export declare const max: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T) => T;
|
|
118
143
|
/**
|
|
@@ -121,6 +146,7 @@ export declare const max: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like
|
|
|
121
146
|
* @param scalar - The multiplicand.
|
|
122
147
|
* @param out - The vector to store the result in.
|
|
123
148
|
* @returns The product.
|
|
149
|
+
* @public
|
|
124
150
|
*/
|
|
125
151
|
export declare const scale: <T extends Vector3Like>(vector: Vector3Like, scalar: number, out: T) => T;
|
|
126
152
|
/**
|
|
@@ -130,6 +156,7 @@ export declare const scale: <T extends Vector3Like>(vector: Vector3Like, scalar:
|
|
|
130
156
|
* @param scalar - The multiplicand.
|
|
131
157
|
* @param out - The vector to store the result in.
|
|
132
158
|
* @returns The sum.
|
|
159
|
+
* @public
|
|
133
160
|
*/
|
|
134
161
|
export declare const scaleAndAdd: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, scalar: number, out: T) => T;
|
|
135
162
|
/**
|
|
@@ -137,7 +164,8 @@ export declare const scaleAndAdd: <T extends Vector3Like>(a: Vector3Like, b: Vec
|
|
|
137
164
|
* @param a - The first vector.
|
|
138
165
|
* @param b - The second vector.
|
|
139
166
|
* @returns The distance.
|
|
140
|
-
* @see
|
|
167
|
+
* @see {@link https://en.wikipedia.org/wiki/Euclidean_distance | Euclidean distance}
|
|
168
|
+
* @public
|
|
141
169
|
*/
|
|
142
170
|
export declare const distance: (a: Vector3Like, b: Vector3Like) => number;
|
|
143
171
|
/**
|
|
@@ -145,19 +173,22 @@ export declare const distance: (a: Vector3Like, b: Vector3Like) => number;
|
|
|
145
173
|
* @param a - The first vector.
|
|
146
174
|
* @param b - The second vector.
|
|
147
175
|
* @returns The squared distance.
|
|
148
|
-
* @see
|
|
176
|
+
* @see {@link https://en.wikipedia.org/wiki/Euclidean_distance | Euclidean distance}
|
|
177
|
+
* @public
|
|
149
178
|
*/
|
|
150
179
|
export declare const squaredDistance: (a: Vector3Like, b: Vector3Like) => number;
|
|
151
180
|
/**
|
|
152
181
|
* Calculate the magnitude (length) of a vector.
|
|
153
182
|
* @param vector - The vector.
|
|
154
183
|
* @returns The magnitude.
|
|
184
|
+
* @public
|
|
155
185
|
*/
|
|
156
186
|
export declare const getMagnitude: (vector: Vector3Like) => number;
|
|
157
187
|
/**
|
|
158
188
|
* Calculate the squared magnitude (length) of a vector.
|
|
159
189
|
* @param vector - The vector.
|
|
160
190
|
* @returns The squared magnitude.
|
|
191
|
+
* @public
|
|
161
192
|
*/
|
|
162
193
|
export declare const getSquaredMagnitude: (vector: Vector3Like) => number;
|
|
163
194
|
/**
|
|
@@ -165,6 +196,7 @@ export declare const getSquaredMagnitude: (vector: Vector3Like) => number;
|
|
|
165
196
|
* @param vector - The vector.
|
|
166
197
|
* @param out - The vector to store the result in.
|
|
167
198
|
* @returns The negated vector.
|
|
199
|
+
* @public
|
|
168
200
|
*/
|
|
169
201
|
export declare const negate: <T extends Vector3Like>(vector: Vector3Like, out: T) => T;
|
|
170
202
|
/**
|
|
@@ -172,6 +204,7 @@ export declare const negate: <T extends Vector3Like>(vector: Vector3Like, out: T
|
|
|
172
204
|
* @param vector - The vector.
|
|
173
205
|
* @param out - The vector to store the result in.
|
|
174
206
|
* @returns The inverted vector.
|
|
207
|
+
* @public
|
|
175
208
|
*/
|
|
176
209
|
export declare const invert: <T extends Vector3Like>(vector: Vector3Like, out: T) => T;
|
|
177
210
|
/**
|
|
@@ -179,7 +212,8 @@ export declare const invert: <T extends Vector3Like>(vector: Vector3Like, out: T
|
|
|
179
212
|
* @param vector - The vector.
|
|
180
213
|
* @param out - The vector to store the result in.
|
|
181
214
|
* @returns The normalized vector.
|
|
182
|
-
* @see
|
|
215
|
+
* @see {@link https://en.wikipedia.org/wiki/Unit_vector | Unit vector}
|
|
216
|
+
* @public
|
|
183
217
|
*/
|
|
184
218
|
export declare const normalize: <T extends Vector3Like>(vector: Vector3Like, out: T) => T;
|
|
185
219
|
/**
|
|
@@ -187,7 +221,8 @@ export declare const normalize: <T extends Vector3Like>(vector: Vector3Like, out
|
|
|
187
221
|
* @param a - The multiplier.
|
|
188
222
|
* @param b - The multiplicand.
|
|
189
223
|
* @returns The dot product.
|
|
190
|
-
* @see
|
|
224
|
+
* @see {@link https://en.wikipedia.org/wiki/Dot_product | Dot product}
|
|
225
|
+
* @public
|
|
191
226
|
*/
|
|
192
227
|
export declare const dot: (a: Vector3Like, b: Vector3Like) => number;
|
|
193
228
|
/**
|
|
@@ -196,7 +231,8 @@ export declare const dot: (a: Vector3Like, b: Vector3Like) => number;
|
|
|
196
231
|
* @param b - The mutliplicand.
|
|
197
232
|
* @param out - The vector to store the result in.
|
|
198
233
|
* @returns The cross product.
|
|
199
|
-
* @see
|
|
234
|
+
* @see {@link https://en.wikipedia.org/wiki/Cross_product | Cross product}
|
|
235
|
+
* @public
|
|
200
236
|
*/
|
|
201
237
|
export declare const cross: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, out: T) => T;
|
|
202
238
|
/**
|
|
@@ -206,14 +242,27 @@ export declare const cross: <T extends Vector3Like>(a: Vector3Like, b: Vector3Li
|
|
|
206
242
|
* @param t - The interpolation amount (in `[0,1]`).
|
|
207
243
|
* @param out - The vector to store the result in.
|
|
208
244
|
* @returns The interpolated vector.
|
|
209
|
-
* @see
|
|
245
|
+
* @see {@link https://en.wikipedia.org/wiki/Linear_interpolation | Linear interpolation}
|
|
246
|
+
* @public
|
|
210
247
|
*/
|
|
211
248
|
export declare const lerp: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, t: number, out: T) => T;
|
|
249
|
+
/**
|
|
250
|
+
* Perform a spherical linear interpolation between two vectors.
|
|
251
|
+
* @param a - The first vector.
|
|
252
|
+
* @param b - The second vector.
|
|
253
|
+
* @param t - The interpolation amount (in `[0,1]`).
|
|
254
|
+
* @param out - The vector to store the result in.
|
|
255
|
+
* @returns The interpolated vector.
|
|
256
|
+
* @see {@link https://en.wikipedia.org/wiki/Slerp | Slerp}
|
|
257
|
+
* @public
|
|
258
|
+
*/
|
|
259
|
+
export declare const slerp: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, t: number, out: T) => T;
|
|
212
260
|
/**
|
|
213
261
|
* Set a vector to a random value with the given magnitude.
|
|
214
262
|
* @param magnitude - The magnitude.
|
|
215
263
|
* @param out - The vector to store the result in.
|
|
216
264
|
* @returns This vector.
|
|
265
|
+
* @public
|
|
217
266
|
*/
|
|
218
267
|
export declare const random: <T extends Vector3Like>(magnitude: number, out: T) => T;
|
|
219
268
|
/**
|
|
@@ -222,7 +271,8 @@ export declare const random: <T extends Vector3Like>(magnitude: number, out: T)
|
|
|
222
271
|
* @param matrix - The matrix (multiplicand).
|
|
223
272
|
* @param out - The vector to store the result in.
|
|
224
273
|
* @returns The transformed vector.
|
|
225
|
-
* @see
|
|
274
|
+
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
275
|
+
* @public
|
|
226
276
|
*/
|
|
227
277
|
export declare const transformMatrix3: <T extends Vector3Like>(vector: Vector3Like, matrix: Matrix3Like, out: T) => T;
|
|
228
278
|
/**
|
|
@@ -231,7 +281,8 @@ export declare const transformMatrix3: <T extends Vector3Like>(vector: Vector3Li
|
|
|
231
281
|
* @param matrix - The matrix (multiplicand).
|
|
232
282
|
* @param out - The vector to store the result in.
|
|
233
283
|
* @returns The transformed vector.
|
|
234
|
-
* @see
|
|
284
|
+
* @see {@link https://en.wikipedia.org/wiki/Transformation_matrix | Transformation matrix}
|
|
285
|
+
* @public
|
|
235
286
|
*/
|
|
236
287
|
export declare const transformMatrix4: <T extends Vector3Like>(vector: Vector3Like, matrix: Matrix4Like, out: T) => T;
|
|
237
288
|
/**
|
|
@@ -241,6 +292,7 @@ export declare const transformMatrix4: <T extends Vector3Like>(vector: Vector3Li
|
|
|
241
292
|
* @param r - The angle of rotation in radians.
|
|
242
293
|
* @param out - The vector to store the result in.
|
|
243
294
|
* @returns The rotated vector.
|
|
295
|
+
* @public
|
|
244
296
|
*/
|
|
245
297
|
export declare const rotateX: <T extends Vector3Like>(vector: Vector3Like, origin: Vector3Like, r: number, out: T) => T;
|
|
246
298
|
/**
|
|
@@ -250,6 +302,7 @@ export declare const rotateX: <T extends Vector3Like>(vector: Vector3Like, origi
|
|
|
250
302
|
* @param r - The angle of rotation in radians.
|
|
251
303
|
* @param out - The vector to store the result in.
|
|
252
304
|
* @returns The rotated vector.
|
|
305
|
+
* @public
|
|
253
306
|
*/
|
|
254
307
|
export declare const rotateY: <T extends Vector3Like>(vector: Vector3Like, origin: Vector3Like, r: number, out: T) => T;
|
|
255
308
|
/**
|
|
@@ -259,6 +312,7 @@ export declare const rotateY: <T extends Vector3Like>(vector: Vector3Like, origi
|
|
|
259
312
|
* @param r - The angle of rotation in radians.
|
|
260
313
|
* @param out - The vector to store the result in.
|
|
261
314
|
* @returns The rotated vector.
|
|
315
|
+
* @public
|
|
262
316
|
*/
|
|
263
317
|
export declare const rotateZ: <T extends Vector3Like>(vector: Vector3Like, origin: Vector3Like, r: number, out: T) => T;
|
|
264
318
|
/**
|
|
@@ -266,12 +320,14 @@ export declare const rotateZ: <T extends Vector3Like>(vector: Vector3Like, origi
|
|
|
266
320
|
* @param a - The first vector.
|
|
267
321
|
* @param b - The second vector.
|
|
268
322
|
* @returns The angular distance from the first vector to the second.
|
|
323
|
+
* @public
|
|
269
324
|
*/
|
|
270
325
|
export declare const angle: (a: Vector3Like, b: Vector3Like) => number;
|
|
271
326
|
/**
|
|
272
327
|
* Set a vector to the zero vector.
|
|
273
328
|
* @param out - The vector to store the result in.
|
|
274
329
|
* @returns This vector.
|
|
330
|
+
* @public
|
|
275
331
|
*/
|
|
276
332
|
export declare const zero: <T extends Vector3Like>(out: T) => T;
|
|
277
333
|
/**
|
|
@@ -283,7 +339,8 @@ export declare const zero: <T extends Vector3Like>(out: T) => T;
|
|
|
283
339
|
* @param t - The interpolation amount in the range `[0,1]`.
|
|
284
340
|
* @param out - The vector to store the result in.
|
|
285
341
|
* @returns The interpolated vector.
|
|
286
|
-
* @see
|
|
342
|
+
* @see {@link https://en.wikipedia.org/wiki/Hermite_interpolation | Hermite interpolation}
|
|
343
|
+
* @public
|
|
287
344
|
*/
|
|
288
345
|
export declare const hermite: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, c: Vector3Like, d: Vector3Like, t: number, out: T) => T;
|
|
289
346
|
/**
|
|
@@ -295,29 +352,25 @@ export declare const hermite: <T extends Vector3Like>(a: Vector3Like, b: Vector3
|
|
|
295
352
|
* @param t - The interpolation amount in the range `[0,1]`.
|
|
296
353
|
* @param out - The vector to store the result in.
|
|
297
354
|
* @returns The interpolated vector.
|
|
298
|
-
* @see
|
|
355
|
+
* @see {@link https://en.wikipedia.org/wiki/B%C3%A9zier_curve | Bézier curve}
|
|
356
|
+
* @public
|
|
299
357
|
*/
|
|
300
358
|
export declare const bezier: <T extends Vector3Like>(a: Vector3Like, b: Vector3Like, c: Vector3Like, d: Vector3Like, t: number, out: T) => T;
|
|
301
359
|
/**
|
|
302
|
-
* Transform a vector by a quaternion.
|
|
360
|
+
* Transform a vector by a unit quaternion.
|
|
303
361
|
* @param vector - The vector.
|
|
304
|
-
* @param quaternion - The quaternion.
|
|
362
|
+
* @param quaternion - The unit quaternion.
|
|
305
363
|
* @param out - The vector to store the result in.
|
|
306
364
|
* @returns The transformed vector.
|
|
307
|
-
* @see
|
|
365
|
+
* @see {@link https://en.wikipedia.org/wiki/Quaternion | Quaternion}
|
|
366
|
+
* @see {@link https://raw.org/proof/vector-rotation-using-quaternions/ | Fast Vector Rotation using Quaternions}
|
|
367
|
+
* @public
|
|
308
368
|
*/
|
|
309
369
|
export declare const transformQuaternion: <T extends Vector3Like>(vector: Vector3Like, quaternion: QuaternionLike, out: T) => T;
|
|
310
|
-
/**
|
|
311
|
-
* Create a quaternion that represents the shortest rotation from one unit vector to another.
|
|
312
|
-
* @param a - The first vector.
|
|
313
|
-
* @param b - The second vector.
|
|
314
|
-
* @param out - The quaternion to store the result in.
|
|
315
|
-
* @returns The quaternion.
|
|
316
|
-
*/
|
|
317
|
-
export declare const rotationTo: <T extends QuaternionLike>(a: Vector3Like, b: Vector3Like, out: T) => T;
|
|
318
370
|
/**
|
|
319
371
|
* A quantity with magnitude and direction in three dimensions.
|
|
320
|
-
* @see
|
|
372
|
+
* @see {@link https://en.wikipedia.org/wiki/Euclidean_vector | Euclidean vector}
|
|
373
|
+
* @public
|
|
321
374
|
*/
|
|
322
375
|
export default class Vector3 extends Float32Array implements Vector, Vector3Like {
|
|
323
376
|
/**
|
|
@@ -331,7 +384,7 @@ export default class Vector3 extends Float32Array implements Vector, Vector3Like
|
|
|
331
384
|
static fromValues<T extends Vector3Like = Vector3>(x: number, y: number, z: number, out?: T): T;
|
|
332
385
|
/**
|
|
333
386
|
* Create a three-dimensional zero vector.
|
|
334
|
-
* @see
|
|
387
|
+
* @see {@link https://en.wikipedia.org/wiki/Euclidean_vector | Euclidean vector}
|
|
335
388
|
*/
|
|
336
389
|
constructor();
|
|
337
390
|
/** The first component of this vector. */
|
|
@@ -392,6 +445,12 @@ export default class Vector3 extends Float32Array implements Vector, Vector3Like
|
|
|
392
445
|
* @returns The difference between the vectors.
|
|
393
446
|
*/
|
|
394
447
|
subtract<T extends Vector3Like = Vector3>(vector: Vector3Like, out?: T): T;
|
|
448
|
+
/**
|
|
449
|
+
* Absolutize the components of this vector.
|
|
450
|
+
* @param out - The vector to store the result in.
|
|
451
|
+
* @returns The absolutized vector.
|
|
452
|
+
*/
|
|
453
|
+
abs<T extends Vector3Like = Vector3>(out?: T): T;
|
|
395
454
|
/**
|
|
396
455
|
* Round up the components of this vector.
|
|
397
456
|
* @param out - The vector to store the result in.
|
|
@@ -443,14 +502,14 @@ export default class Vector3 extends Float32Array implements Vector, Vector3Like
|
|
|
443
502
|
* Calculate the Euclidean distance between this vector and another.
|
|
444
503
|
* @param vector - The other vector.
|
|
445
504
|
* @returns The distance.
|
|
446
|
-
* @see
|
|
505
|
+
* @see {@link https://en.wikipedia.org/wiki/Euclidean_distance | Euclidean distance}
|
|
447
506
|
*/
|
|
448
507
|
distance(vector: Vector3Like): number;
|
|
449
508
|
/**
|
|
450
509
|
* Calculate the squared Euclidean distance between this vector and another.
|
|
451
510
|
* @param vector - The other vector.
|
|
452
511
|
* @returns The squared distance.
|
|
453
|
-
* @see
|
|
512
|
+
* @see {@link https://en.wikipedia.org/wiki/Euclidean_distance | Euclidean distance}
|
|
454
513
|
*/
|
|
455
514
|
squaredDistance(vector: Vector3Like): number;
|
|
456
515
|
/** Get the magnitude (length) of this vector. */
|
|
@@ -473,14 +532,14 @@ export default class Vector3 extends Float32Array implements Vector, Vector3Like
|
|
|
473
532
|
* Normalize this vector.
|
|
474
533
|
* @param out - The vector to store the result in.
|
|
475
534
|
* @returns The normalized vector.
|
|
476
|
-
* @see
|
|
535
|
+
* @see {@link https://en.wikipedia.org/wiki/Unit_vector | Unit vector}
|
|
477
536
|
*/
|
|
478
537
|
normalize<T extends Vector3Like = Vector3>(out?: T): T;
|
|
479
538
|
/**
|
|
480
539
|
* Calculate the dot product of this and another vector.
|
|
481
540
|
* @param vector - The other vector.
|
|
482
541
|
* @returns The dot product.
|
|
483
|
-
* @see
|
|
542
|
+
* @see {@link https://en.wikipedia.org/wiki/Dot_product | Dot product}
|
|
484
543
|
*/
|
|
485
544
|
dot(vector: Vector3Like): number;
|
|
486
545
|
/**
|
|
@@ -488,7 +547,7 @@ export default class Vector3 extends Float32Array implements Vector, Vector3Like
|
|
|
488
547
|
* @param vector - The other vector.
|
|
489
548
|
* @param out - The vector to store the result in.
|
|
490
549
|
* @returns The cross product.
|
|
491
|
-
* @see
|
|
550
|
+
* @see {@link https://en.wikipedia.org/wiki/Cross_product | Cross product}
|
|
492
551
|
*/
|
|
493
552
|
cross<T extends Vector3Like = Vector3>(vector: Vector3Like, out?: T): T;
|
|
494
553
|
/**
|
|
@@ -497,7 +556,7 @@ export default class Vector3 extends Float32Array implements Vector, Vector3Like
|
|
|
497
556
|
* @param t - The interpolation amount (in `[0,1]`).
|
|
498
557
|
* @param out - The vector to store the result in.
|
|
499
558
|
* @returns The interpolated vector.
|
|
500
|
-
* @see
|
|
559
|
+
* @see {@link https://en.wikipedia.org/wiki/Linear_interpolation | Linear interpolation}
|
|
501
560
|
*/
|
|
502
561
|
lerp<T extends Vector3Like = Vector3>(vector: Vector3Like, t: number, out?: T): T;
|
|
503
562
|
/**
|
|
@@ -563,7 +622,7 @@ export default class Vector3 extends Float32Array implements Vector, Vector3Like
|
|
|
563
622
|
* @param t - The interpolation amount in the range `[0,1]`.
|
|
564
623
|
* @param out - The vector to store the result in.
|
|
565
624
|
* @returns The interpolated vector.
|
|
566
|
-
* @see
|
|
625
|
+
* @see {@link https://en.wikipedia.org/wiki/Hermite_interpolation | Hermite interpolation}
|
|
567
626
|
*/
|
|
568
627
|
hermite<T extends Vector3Like = Vector3>(a: Vector3Like, b: Vector3Like, end: Vector3Like, t: number, out?: T): T;
|
|
569
628
|
/**
|
|
@@ -574,7 +633,7 @@ export default class Vector3 extends Float32Array implements Vector, Vector3Like
|
|
|
574
633
|
* @param t - The interpolation amount in the range `[0,1]`.
|
|
575
634
|
* @param out - The vector to store the result in.
|
|
576
635
|
* @returns The interpolated vector.
|
|
577
|
-
* @see
|
|
636
|
+
* @see {@link https://en.wikipedia.org/wiki/B%C3%A9zier_curve | Bézier curve}
|
|
578
637
|
*/
|
|
579
638
|
bezier<T extends Vector3Like = Vector3>(a: Vector3Like, b: Vector3Like, end: Vector3Like, t: number, out?: T): T;
|
|
580
639
|
/**
|
|
@@ -582,15 +641,8 @@ export default class Vector3 extends Float32Array implements Vector, Vector3Like
|
|
|
582
641
|
* @param quaternion - The quaternion.
|
|
583
642
|
* @param out - The vector to store the result in.
|
|
584
643
|
* @returns The transformed vector.
|
|
585
|
-
* @see
|
|
644
|
+
* @see {@link https://en.wikipedia.org/wiki/Quaternion | Quaternion}
|
|
586
645
|
*/
|
|
587
646
|
transformQuaternion<T extends Vector3Like = Vector3>(quaternion: QuaternionLike, out?: T): T;
|
|
588
|
-
/**
|
|
589
|
-
* Create a quaternion that represents the shortest rotation from this unit vector to another.
|
|
590
|
-
* @param vector - The other vector.
|
|
591
|
-
* @param out - The quaternion to store the result in.
|
|
592
|
-
* @returns The quaternion.
|
|
593
|
-
*/
|
|
594
|
-
rotationTo<T extends QuaternionLike = Quaternion>(vector: Vector3Like, out?: T): T;
|
|
595
647
|
}
|
|
596
648
|
//# sourceMappingURL=Vector3.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../src/linalg/Vector3.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../src/linalg/Vector3.ts"],"names":[],"mappings":"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"}
|