@lakuna/umath 2.0.0 → 3.0.1
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 +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/linalg/DualQuaternion.d.ts +158 -158
- 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 +85 -85
- 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 +134 -134
- 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 +245 -246
- 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 +147 -146
- 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 +12 -12
- 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 +7 -7
- 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 +77 -77
- 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 +143 -143
- 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 +173 -173
- 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 +137 -137
- 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 +11 -1
- 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 +49 -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 +13 -12
- package/src/algorithms/greatestCommonDivisor.ts +19 -7
- package/src/index.ts +21 -14
- package/src/linalg/DualQuaternion.ts +264 -238
- package/src/linalg/Matrix.ts +31 -28
- package/src/linalg/Matrix2.ts +157 -137
- package/src/linalg/Matrix3.ts +222 -191
- package/src/linalg/Matrix4.ts +464 -412
- package/src/linalg/Quaternion.ts +267 -234
- package/src/linalg/SlowMatrix.ts +31 -27
- package/src/linalg/SlowSquareMatrix.ts +19 -18
- package/src/linalg/SlowVector.ts +175 -174
- package/src/linalg/SquareMatrix.ts +9 -9
- package/src/linalg/Vector.ts +91 -89
- package/src/linalg/Vector2.ts +250 -217
- package/src/linalg/Vector3.ts +309 -269
- package/src/linalg/Vector4.ts +246 -206
- package/src/types/AxisAngle.ts +13 -1
- package/src/types/FieldOfView.ts +3 -3
- package/src/utility/BigNumber.ts +71 -38
- package/src/utility/createAxisAngleLike.ts +1 -0
|
@@ -28,7 +28,7 @@ export interface DualQuaternionLike extends Record<number, number> {
|
|
|
28
28
|
* @returns A dual quaternion-like object.
|
|
29
29
|
* @public
|
|
30
30
|
*/
|
|
31
|
-
export declare const createDualQuaternionLike: () =>
|
|
31
|
+
export declare const createDualQuaternionLike: () => DualQuaternionLike & Float32Array;
|
|
32
32
|
/**
|
|
33
33
|
* Create a dual quaternion with the given values.
|
|
34
34
|
* @param x1 - The first real component.
|
|
@@ -51,7 +51,7 @@ export declare const fromValues: <T extends DualQuaternionLike>(x1: number, y1:
|
|
|
51
51
|
* @returns The copy.
|
|
52
52
|
* @public
|
|
53
53
|
*/
|
|
54
|
-
export declare const copy: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
54
|
+
export declare const copy: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, out: T) => T;
|
|
55
55
|
/**
|
|
56
56
|
* Create a dual quaternion from the given rotation and translation.
|
|
57
57
|
* @param quaternion - The rotation quaternion.
|
|
@@ -60,7 +60,7 @@ export declare const copy: <T extends DualQuaternionLike>(dualQuaternion: DualQu
|
|
|
60
60
|
* @returns The dual quaternion.
|
|
61
61
|
* @public
|
|
62
62
|
*/
|
|
63
|
-
export declare const fromRotationTranslation: <T extends DualQuaternionLike>(quaternion: QuaternionLike
|
|
63
|
+
export declare const fromRotationTranslation: <T extends DualQuaternionLike>(quaternion: Readonly<QuaternionLike>, translation: Readonly<Vector3Like>, out: T) => T;
|
|
64
64
|
/**
|
|
65
65
|
* Create a dual quaternion from the given translation.
|
|
66
66
|
* @param translation - The translation vector.
|
|
@@ -68,7 +68,7 @@ export declare const fromRotationTranslation: <T extends DualQuaternionLike>(qua
|
|
|
68
68
|
* @returns The dual quaternion.
|
|
69
69
|
* @public
|
|
70
70
|
*/
|
|
71
|
-
export declare const fromTranslation: <T extends DualQuaternionLike>(translation: Vector3Like
|
|
71
|
+
export declare const fromTranslation: <T extends DualQuaternionLike>(translation: Readonly<Vector3Like>, out: T) => T;
|
|
72
72
|
/**
|
|
73
73
|
* Create a dual quaternion from the given rotation.
|
|
74
74
|
* @param quaternion - The rotation quaternion.
|
|
@@ -76,7 +76,7 @@ export declare const fromTranslation: <T extends DualQuaternionLike>(translation
|
|
|
76
76
|
* @returns The dual quaternion.
|
|
77
77
|
* @public
|
|
78
78
|
*/
|
|
79
|
-
export declare const fromRotation: <T extends DualQuaternionLike>(quaternion: QuaternionLike
|
|
79
|
+
export declare const fromRotation: <T extends DualQuaternionLike>(quaternion: Readonly<QuaternionLike>, out: T) => T;
|
|
80
80
|
/**
|
|
81
81
|
* Create a dual quaternion from the given four-by-four matrix. Equivalent to (but faster than) `fromRotationTranslation(getRotation(matrix, createQuaternionLike()), getTranslation(matrix, createVector3Like()), out)`.
|
|
82
82
|
* @param matrix - The matrix.
|
|
@@ -84,7 +84,7 @@ export declare const fromRotation: <T extends DualQuaternionLike>(quaternion: Qu
|
|
|
84
84
|
* @returns The dual quaternion.
|
|
85
85
|
* @public
|
|
86
86
|
*/
|
|
87
|
-
export declare const fromMatrix4: <T extends DualQuaternionLike>(matrix: Matrix4Like
|
|
87
|
+
export declare const fromMatrix4: <T extends DualQuaternionLike>(matrix: Readonly<Matrix4Like>, out: T) => T;
|
|
88
88
|
/**
|
|
89
89
|
* Set a dual quaternion to the identity dual quaternion.
|
|
90
90
|
* @param out - The dual quaternion to store the result in.
|
|
@@ -99,7 +99,7 @@ export declare const identity: <T extends DualQuaternionLike>(out: T) => T;
|
|
|
99
99
|
* @returns The real part.
|
|
100
100
|
* @public
|
|
101
101
|
*/
|
|
102
|
-
export declare const getReal: <T extends QuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
102
|
+
export declare const getReal: <T extends QuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, out: T) => T;
|
|
103
103
|
/**
|
|
104
104
|
* Get the dual part of a dual quaternion.
|
|
105
105
|
* @param dualQuaternion - The dual quaternion.
|
|
@@ -107,7 +107,7 @@ export declare const getReal: <T extends QuaternionLike>(dualQuaternion: DualQua
|
|
|
107
107
|
* @returns The dual part.
|
|
108
108
|
* @public
|
|
109
109
|
*/
|
|
110
|
-
export declare const getDual: <T extends QuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
110
|
+
export declare const getDual: <T extends QuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, out: T) => T;
|
|
111
111
|
/**
|
|
112
112
|
* Set the real part of a dual quaternion.
|
|
113
113
|
* @param quaternion - The quaternion to set as the real part.
|
|
@@ -115,7 +115,7 @@ export declare const getDual: <T extends QuaternionLike>(dualQuaternion: DualQua
|
|
|
115
115
|
* @returns The dual quaternion.
|
|
116
116
|
* @public
|
|
117
117
|
*/
|
|
118
|
-
export declare const setReal: <T extends DualQuaternionLike>(quaternion: QuaternionLike
|
|
118
|
+
export declare const setReal: <T extends DualQuaternionLike>(quaternion: Readonly<QuaternionLike>, out: T) => T;
|
|
119
119
|
/**
|
|
120
120
|
* Set the dual part of a dual quaternion.
|
|
121
121
|
* @param quaternion - The quaternion to set as the dual part.
|
|
@@ -123,7 +123,7 @@ export declare const setReal: <T extends DualQuaternionLike>(quaternion: Quatern
|
|
|
123
123
|
* @returns The dual quaternion.
|
|
124
124
|
* @public
|
|
125
125
|
*/
|
|
126
|
-
export declare const setDual: <T extends DualQuaternionLike>(quaternion: QuaternionLike
|
|
126
|
+
export declare const setDual: <T extends DualQuaternionLike>(quaternion: Readonly<QuaternionLike>, out: T) => T;
|
|
127
127
|
/**
|
|
128
128
|
* Get the translation of a normalized dual quaternion.
|
|
129
129
|
* @param dualQuaternion - The dual quaternion.
|
|
@@ -131,7 +131,7 @@ export declare const setDual: <T extends DualQuaternionLike>(quaternion: Quatern
|
|
|
131
131
|
* @returns The translation vector.
|
|
132
132
|
* @public
|
|
133
133
|
*/
|
|
134
|
-
export declare const getTranslation: <T extends Vector3Like>(dualQuaternion: DualQuaternionLike
|
|
134
|
+
export declare const getTranslation: <T extends Vector3Like>(dualQuaternion: Readonly<DualQuaternionLike>, out: T) => T;
|
|
135
135
|
/**
|
|
136
136
|
* Translate a dual quaternion by the given vector.
|
|
137
137
|
* @param dualQuaternion - The dual quaternion.
|
|
@@ -140,7 +140,7 @@ export declare const getTranslation: <T extends Vector3Like>(dualQuaternion: Dua
|
|
|
140
140
|
* @returns The translated dual quaternion.
|
|
141
141
|
* @public
|
|
142
142
|
*/
|
|
143
|
-
export declare const translate: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
143
|
+
export declare const translate: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, vector: Readonly<Vector3Like>, out: T) => T;
|
|
144
144
|
/**
|
|
145
145
|
* Rotate a dual quaternion around the X-axis.
|
|
146
146
|
* @param dualQuaternion - The dual quaternion.
|
|
@@ -149,7 +149,7 @@ export declare const translate: <T extends DualQuaternionLike>(dualQuaternion: D
|
|
|
149
149
|
* @returns The rotated dual quaternion.
|
|
150
150
|
* @public
|
|
151
151
|
*/
|
|
152
|
-
export declare const rotateX: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
152
|
+
export declare const rotateX: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, radians: number, out: T) => T;
|
|
153
153
|
/**
|
|
154
154
|
* Rotate a dual quaternion around the Y-axis.
|
|
155
155
|
* @param dualQuaternion - The dual quaternion.
|
|
@@ -158,7 +158,7 @@ export declare const rotateX: <T extends DualQuaternionLike>(dualQuaternion: Dua
|
|
|
158
158
|
* @returns The rotated dual quaternion.
|
|
159
159
|
* @public
|
|
160
160
|
*/
|
|
161
|
-
export declare const rotateY: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
161
|
+
export declare const rotateY: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, radians: number, out: T) => T;
|
|
162
162
|
/**
|
|
163
163
|
* Rotate a dual quaternion around the Z-axis.
|
|
164
164
|
* @param dualQuaternion - The dual quaternion.
|
|
@@ -167,7 +167,7 @@ export declare const rotateY: <T extends DualQuaternionLike>(dualQuaternion: Dua
|
|
|
167
167
|
* @returns The rotated dual quaternion.
|
|
168
168
|
* @public
|
|
169
169
|
*/
|
|
170
|
-
export declare const rotateZ: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
170
|
+
export declare const rotateZ: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, radians: number, out: T) => T;
|
|
171
171
|
/**
|
|
172
172
|
* Rotate a dual quaternion by a quaternion (using the quaternion as the multiplicand).
|
|
173
173
|
* @param dualQuaternion - The dual quaternion to rotate.
|
|
@@ -176,7 +176,7 @@ export declare const rotateZ: <T extends DualQuaternionLike>(dualQuaternion: Dua
|
|
|
176
176
|
* @returns The rotated dual quaternion.
|
|
177
177
|
* @public
|
|
178
178
|
*/
|
|
179
|
-
export declare const rotateByQuaternionAppend: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
179
|
+
export declare const rotateByQuaternionAppend: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, quaternion: Readonly<QuaternionLike>, out: T) => T;
|
|
180
180
|
/**
|
|
181
181
|
* Rotate a dual quaternion by a quaternion (using the quaternion as the multiplier).
|
|
182
182
|
* @param quaternion - The quaternion to rotate by.
|
|
@@ -185,7 +185,7 @@ export declare const rotateByQuaternionAppend: <T extends DualQuaternionLike>(du
|
|
|
185
185
|
* @returns The rotated dual quaternion.
|
|
186
186
|
* @public
|
|
187
187
|
*/
|
|
188
|
-
export declare const rotateByQuaternionPrepend: <T extends DualQuaternionLike>(quaternion: QuaternionLike
|
|
188
|
+
export declare const rotateByQuaternionPrepend: <T extends DualQuaternionLike>(quaternion: Readonly<QuaternionLike>, dualQuaternion: Readonly<DualQuaternionLike>, out: T) => T;
|
|
189
189
|
/**
|
|
190
190
|
* Rotate a dual quaternion around an axis.
|
|
191
191
|
* @param dualQuaternion - The dual quaternion.
|
|
@@ -195,7 +195,7 @@ export declare const rotateByQuaternionPrepend: <T extends DualQuaternionLike>(q
|
|
|
195
195
|
* @returns A normalized dual quaternion.
|
|
196
196
|
* @public
|
|
197
197
|
*/
|
|
198
|
-
export declare const rotateAroundAxis: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
198
|
+
export declare const rotateAroundAxis: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, axis: Readonly<Vector3Like>, radians: number, out: T) => T;
|
|
199
199
|
/**
|
|
200
200
|
* Add two dual quaternions.
|
|
201
201
|
* @param a - The augend.
|
|
@@ -204,7 +204,7 @@ export declare const rotateAroundAxis: <T extends DualQuaternionLike>(dualQuater
|
|
|
204
204
|
* @returns The sum.
|
|
205
205
|
* @public
|
|
206
206
|
*/
|
|
207
|
-
export declare const add: <T extends DualQuaternionLike>(a: DualQuaternionLike
|
|
207
|
+
export declare const add: <T extends DualQuaternionLike>(a: Readonly<DualQuaternionLike>, b: Readonly<DualQuaternionLike>, out: T) => T;
|
|
208
208
|
/**
|
|
209
209
|
* Multiply two dual quaternions.
|
|
210
210
|
* @param a - The multiplier.
|
|
@@ -213,7 +213,7 @@ export declare const add: <T extends DualQuaternionLike>(a: DualQuaternionLike,
|
|
|
213
213
|
* @returns The product.
|
|
214
214
|
* @public
|
|
215
215
|
*/
|
|
216
|
-
export declare const multiply: <T extends DualQuaternionLike>(a: DualQuaternionLike
|
|
216
|
+
export declare const multiply: <T extends DualQuaternionLike>(a: Readonly<DualQuaternionLike>, b: Readonly<DualQuaternionLike>, out: T) => T;
|
|
217
217
|
/**
|
|
218
218
|
* Multiply a dual quaternion by a scalar.
|
|
219
219
|
* @param dualQuaternion - The multiplicand (dual quaternion).
|
|
@@ -222,7 +222,7 @@ export declare const multiply: <T extends DualQuaternionLike>(a: DualQuaternionL
|
|
|
222
222
|
* @returns The product.
|
|
223
223
|
* @public
|
|
224
224
|
*/
|
|
225
|
-
export declare const scale: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
225
|
+
export declare const scale: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, scalar: number, out: T) => T;
|
|
226
226
|
/**
|
|
227
227
|
* Calculate the dot product of two dual quaternions.
|
|
228
228
|
* @param a - The multiplier.
|
|
@@ -231,7 +231,7 @@ export declare const scale: <T extends DualQuaternionLike>(dualQuaternion: DualQ
|
|
|
231
231
|
* @see {@link https://en.wikipedia.org/wiki/Dot_product | Dot product}
|
|
232
232
|
* @public
|
|
233
233
|
*/
|
|
234
|
-
export declare const dot: (a: DualQuaternionLike
|
|
234
|
+
export declare const dot: (a: Readonly<DualQuaternionLike>, b: Readonly<DualQuaternionLike>) => number;
|
|
235
235
|
/**
|
|
236
236
|
* Perform a linear interpolation between two dual quaternions.
|
|
237
237
|
* @param a - The first dual quaternion.
|
|
@@ -241,21 +241,21 @@ export declare const dot: (a: DualQuaternionLike, b: DualQuaternionLike) => numb
|
|
|
241
241
|
* @returns The interpolated value.
|
|
242
242
|
* @public
|
|
243
243
|
*/
|
|
244
|
-
export declare const lerp: <T extends DualQuaternionLike>(a: DualQuaternionLike
|
|
244
|
+
export declare const lerp: <T extends DualQuaternionLike>(a: Readonly<DualQuaternionLike>, b: Readonly<DualQuaternionLike>, t: number, out: T) => T;
|
|
245
245
|
/**
|
|
246
246
|
* Calculate the magnitude (length) of a dual quaternion.
|
|
247
247
|
* @param dualQuaternion - The dual quaternion.
|
|
248
248
|
* @returns The magnitude.
|
|
249
249
|
* @public
|
|
250
250
|
*/
|
|
251
|
-
export declare const getMagnitude: (dualQuaternion: DualQuaternionLike) => number;
|
|
251
|
+
export declare const getMagnitude: (dualQuaternion: Readonly<DualQuaternionLike>) => number;
|
|
252
252
|
/**
|
|
253
253
|
* Calculate the squared magnitude (length) of a dual quaternion.
|
|
254
254
|
* @param dualQuaternion - The dual quaternion.
|
|
255
255
|
* @returns The squared magnitude.
|
|
256
256
|
* @public
|
|
257
257
|
*/
|
|
258
|
-
export declare const getSquaredMagnitude: (dualQuaternion: DualQuaternionLike) => number;
|
|
258
|
+
export declare const getSquaredMagnitude: (dualQuaternion: Readonly<DualQuaternionLike>) => number;
|
|
259
259
|
/**
|
|
260
260
|
* Calculate the inverse of a dual quaternion. If the dual quaternion is normalized, the conjugate is equivalent and faster to calculate.
|
|
261
261
|
* @param dualQuaternion - The dual quaternion.
|
|
@@ -263,7 +263,7 @@ export declare const getSquaredMagnitude: (dualQuaternion: DualQuaternionLike) =
|
|
|
263
263
|
* @returns The inverse.
|
|
264
264
|
* @public
|
|
265
265
|
*/
|
|
266
|
-
export declare const invert: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
266
|
+
export declare const invert: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, out: T) => T;
|
|
267
267
|
/**
|
|
268
268
|
* Calculate the conjugate of a dual quaternion. If the dual quaternion is normalized, this is equivalent to its inverse and faster to calculate.
|
|
269
269
|
* @param dualQuaternion - The dual quaternion.
|
|
@@ -271,7 +271,7 @@ export declare const invert: <T extends DualQuaternionLike>(dualQuaternion: Dual
|
|
|
271
271
|
* @returns The conjugate.
|
|
272
272
|
* @public
|
|
273
273
|
*/
|
|
274
|
-
export declare const conjugate: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
274
|
+
export declare const conjugate: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, out: T) => T;
|
|
275
275
|
/**
|
|
276
276
|
* Normalize a dual quaternion.
|
|
277
277
|
* @param dualQuaternion - The dual quaternion.
|
|
@@ -279,7 +279,7 @@ export declare const conjugate: <T extends DualQuaternionLike>(dualQuaternion: D
|
|
|
279
279
|
* @returns The normalized dual quaternion.
|
|
280
280
|
* @public
|
|
281
281
|
*/
|
|
282
|
-
export declare const normalize: <T extends DualQuaternionLike>(dualQuaternion: DualQuaternionLike
|
|
282
|
+
export declare const normalize: <T extends DualQuaternionLike>(dualQuaternion: Readonly<DualQuaternionLike>, out: T) => T;
|
|
283
283
|
/**
|
|
284
284
|
* Determine whether or not two dual quaternions are exactly equivalent.
|
|
285
285
|
* @param a - The first dual quaternion.
|
|
@@ -287,7 +287,7 @@ export declare const normalize: <T extends DualQuaternionLike>(dualQuaternion: D
|
|
|
287
287
|
* @returns Whether or not the dual quaternions are equivalent.
|
|
288
288
|
* @public
|
|
289
289
|
*/
|
|
290
|
-
export declare const exactEquals: (a: DualQuaternionLike
|
|
290
|
+
export declare const exactEquals: (a: Readonly<DualQuaternionLike>, b: Readonly<DualQuaternionLike>) => boolean;
|
|
291
291
|
/**
|
|
292
292
|
* Determine whether or not two dual quaternions are roughly equivalent.
|
|
293
293
|
* @param a - The first dual quaternion.
|
|
@@ -295,170 +295,199 @@ export declare const exactEquals: (a: DualQuaternionLike, b: DualQuaternionLike)
|
|
|
295
295
|
* @returns Whether or not the dual quaternions are equivalent.
|
|
296
296
|
* @public
|
|
297
297
|
*/
|
|
298
|
-
export declare const equals: (a: DualQuaternionLike
|
|
298
|
+
export declare const equals: (a: Readonly<DualQuaternionLike>, b: Readonly<DualQuaternionLike>) => boolean;
|
|
299
299
|
/**
|
|
300
300
|
* A complex number that is commonly used to describe transformations.
|
|
301
301
|
* @see {@link https://en.wikipedia.org/wiki/Dual_quaternion | Dual quaternion}
|
|
302
302
|
* @public
|
|
303
303
|
*/
|
|
304
304
|
export default class DualQuaternion extends Float32Array implements DualQuaternionLike {
|
|
305
|
+
/** The first real component of this dual quaternion. */
|
|
306
|
+
0: number;
|
|
307
|
+
/** The second real component of this dual quaternion. */
|
|
308
|
+
1: number;
|
|
309
|
+
/** The third real component of this dual quaternion. */
|
|
310
|
+
2: number;
|
|
311
|
+
/** The fourth real component of this dual quaternion. */
|
|
312
|
+
3: number;
|
|
313
|
+
/** The first dual component of this dual quaternion. */
|
|
314
|
+
4: number;
|
|
315
|
+
/** The second dual component of this dual quaternion. */
|
|
316
|
+
5: number;
|
|
317
|
+
/** The third dual component of this dual quaternion. */
|
|
318
|
+
6: number;
|
|
319
|
+
/** The fourth dual component of this dual quaternion. */
|
|
320
|
+
7: number;
|
|
321
|
+
/** Get the magnitude (length) of this dual quaternion. */
|
|
322
|
+
get magnitude(): number;
|
|
323
|
+
/** Get the squared magnitude (length) of this dual quaternion. */
|
|
324
|
+
get squaredMagnitude(): number;
|
|
305
325
|
/**
|
|
306
|
-
* Create
|
|
307
|
-
* @
|
|
308
|
-
* @param y1 - The second real component.
|
|
309
|
-
* @param z1 - The third real component.
|
|
310
|
-
* @param w1 - The fourth real component.
|
|
311
|
-
* @param x2 - The first dual component.
|
|
312
|
-
* @param y2 - The second dual component.
|
|
313
|
-
* @param z2 - The third dual component.
|
|
314
|
-
* @param w2 - The fourth dual component.
|
|
315
|
-
* @returns A new dual quaternion.
|
|
326
|
+
* Create an identity dual quaternion.
|
|
327
|
+
* @see {@link https://en.wikipedia.org/wiki/Dual_quaternion | Dual quaternion}
|
|
316
328
|
*/
|
|
317
|
-
|
|
329
|
+
constructor();
|
|
318
330
|
/**
|
|
319
|
-
* Create a dual quaternion from the given
|
|
320
|
-
* @param
|
|
321
|
-
* @param t - The translation vector.
|
|
331
|
+
* Create a dual quaternion from the given four-by-four matrix.
|
|
332
|
+
* @param matrix - The matrix.
|
|
322
333
|
* @returns The dual quaternion.
|
|
323
334
|
*/
|
|
324
|
-
static
|
|
335
|
+
static fromMatrix4(matrix: Readonly<Matrix4Like>): DualQuaternion;
|
|
325
336
|
/**
|
|
326
|
-
* Create a dual quaternion from the given
|
|
327
|
-
* @param
|
|
337
|
+
* Create a dual quaternion from the given rotation.
|
|
338
|
+
* @param q - The rotation quaternion.
|
|
328
339
|
* @returns The dual quaternion.
|
|
329
340
|
*/
|
|
330
|
-
static
|
|
341
|
+
static fromRotation(q: Readonly<QuaternionLike>): DualQuaternion;
|
|
331
342
|
/**
|
|
332
|
-
* Create a dual quaternion from the given rotation.
|
|
343
|
+
* Create a dual quaternion from the given rotation and translation.
|
|
333
344
|
* @param q - The rotation quaternion.
|
|
345
|
+
* @param t - The translation vector.
|
|
334
346
|
* @returns The dual quaternion.
|
|
335
347
|
*/
|
|
336
|
-
static
|
|
348
|
+
static fromRotationTranslation(q: Readonly<QuaternionLike>, t: Readonly<Vector3Like>): DualQuaternion;
|
|
337
349
|
/**
|
|
338
|
-
* Create a dual quaternion from the given
|
|
339
|
-
* @param
|
|
350
|
+
* Create a dual quaternion from the given translation.
|
|
351
|
+
* @param t - The translation vector.
|
|
340
352
|
* @returns The dual quaternion.
|
|
341
353
|
*/
|
|
342
|
-
static
|
|
354
|
+
static fromTranslation(t: Readonly<Vector3Like>): DualQuaternion;
|
|
343
355
|
/**
|
|
344
|
-
* Create
|
|
345
|
-
* @
|
|
356
|
+
* Create a dual quaternion with the given values.
|
|
357
|
+
* @param x1 - The first real component.
|
|
358
|
+
* @param y1 - The second real component.
|
|
359
|
+
* @param z1 - The third real component.
|
|
360
|
+
* @param w1 - The fourth real component.
|
|
361
|
+
* @param x2 - The first dual component.
|
|
362
|
+
* @param y2 - The second dual component.
|
|
363
|
+
* @param z2 - The third dual component.
|
|
364
|
+
* @param w2 - The fourth dual component.
|
|
365
|
+
* @returns A new dual quaternion.
|
|
346
366
|
*/
|
|
347
|
-
|
|
348
|
-
/** The first real component of this dual quaternion. */
|
|
349
|
-
0: number;
|
|
350
|
-
/** The second real component of this dual quaternion. */
|
|
351
|
-
1: number;
|
|
352
|
-
/** The third real component of this dual quaternion. */
|
|
353
|
-
2: number;
|
|
354
|
-
/** The fourth real component of this dual quaternion. */
|
|
355
|
-
3: number;
|
|
356
|
-
/** The first dual component of this dual quaternion. */
|
|
357
|
-
4: number;
|
|
358
|
-
/** The second dual component of this dual quaternion. */
|
|
359
|
-
5: number;
|
|
360
|
-
/** The third dual component of this dual quaternion. */
|
|
361
|
-
6: number;
|
|
362
|
-
/** The fourth dual component of this dual quaternion. */
|
|
363
|
-
7: number;
|
|
367
|
+
static fromValues(x1: number, y1: number, z1: number, w1: number, x2: number, y2: number, z2: number, w2: number): DualQuaternion;
|
|
364
368
|
/**
|
|
365
|
-
*
|
|
366
|
-
* @param
|
|
367
|
-
* @returns
|
|
369
|
+
* Add another dual quaternion to this one.
|
|
370
|
+
* @param dq - The other dual quaternion.
|
|
371
|
+
* @returns The sum.
|
|
368
372
|
*/
|
|
369
|
-
|
|
373
|
+
add(dq: Readonly<DualQuaternionLike>): DualQuaternion;
|
|
370
374
|
/**
|
|
371
375
|
* Copy the values from this dual quaternion to another one.
|
|
372
376
|
* @returns The copy.
|
|
373
377
|
*/
|
|
374
378
|
clone(): DualQuaternion;
|
|
375
379
|
/**
|
|
376
|
-
*
|
|
377
|
-
* @returns The
|
|
380
|
+
* Calculate the conjugate of this dual quaternion. If this dual quaternion is normalized, this is equivalent to its inverse and faster to calculate.
|
|
381
|
+
* @returns The conjugate.
|
|
378
382
|
*/
|
|
379
|
-
|
|
383
|
+
conjugate(): DualQuaternion;
|
|
380
384
|
/**
|
|
381
|
-
*
|
|
382
|
-
* @
|
|
385
|
+
* Copy the values from another dual quaternion to this one.
|
|
386
|
+
* @param dualQuaternion - The dual quaternion to copy.
|
|
387
|
+
* @returns This dual quaternion.
|
|
383
388
|
*/
|
|
384
|
-
|
|
389
|
+
copy(dualQuaternion: Readonly<DualQuaternionLike>): this;
|
|
385
390
|
/**
|
|
386
|
-
*
|
|
387
|
-
* @param
|
|
391
|
+
* Calculate the dot product of this and another dual quaternion.
|
|
392
|
+
* @param dq - The other dual quaternion.
|
|
393
|
+
* @returns The dot product.
|
|
394
|
+
* @see {@link https://en.wikipedia.org/wiki/Dot_product | Dot product}
|
|
395
|
+
*/
|
|
396
|
+
dot(dq: Readonly<DualQuaternionLike>): number;
|
|
397
|
+
/**
|
|
398
|
+
* Determine whether or not this dual quaternion is roughly equivalent to another.
|
|
399
|
+
* @param dq - The other dual quaternion.
|
|
400
|
+
* @returns Whether or not the dual quaternions are equivalent.
|
|
401
|
+
*/
|
|
402
|
+
equals(dq: Readonly<DualQuaternionLike>): boolean;
|
|
403
|
+
/**
|
|
404
|
+
* Determine whether or not this dual quaternion is exactly equivalent to another.
|
|
405
|
+
* @param dq - The other dual quaternion.
|
|
406
|
+
* @returns Whether or not the dual quaternions are equivalent.
|
|
388
407
|
*/
|
|
389
|
-
|
|
408
|
+
exactEquals(dq: Readonly<DualQuaternionLike>): boolean;
|
|
390
409
|
/**
|
|
391
410
|
* Get the dual part of this dual quaternion.
|
|
392
411
|
* @returns The dual part.
|
|
393
412
|
*/
|
|
394
413
|
getDual(): Quaternion;
|
|
395
414
|
/**
|
|
396
|
-
*
|
|
397
|
-
* @
|
|
415
|
+
* Get the real part of this dual quaternion.
|
|
416
|
+
* @returns The real part.
|
|
398
417
|
*/
|
|
399
|
-
|
|
418
|
+
getReal(): Quaternion;
|
|
400
419
|
/**
|
|
401
420
|
* Get the translation of this normalized dual quaternion.
|
|
402
421
|
* @returns The translation.
|
|
403
422
|
*/
|
|
404
423
|
getTranslation(): Vector3;
|
|
405
424
|
/**
|
|
406
|
-
*
|
|
407
|
-
* @
|
|
408
|
-
* @returns The translated dual quaternion.
|
|
425
|
+
* Set this dual quaternion to the identity dual quaternion.
|
|
426
|
+
* @returns The identity dual quaternion.
|
|
409
427
|
*/
|
|
410
|
-
|
|
428
|
+
identity(): this;
|
|
411
429
|
/**
|
|
412
|
-
*
|
|
413
|
-
* @
|
|
414
|
-
* @returns The rotated dual quaternion.
|
|
430
|
+
* Calculate the inverse of this dual quaternion. If this dual quaternion is normalized, the conjugate is equivalent and faster to calculate.
|
|
431
|
+
* @returns The inverse.
|
|
415
432
|
*/
|
|
416
|
-
|
|
433
|
+
invert(): DualQuaternion;
|
|
417
434
|
/**
|
|
418
|
-
*
|
|
419
|
-
* @param
|
|
420
|
-
* @
|
|
435
|
+
* Perform a linear interpolation between this and another dual quaternion.
|
|
436
|
+
* @param dq - The other dual quaternion.
|
|
437
|
+
* @param t - The interpolation amount in `[0,1]`.
|
|
438
|
+
* @returns The interpolated value.
|
|
421
439
|
*/
|
|
422
|
-
|
|
440
|
+
lerp(dq: Readonly<DualQuaternionLike>, t: number): DualQuaternion;
|
|
423
441
|
/**
|
|
424
|
-
*
|
|
425
|
-
* @param
|
|
426
|
-
* @returns The
|
|
442
|
+
* Multiply this dual quaternion by another one.
|
|
443
|
+
* @param dq - The other dual quaternion.
|
|
444
|
+
* @returns The product.
|
|
427
445
|
*/
|
|
428
|
-
|
|
446
|
+
multiply(dq: Readonly<DualQuaternionLike>): DualQuaternion;
|
|
447
|
+
/**
|
|
448
|
+
* Normalize this dual quaternion.
|
|
449
|
+
* @returns The normalized dual quaternion.
|
|
450
|
+
*/
|
|
451
|
+
normalize(): DualQuaternion;
|
|
452
|
+
/**
|
|
453
|
+
* Rotate this dual quaternion around an axis.
|
|
454
|
+
* @param axis - The axis.
|
|
455
|
+
* @param r - The angle of the rotation in radians.
|
|
456
|
+
* @returns A normalized dual quaternion.
|
|
457
|
+
*/
|
|
458
|
+
rotateAroundAxis(axis: Readonly<Vector3Like>, r: number): DualQuaternion;
|
|
429
459
|
/**
|
|
430
460
|
* Rotate this dual quaternion by a quaternion (using the quaternion as the multiplicand).
|
|
431
461
|
* @param q - The quaternion.
|
|
432
462
|
* @returns The rotated dual quaternion.
|
|
433
463
|
* @see {@link https://en.wikipedia.org/wiki/Quaternion | Quaternion}
|
|
434
464
|
*/
|
|
435
|
-
rotateByQuaternionAppend(q: QuaternionLike): DualQuaternion;
|
|
465
|
+
rotateByQuaternionAppend(q: Readonly<QuaternionLike>): DualQuaternion;
|
|
436
466
|
/**
|
|
437
467
|
* Rotate this dual quaternion by a quaternion (using the quaternion as the multiplier).
|
|
438
468
|
* @param q - The quaternion.
|
|
439
469
|
* @returns The rotated dual quaternion.
|
|
440
470
|
* @see {@link https://en.wikipedia.org/wiki/Quaternion | Quaternion}
|
|
441
471
|
*/
|
|
442
|
-
rotateByQuaternionPrepend(q: QuaternionLike): DualQuaternion;
|
|
472
|
+
rotateByQuaternionPrepend(q: Readonly<QuaternionLike>): DualQuaternion;
|
|
443
473
|
/**
|
|
444
|
-
* Rotate this dual quaternion around
|
|
445
|
-
* @param
|
|
446
|
-
* @
|
|
447
|
-
* @returns A normalized dual quaternion.
|
|
474
|
+
* Rotate this dual quaternion around the X-axis.
|
|
475
|
+
* @param r - The angle to rotate by in radians.
|
|
476
|
+
* @returns The rotated dual quaternion.
|
|
448
477
|
*/
|
|
449
|
-
|
|
478
|
+
rotateX(r: number): DualQuaternion;
|
|
450
479
|
/**
|
|
451
|
-
*
|
|
452
|
-
* @param
|
|
453
|
-
* @returns The
|
|
480
|
+
* Rotate this dual quaternion around the Y-axis.
|
|
481
|
+
* @param r - The angle to rotate by in radians.
|
|
482
|
+
* @returns The rotated dual quaternion.
|
|
454
483
|
*/
|
|
455
|
-
|
|
484
|
+
rotateY(r: number): DualQuaternion;
|
|
456
485
|
/**
|
|
457
|
-
*
|
|
458
|
-
* @param
|
|
459
|
-
* @returns The
|
|
486
|
+
* Rotate this dual quaternion around the Z-axis.
|
|
487
|
+
* @param r - The angle to rotate by in radians.
|
|
488
|
+
* @returns The rotated dual quaternion.
|
|
460
489
|
*/
|
|
461
|
-
|
|
490
|
+
rotateZ(r: number): DualQuaternion;
|
|
462
491
|
/**
|
|
463
492
|
* Multiply this dual quaternion by a scalar.
|
|
464
493
|
* @param s - The scalar.
|
|
@@ -466,49 +495,20 @@ export default class DualQuaternion extends Float32Array implements DualQuaterni
|
|
|
466
495
|
*/
|
|
467
496
|
scale(s: number): DualQuaternion;
|
|
468
497
|
/**
|
|
469
|
-
*
|
|
470
|
-
* @param
|
|
471
|
-
* @returns The dot product.
|
|
472
|
-
* @see {@link https://en.wikipedia.org/wiki/Dot_product | Dot product}
|
|
473
|
-
*/
|
|
474
|
-
dot(dq: DualQuaternionLike): number;
|
|
475
|
-
/**
|
|
476
|
-
* Perform a linear interpolation between this and another dual quaternion.
|
|
477
|
-
* @param dq - The other dual quaternion.
|
|
478
|
-
* @param t - The interpolation amount in `[0,1]`.
|
|
479
|
-
* @returns The interpolated value.
|
|
480
|
-
*/
|
|
481
|
-
lerp(dq: DualQuaternionLike, t: number): DualQuaternion;
|
|
482
|
-
/**
|
|
483
|
-
* Calculate the inverse of this dual quaternion. If this dual quaternion is normalized, the conjugate is equivalent and faster to calculate.
|
|
484
|
-
* @returns The inverse.
|
|
485
|
-
*/
|
|
486
|
-
invert(): DualQuaternion;
|
|
487
|
-
/**
|
|
488
|
-
* Calculate the conjugate of this dual quaternion. If this dual quaternion is normalized, this is equivalent to its inverse and faster to calculate.
|
|
489
|
-
* @returns The conjugate.
|
|
490
|
-
*/
|
|
491
|
-
conjugate(): DualQuaternion;
|
|
492
|
-
/** Get the magnitude (length) of this dual quaternion. */
|
|
493
|
-
get magnitude(): number;
|
|
494
|
-
/** Get the squared magnitude (length) of this dual quaternion. */
|
|
495
|
-
get squaredMagnitude(): number;
|
|
496
|
-
/**
|
|
497
|
-
* Normalize this dual quaternion.
|
|
498
|
-
* @returns The normalized dual quaternion.
|
|
498
|
+
* Set the real part of this dual quaternion.
|
|
499
|
+
* @param q - The quaternion.
|
|
499
500
|
*/
|
|
500
|
-
|
|
501
|
+
setDual(q: Readonly<QuaternionLike>): void;
|
|
501
502
|
/**
|
|
502
|
-
*
|
|
503
|
-
* @param
|
|
504
|
-
* @returns Whether or not the dual quaternions are equivalent.
|
|
503
|
+
* Set the real part of this dual quaternion.
|
|
504
|
+
* @param q - The quaternion.
|
|
505
505
|
*/
|
|
506
|
-
|
|
506
|
+
setReal(q: Readonly<QuaternionLike>): void;
|
|
507
507
|
/**
|
|
508
|
-
*
|
|
509
|
-
* @param
|
|
510
|
-
* @returns
|
|
508
|
+
* Translate this dual quaternion by the given vector.
|
|
509
|
+
* @param v - The vector.
|
|
510
|
+
* @returns The translated dual quaternion.
|
|
511
511
|
*/
|
|
512
|
-
|
|
512
|
+
translate(v: Readonly<Vector3Like>): DualQuaternion;
|
|
513
513
|
}
|
|
514
514
|
//# sourceMappingURL=DualQuaternion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualQuaternion.d.ts","sourceRoot":"","sources":["../../src/linalg/DualQuaternion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DualQuaternion.d.ts","sourceRoot":"","sources":["../../src/linalg/DualQuaternion.ts"],"names":[],"mappings":"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"}
|