@pawells/math-extended 1.1.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/angles.d.ts +28 -18
- package/build/angles.d.ts.map +1 -1
- package/build/angles.js +28 -18
- package/build/angles.js.map +1 -1
- package/build/clamp.d.ts +5 -3
- package/build/clamp.d.ts.map +1 -1
- package/build/clamp.js +5 -3
- package/build/clamp.js.map +1 -1
- package/build/interpolation.d.ts +158 -96
- package/build/interpolation.d.ts.map +1 -1
- package/build/interpolation.js +158 -96
- package/build/interpolation.js.map +1 -1
- package/build/matrices/_exports.d.ts +13 -0
- package/build/matrices/_exports.d.ts.map +1 -0
- package/build/matrices/_exports.js +13 -0
- package/build/matrices/_exports.js.map +1 -0
- package/build/matrices/arithmetic.d.ts +170 -181
- package/build/matrices/arithmetic.d.ts.map +1 -1
- package/build/matrices/arithmetic.js +192 -202
- package/build/matrices/arithmetic.js.map +1 -1
- package/build/matrices/asserts.d.ts +240 -109
- package/build/matrices/asserts.d.ts.map +1 -1
- package/build/matrices/asserts.js +287 -87
- package/build/matrices/asserts.js.map +1 -1
- package/build/matrices/core.d.ts +29 -29
- package/build/matrices/core.js +1 -1
- package/build/matrices/decompositions.d.ts +102 -104
- package/build/matrices/decompositions.d.ts.map +1 -1
- package/build/matrices/decompositions.js +87 -89
- package/build/matrices/decompositions.js.map +1 -1
- package/build/matrices/index.d.ts +3 -2
- package/build/matrices/index.d.ts.map +1 -1
- package/build/matrices/index.js +5 -2
- package/build/matrices/index.js.map +1 -1
- package/build/matrices/linear-algebra.d.ts +12 -12
- package/build/matrices/linear-algebra.js +4 -4
- package/build/matrices/normalization.d.ts +8 -8
- package/build/matrices/transformations.d.ts +184 -165
- package/build/matrices/transformations.d.ts.map +1 -1
- package/build/matrices/transformations.js +99 -80
- package/build/matrices/transformations.js.map +1 -1
- package/build/matrices/types.d.ts +12 -12
- package/build/matrices/types.d.ts.map +1 -1
- package/build/quaternions/_exports.d.ts +11 -0
- package/build/quaternions/_exports.d.ts.map +1 -0
- package/build/quaternions/_exports.js +11 -0
- package/build/quaternions/_exports.js.map +1 -0
- package/build/quaternions/asserts.d.ts +115 -7
- package/build/quaternions/asserts.d.ts.map +1 -1
- package/build/quaternions/asserts.js +162 -8
- package/build/quaternions/asserts.js.map +1 -1
- package/build/quaternions/conversions.d.ts +31 -21
- package/build/quaternions/conversions.d.ts.map +1 -1
- package/build/quaternions/conversions.js +28 -18
- package/build/quaternions/conversions.js.map +1 -1
- package/build/quaternions/core.d.ts +67 -39
- package/build/quaternions/core.d.ts.map +1 -1
- package/build/quaternions/core.js +67 -39
- package/build/quaternions/core.js.map +1 -1
- package/build/quaternions/index.d.ts +3 -2
- package/build/quaternions/index.d.ts.map +1 -1
- package/build/quaternions/index.js +5 -2
- package/build/quaternions/index.js.map +1 -1
- package/build/quaternions/interpolation.d.ts +15 -9
- package/build/quaternions/interpolation.d.ts.map +1 -1
- package/build/quaternions/interpolation.js +15 -9
- package/build/quaternions/interpolation.js.map +1 -1
- package/build/quaternions/predefined.d.ts +9 -3
- package/build/quaternions/predefined.d.ts.map +1 -1
- package/build/quaternions/predefined.js +9 -3
- package/build/quaternions/predefined.js.map +1 -1
- package/build/quaternions/types.d.ts +3 -3
- package/build/vectors/_exports.d.ts +10 -0
- package/build/vectors/_exports.d.ts.map +1 -0
- package/build/vectors/_exports.js +10 -0
- package/build/vectors/_exports.js.map +1 -0
- package/build/vectors/asserts.d.ts +153 -49
- package/build/vectors/asserts.d.ts.map +1 -1
- package/build/vectors/asserts.js +202 -52
- package/build/vectors/asserts.js.map +1 -1
- package/build/vectors/core.d.ts +216 -137
- package/build/vectors/core.d.ts.map +1 -1
- package/build/vectors/core.js +212 -149
- package/build/vectors/core.js.map +1 -1
- package/build/vectors/index.d.ts +1 -0
- package/build/vectors/index.d.ts.map +1 -1
- package/build/vectors/index.js +3 -0
- package/build/vectors/index.js.map +1 -1
- package/build/vectors/interpolation.d.ts +39 -27
- package/build/vectors/interpolation.d.ts.map +1 -1
- package/build/vectors/interpolation.js +39 -27
- package/build/vectors/interpolation.js.map +1 -1
- package/build/vectors/predefined.d.ts +48 -24
- package/build/vectors/predefined.d.ts.map +1 -1
- package/build/vectors/predefined.js +38 -18
- package/build/vectors/predefined.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/quaternions/core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMnE
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/quaternions/core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMnE;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,CAEhD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,CAGpE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,GAAE,MAAa,EAAE,gBAAgB,GAAE,OAAe,GAAG,OAAO,CAcrI;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,WAAW,GAAG,MAAM,CAGnE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,CAGxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,CAKxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,CAiBtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW,CAa9E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAYlF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,UAAU,GAAG,WAAW,CAKhF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,WAAW,GAAG,UAAU,CA4BzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,CAiBpE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,WAAW,GAAG,YAAY,CAoBvE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAsB1F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAwCtF"}
|
|
@@ -14,8 +14,10 @@ const SLERP_DOT_THRESHOLD = 0.9995;
|
|
|
14
14
|
* @returns Identity quaternion [0, 0, 0, 1]
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const identity = QuaternionIdentity();
|
|
19
|
+
* console.log(identity); // [0, 0, 0, 1]
|
|
20
|
+
* ```
|
|
19
21
|
*/
|
|
20
22
|
export function QuaternionIdentity() {
|
|
21
23
|
return [0, 0, 0, 1];
|
|
@@ -28,9 +30,11 @@ export function QuaternionIdentity() {
|
|
|
28
30
|
* @returns A new quaternion with identical components
|
|
29
31
|
*
|
|
30
32
|
* @example
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const original = [0, 0, 0.707, 0.707];
|
|
35
|
+
* const copy = QuaternionClone(original);
|
|
36
|
+
* copy[0] = 1; // original remains unchanged
|
|
37
|
+
* ```
|
|
34
38
|
*/
|
|
35
39
|
export function QuaternionClone(quaternion) {
|
|
36
40
|
AssertQuaternion(quaternion);
|
|
@@ -48,10 +52,12 @@ export function QuaternionClone(quaternion) {
|
|
|
48
52
|
* @returns True if quaternions are equal within tolerance
|
|
49
53
|
*
|
|
50
54
|
* @example
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const q1 = [0, 0, 0, 1];
|
|
57
|
+
* const q2 = [0, 0, 0, -1];
|
|
58
|
+
* console.log(QuaternionEquals(q1, q2)); // false (different components)
|
|
59
|
+
* console.log(QuaternionEquals(q1, q2, 1e-6, true)); // true (same rotation)
|
|
60
|
+
* ```
|
|
55
61
|
*/
|
|
56
62
|
export function QuaternionEquals(a, b, tolerance = 1e-6, checkEquivalence = false) {
|
|
57
63
|
AssertQuaternion(a);
|
|
@@ -73,8 +79,10 @@ export function QuaternionEquals(a, b, tolerance = 1e-6, checkEquivalence = fals
|
|
|
73
79
|
* @returns The magnitude of the quaternion
|
|
74
80
|
*
|
|
75
81
|
* @example
|
|
76
|
-
|
|
77
|
-
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const q = [0, 0, 0, 1];
|
|
84
|
+
* console.log(QuaternionMagnitude(q)); // 1
|
|
85
|
+
* ```
|
|
78
86
|
*/
|
|
79
87
|
export function QuaternionMagnitude(quaternion) {
|
|
80
88
|
AssertQuaternion(quaternion);
|
|
@@ -88,9 +96,11 @@ export function QuaternionMagnitude(quaternion) {
|
|
|
88
96
|
* @returns A normalized quaternion with magnitude 1
|
|
89
97
|
*
|
|
90
98
|
* @example
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const q = [1, 1, 1, 1];
|
|
101
|
+
* const normalized = QuaternionNormalize(q);
|
|
102
|
+
* console.log(QuaternionMagnitude(normalized)); // 1
|
|
103
|
+
* ```
|
|
94
104
|
*/
|
|
95
105
|
export function QuaternionNormalize(quaternion) {
|
|
96
106
|
AssertQuaternion(quaternion);
|
|
@@ -105,9 +115,11 @@ export function QuaternionNormalize(quaternion) {
|
|
|
105
115
|
* @returns The conjugate quaternion
|
|
106
116
|
*
|
|
107
117
|
* @example
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
118
|
+
* ```typescript
|
|
119
|
+
* const q = [0.5, 0.5, 0.5, 0.5];
|
|
120
|
+
* const conjugate = QuaternionConjugate(q);
|
|
121
|
+
* console.log(conjugate); // [-0.5, -0.5, -0.5, 0.5]
|
|
122
|
+
* ```
|
|
111
123
|
*/
|
|
112
124
|
export function QuaternionConjugate(quaternion) {
|
|
113
125
|
AssertQuaternion(quaternion);
|
|
@@ -123,8 +135,10 @@ export function QuaternionConjugate(quaternion) {
|
|
|
123
135
|
* @returns The inverse quaternion
|
|
124
136
|
*
|
|
125
137
|
* @example
|
|
126
|
-
|
|
127
|
-
|
|
138
|
+
* ```typescript
|
|
139
|
+
* const q = [0, 0, 0.707, 0.707]; // 90° rotation around Z
|
|
140
|
+
* const inverse = QuaternionInverse(q); // -90° rotation around Z
|
|
141
|
+
* ```
|
|
128
142
|
*/
|
|
129
143
|
export function QuaternionInverse(quaternion) {
|
|
130
144
|
AssertQuaternion(quaternion);
|
|
@@ -151,9 +165,11 @@ export function QuaternionInverse(quaternion) {
|
|
|
151
165
|
* @returns The product quaternion representing the combined rotation
|
|
152
166
|
*
|
|
153
167
|
* @example
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
168
|
+
* ```typescript
|
|
169
|
+
* const rotX = QuaternionFromAxisAngle([1, 0, 0], Math.PI/2); // 90° around X
|
|
170
|
+
* const rotY = QuaternionFromAxisAngle([0, 1, 0], Math.PI/2); // 90° around Y
|
|
171
|
+
* const combined = QuaternionMultiply(rotX, rotY); // Y rotation then X rotation
|
|
172
|
+
* ```
|
|
157
173
|
*/
|
|
158
174
|
export function QuaternionMultiply(a, b) {
|
|
159
175
|
AssertQuaternion(a);
|
|
@@ -176,9 +192,11 @@ export function QuaternionMultiply(a, b) {
|
|
|
176
192
|
* @returns A quaternion representing the rotation
|
|
177
193
|
*
|
|
178
194
|
* @example
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
195
|
+
* ```typescript
|
|
196
|
+
* const axis = [0, 1, 0]; // Y-axis
|
|
197
|
+
* const angle = Math.PI / 2; // 90 degrees
|
|
198
|
+
* const q = QuaternionFromAxisAngle(axis, angle);
|
|
199
|
+
* ```
|
|
182
200
|
*/
|
|
183
201
|
export function QuaternionFromAxisAngle(axis, angle) {
|
|
184
202
|
const normalizedAxis = VectorNormalize(axis);
|
|
@@ -214,9 +232,11 @@ export function QuaternionFromAxisAngleVector(axisAngle) {
|
|
|
214
232
|
* @throws {Error} If the quaternion is not normalized
|
|
215
233
|
*
|
|
216
234
|
* @example
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
235
|
+
* ```typescript
|
|
236
|
+
* const q = [0, 0.707, 0, 0.707]; // 90° around Y-axis
|
|
237
|
+
* const axisAngle = QuaternionToAxisAngle(q);
|
|
238
|
+
* console.log(axisAngle); // [0, 1, 0, π/2]
|
|
239
|
+
* ```
|
|
220
240
|
*/
|
|
221
241
|
export function QuaternionToAxisAngle(quaternion) {
|
|
222
242
|
AssertNormalizedQuaternion(quaternion);
|
|
@@ -249,8 +269,10 @@ export function QuaternionToAxisAngle(quaternion) {
|
|
|
249
269
|
* @returns A quaternion representing the rotation
|
|
250
270
|
*
|
|
251
271
|
* @example
|
|
252
|
-
|
|
253
|
-
|
|
272
|
+
* ```typescript
|
|
273
|
+
* const euler = [0, Math.PI/4, 0]; // 45° pitch
|
|
274
|
+
* const q = QuaternionFromEuler(euler);
|
|
275
|
+
* ```
|
|
254
276
|
*/
|
|
255
277
|
export function QuaternionFromEuler(euler) {
|
|
256
278
|
AssertEulerAngles(euler);
|
|
@@ -276,9 +298,11 @@ export function QuaternionFromEuler(euler) {
|
|
|
276
298
|
* @returns Euler angles as [x, y, z] in radians
|
|
277
299
|
*
|
|
278
300
|
* @example
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
301
|
+
* ```typescript
|
|
302
|
+
* const q = [0, 0.383, 0, 0.924]; // ~45° around Y-axis
|
|
303
|
+
* const euler = QuaternionToEuler(q);
|
|
304
|
+
* console.log(euler); // [0, π/4, 0]
|
|
305
|
+
* ```
|
|
282
306
|
*/
|
|
283
307
|
export function QuaternionToEuler(quaternion) {
|
|
284
308
|
AssertNormalizedQuaternion(quaternion);
|
|
@@ -305,9 +329,11 @@ export function QuaternionToEuler(quaternion) {
|
|
|
305
329
|
* @returns The rotated vector
|
|
306
330
|
*
|
|
307
331
|
* @example
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
332
|
+
* ```typescript
|
|
333
|
+
* const q = QuaternionFromAxisAngle([0, 0, 1], Math.PI/2); // 90° around Z
|
|
334
|
+
* const v = [1, 0, 0]; // Point along X-axis
|
|
335
|
+
* const rotated = QuaternionRotateVector(q, v); // Should point along Y-axis
|
|
336
|
+
* ```
|
|
311
337
|
*/
|
|
312
338
|
export function QuaternionRotateVector(quaternion, vector) {
|
|
313
339
|
AssertNormalizedQuaternion(quaternion);
|
|
@@ -339,9 +365,11 @@ export function QuaternionRotateVector(quaternion, vector) {
|
|
|
339
365
|
* @returns Interpolated quaternion
|
|
340
366
|
*
|
|
341
367
|
* @example
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
368
|
+
* ```typescript
|
|
369
|
+
* const q1 = QuaternionIdentity();
|
|
370
|
+
* const q2 = QuaternionFromAxisAngle([0, 1, 0], Math.PI/2);
|
|
371
|
+
* const halfway = QuaternionSLERP(q1, q2, 0.5); // 45° rotation
|
|
372
|
+
* ```
|
|
345
373
|
*/
|
|
346
374
|
export function QuaternionSLERP(a, b, t) {
|
|
347
375
|
AssertNormalizedQuaternion(a);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/quaternions/core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1H,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGhH,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAC7C,MAAM,0BAA0B,GAAG,IAAI,CAAC;AACxC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/quaternions/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
export * from './types.js';
|
|
2
|
+
export * from './core.js';
|
|
1
3
|
export * from './asserts.js';
|
|
2
4
|
export * from './conversions.js';
|
|
3
|
-
export * from './core.js';
|
|
4
5
|
export * from './interpolation.js';
|
|
5
6
|
export * from './predefined.js';
|
|
6
|
-
export * from './
|
|
7
|
+
export * as QuaternionNamespace from './_exports.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/quaternions/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/quaternions/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,KAAK,mBAAmB,MAAM,eAAe,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
// Named re-exports for direct access
|
|
2
|
+
export * from './types.js';
|
|
3
|
+
export * from './core.js';
|
|
1
4
|
export * from './asserts.js';
|
|
2
5
|
export * from './conversions.js';
|
|
3
|
-
export * from './core.js';
|
|
4
6
|
export * from './interpolation.js';
|
|
5
7
|
export * from './predefined.js';
|
|
6
|
-
|
|
8
|
+
// Namespace re-exports for grouped access
|
|
9
|
+
export * as QuaternionNamespace from './_exports.js';
|
|
7
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/quaternions/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/quaternions/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAEhC,0CAA0C;AAC1C,OAAO,KAAK,mBAAmB,MAAM,eAAe,CAAC"}
|
|
@@ -14,9 +14,11 @@ import { TQuaternion } from './types.js';
|
|
|
14
14
|
* @returns Interpolated and normalized quaternion
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const q1 = [0, 0, 0, 1];
|
|
19
|
+
* const q2 = [0, 0, 0.707, 0.707];
|
|
20
|
+
* const interpolated = QuaternionNLERP(q1, q2, 0.5);
|
|
21
|
+
* ```
|
|
20
22
|
*/
|
|
21
23
|
export declare function QuaternionNLERP(a: TQuaternion, b: TQuaternion, t: number): TQuaternion;
|
|
22
24
|
/**
|
|
@@ -31,9 +33,11 @@ export declare function QuaternionNLERP(a: TQuaternion, b: TQuaternion, t: numbe
|
|
|
31
33
|
* @returns Smoothly interpolated quaternion
|
|
32
34
|
*
|
|
33
35
|
* @example
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
* ```typescript
|
|
37
|
+
* // Create a smooth path through multiple rotations
|
|
38
|
+
* const path = [q0, q1, q2, q3]; // Array of quaternions
|
|
39
|
+
* const smooth = QuaternionSQUAD(path[0], path[1], path[2], path[3], 0.5);
|
|
40
|
+
* ```
|
|
37
41
|
*/
|
|
38
42
|
export declare function QuaternionSQUAD(q0: TQuaternion, q1: TQuaternion, q2: TQuaternion, q3: TQuaternion, t: number): TQuaternion;
|
|
39
43
|
/**
|
|
@@ -46,9 +50,11 @@ export declare function QuaternionSQUAD(q0: TQuaternion, q1: TQuaternion, q2: TQ
|
|
|
46
50
|
* @returns Function that takes t ∈ [0, 1] and returns interpolated quaternion
|
|
47
51
|
*
|
|
48
52
|
* @example
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const path = [q1, q2, q3, q4];
|
|
55
|
+
* const interpolator = QuaternionCreatePath(path, 'slerp');
|
|
56
|
+
* const halfway = interpolator(0.5); // Interpolated quaternion at 50% along path
|
|
57
|
+
* ```
|
|
52
58
|
*/
|
|
53
59
|
export declare function QuaternionCreatePath(quaternions: TQuaternion[], method?: 'slerp' | 'nlerp' | 'squad'): (t: number) => TQuaternion;
|
|
54
60
|
//# sourceMappingURL=interpolation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolation.d.ts","sourceRoot":"","sources":["../../src/quaternions/interpolation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC
|
|
1
|
+
{"version":3,"file":"interpolation.d.ts","sourceRoot":"","sources":["../../src/quaternions/interpolation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAoBtF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAiB1H;AAkFD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,WAAW,EAAE,EAC1B,MAAM,GAAE,OAAO,GAAG,OAAO,GAAG,OAAiB,GAC3C,CAAC,CAAC,EAAE,MAAM,KAAK,WAAW,CAkD5B"}
|
|
@@ -18,9 +18,11 @@ const QUATERNION_LOG_TOLERANCE = 1e-6;
|
|
|
18
18
|
* @returns Interpolated and normalized quaternion
|
|
19
19
|
*
|
|
20
20
|
* @example
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const q1 = [0, 0, 0, 1];
|
|
23
|
+
* const q2 = [0, 0, 0.707, 0.707];
|
|
24
|
+
* const interpolated = QuaternionNLERP(q1, q2, 0.5);
|
|
25
|
+
* ```
|
|
24
26
|
*/
|
|
25
27
|
export function QuaternionNLERP(a, b, t) {
|
|
26
28
|
AssertNormalizedQuaternion(a);
|
|
@@ -52,9 +54,11 @@ export function QuaternionNLERP(a, b, t) {
|
|
|
52
54
|
* @returns Smoothly interpolated quaternion
|
|
53
55
|
*
|
|
54
56
|
* @example
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
* ```typescript
|
|
58
|
+
* // Create a smooth path through multiple rotations
|
|
59
|
+
* const path = [q0, q1, q2, q3]; // Array of quaternions
|
|
60
|
+
* const smooth = QuaternionSQUAD(path[0], path[1], path[2], path[3], 0.5);
|
|
61
|
+
* ```
|
|
58
62
|
*/
|
|
59
63
|
export function QuaternionSQUAD(q0, q1, q2, q3, t) {
|
|
60
64
|
AssertNormalizedQuaternion(q0);
|
|
@@ -150,9 +154,11 @@ function quaternionExp(quaternion) {
|
|
|
150
154
|
* @returns Function that takes t ∈ [0, 1] and returns interpolated quaternion
|
|
151
155
|
*
|
|
152
156
|
* @example
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const path = [q1, q2, q3, q4];
|
|
159
|
+
* const interpolator = QuaternionCreatePath(path, 'slerp');
|
|
160
|
+
* const halfway = interpolator(0.5); // Interpolated quaternion at 50% along path
|
|
161
|
+
* ```
|
|
156
162
|
*/
|
|
157
163
|
export function QuaternionCreatePath(quaternions, method = 'slerp') {
|
|
158
164
|
AssertArray(quaternions, { minSize: 2 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolation.js","sourceRoot":"","sources":["../../src/quaternions/interpolation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACxG,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC
|
|
1
|
+
{"version":3,"file":"interpolation.js","sourceRoot":"","sources":["../../src/quaternions/interpolation.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,9 @@ import { TQuaternion } from './types.js';
|
|
|
10
10
|
* @returns Quaternion representing rotation around X-axis
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
|
-
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const q = QuaternionRotationX(Math.PI / 2); // 90° rotation around X-axis
|
|
15
|
+
* ```
|
|
14
16
|
*/
|
|
15
17
|
export declare function QuaternionRotationX(angle: number): TQuaternion;
|
|
16
18
|
/**
|
|
@@ -20,7 +22,9 @@ export declare function QuaternionRotationX(angle: number): TQuaternion;
|
|
|
20
22
|
* @returns Quaternion representing rotation around Y-axis
|
|
21
23
|
*
|
|
22
24
|
* @example
|
|
23
|
-
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const q = QuaternionRotationY(Math.PI / 4); // 45° rotation around Y-axis
|
|
27
|
+
* ```
|
|
24
28
|
*/
|
|
25
29
|
export declare function QuaternionRotationY(angle: number): TQuaternion;
|
|
26
30
|
/**
|
|
@@ -30,7 +34,9 @@ export declare function QuaternionRotationY(angle: number): TQuaternion;
|
|
|
30
34
|
* @returns Quaternion representing rotation around Z-axis
|
|
31
35
|
*
|
|
32
36
|
* @example
|
|
33
|
-
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const q = QuaternionRotationZ(Math.PI); // 180° rotation around Z-axis
|
|
39
|
+
* ```
|
|
34
40
|
*/
|
|
35
41
|
export declare function QuaternionRotationZ(angle: number): TQuaternion;
|
|
36
42
|
//# sourceMappingURL=predefined.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predefined.d.ts","sourceRoot":"","sources":["../../src/quaternions/predefined.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC
|
|
1
|
+
{"version":3,"file":"predefined.d.ts","sourceRoot":"","sources":["../../src/quaternions/predefined.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE9D"}
|
|
@@ -10,7 +10,9 @@ import { QuaternionFromAxisAngle } from './core.js';
|
|
|
10
10
|
* @returns Quaternion representing rotation around X-axis
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
|
-
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const q = QuaternionRotationX(Math.PI / 2); // 90° rotation around X-axis
|
|
15
|
+
* ```
|
|
14
16
|
*/
|
|
15
17
|
export function QuaternionRotationX(angle) {
|
|
16
18
|
return QuaternionFromAxisAngle([1, 0, 0], angle);
|
|
@@ -22,7 +24,9 @@ export function QuaternionRotationX(angle) {
|
|
|
22
24
|
* @returns Quaternion representing rotation around Y-axis
|
|
23
25
|
*
|
|
24
26
|
* @example
|
|
25
|
-
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const q = QuaternionRotationY(Math.PI / 4); // 45° rotation around Y-axis
|
|
29
|
+
* ```
|
|
26
30
|
*/
|
|
27
31
|
export function QuaternionRotationY(angle) {
|
|
28
32
|
return QuaternionFromAxisAngle([0, 1, 0], angle);
|
|
@@ -34,7 +38,9 @@ export function QuaternionRotationY(angle) {
|
|
|
34
38
|
* @returns Quaternion representing rotation around Z-axis
|
|
35
39
|
*
|
|
36
40
|
* @example
|
|
37
|
-
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const q = QuaternionRotationZ(Math.PI); // 180° rotation around Z-axis
|
|
43
|
+
* ```
|
|
38
44
|
*/
|
|
39
45
|
export function QuaternionRotationZ(angle) {
|
|
40
46
|
return QuaternionFromAxisAngle([0, 0, 1], angle);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predefined.js","sourceRoot":"","sources":["../../src/quaternions/predefined.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"predefined.js","sourceRoot":"","sources":["../../src/quaternions/predefined.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAChD,OAAO,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAChD,OAAO,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAChD,OAAO,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* avoiding gimbal lock and providing smooth interpolation capabilities.
|
|
5
5
|
*/
|
|
6
6
|
import { TVector3, TVector4 } from '../vectors/types.js';
|
|
7
|
-
import {
|
|
7
|
+
import { TMatrix3 } from '../matrices/types.js';
|
|
8
8
|
/**
|
|
9
9
|
* Quaternion type representing a rotation in 3D space as [x, y, z, w].
|
|
10
10
|
* The first three components (x, y, z) represent the vector part (rotation axis scaled by sin(θ/2)),
|
|
@@ -37,7 +37,7 @@ export type TEulerAngles = TVector3;
|
|
|
37
37
|
export type TAxisAngle = TVector4;
|
|
38
38
|
/**
|
|
39
39
|
* Rotation matrix representation as a 3x3 matrix.
|
|
40
|
-
* Uses the standard
|
|
40
|
+
* Uses the standard TMatrix3 type for better integration with matrix operations.
|
|
41
41
|
*
|
|
42
42
|
* @example
|
|
43
43
|
* const identity: IRotationMatrix = [
|
|
@@ -46,7 +46,7 @@ export type TAxisAngle = TVector4;
|
|
|
46
46
|
* [0, 0, 1] // Third row
|
|
47
47
|
* ];
|
|
48
48
|
*/
|
|
49
|
-
export type TRotationMatrix =
|
|
49
|
+
export type TRotationMatrix = TMatrix3;
|
|
50
50
|
/**
|
|
51
51
|
* Union type representing any supported rotation representation.
|
|
52
52
|
* Useful for functions that can accept multiple rotation formats.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Namespace re-exports for vector utilities.
|
|
3
|
+
* Provides grouped access to vector operations through namespace aliases.
|
|
4
|
+
*/
|
|
5
|
+
export * as Types from './types.js';
|
|
6
|
+
export * as Core from './core.js';
|
|
7
|
+
export * as Asserts from './asserts.js';
|
|
8
|
+
export * as Interpolation from './interpolation.js';
|
|
9
|
+
export * as Predefined from './predefined.js';
|
|
10
|
+
//# sourceMappingURL=_exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_exports.d.ts","sourceRoot":"","sources":["../../src/vectors/_exports.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Namespace re-exports for vector utilities.
|
|
3
|
+
* Provides grouped access to vector operations through namespace aliases.
|
|
4
|
+
*/
|
|
5
|
+
export * as Types from './types.js';
|
|
6
|
+
export * as Core from './core.js';
|
|
7
|
+
export * as Asserts from './asserts.js';
|
|
8
|
+
export * as Interpolation from './interpolation.js';
|
|
9
|
+
export * as Predefined from './predefined.js';
|
|
10
|
+
//# sourceMappingURL=_exports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_exports.js","sourceRoot":"","sources":["../../src/vectors/_exports.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC"}
|