@pawells/math-extended 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +15 -21
  2. package/build/clamp.d.ts +5 -5
  3. package/build/clamp.js +5 -5
  4. package/build/core.d.ts +23 -0
  5. package/build/core.d.ts.map +1 -0
  6. package/build/core.js +25 -0
  7. package/build/core.js.map +1 -0
  8. package/build/index.d.ts +1 -4
  9. package/build/index.d.ts.map +1 -1
  10. package/build/index.js +1 -6
  11. package/build/index.js.map +1 -1
  12. package/build/interpolation.d.ts +158 -171
  13. package/build/interpolation.d.ts.map +1 -1
  14. package/build/interpolation.js +162 -181
  15. package/build/interpolation.js.map +1 -1
  16. package/build/matrices/arithmetic.d.ts +132 -132
  17. package/build/matrices/arithmetic.d.ts.map +1 -1
  18. package/build/matrices/arithmetic.js +194 -226
  19. package/build/matrices/arithmetic.js.map +1 -1
  20. package/build/matrices/asserts.d.ts +30 -408
  21. package/build/matrices/asserts.d.ts.map +1 -1
  22. package/build/matrices/asserts.js +98 -542
  23. package/build/matrices/asserts.js.map +1 -1
  24. package/build/matrices/core.d.ts +117 -46
  25. package/build/matrices/core.d.ts.map +1 -1
  26. package/build/matrices/core.js +127 -103
  27. package/build/matrices/core.js.map +1 -1
  28. package/build/matrices/decompositions.d.ts +95 -96
  29. package/build/matrices/decompositions.d.ts.map +1 -1
  30. package/build/matrices/decompositions.js +119 -160
  31. package/build/matrices/decompositions.js.map +1 -1
  32. package/build/matrices/index.d.ts +0 -1
  33. package/build/matrices/index.d.ts.map +1 -1
  34. package/build/matrices/index.js +0 -3
  35. package/build/matrices/index.js.map +1 -1
  36. package/build/matrices/linear-algebra.d.ts +45 -8
  37. package/build/matrices/linear-algebra.d.ts.map +1 -1
  38. package/build/matrices/linear-algebra.js +76 -32
  39. package/build/matrices/linear-algebra.js.map +1 -1
  40. package/build/matrices/normalization.d.ts +29 -8
  41. package/build/matrices/normalization.d.ts.map +1 -1
  42. package/build/matrices/normalization.js +32 -23
  43. package/build/matrices/normalization.js.map +1 -1
  44. package/build/matrices/transformations.d.ts +116 -148
  45. package/build/matrices/transformations.d.ts.map +1 -1
  46. package/build/matrices/transformations.js +69 -91
  47. package/build/matrices/transformations.js.map +1 -1
  48. package/build/matrices/types.d.ts +32 -60
  49. package/build/matrices/types.d.ts.map +1 -1
  50. package/build/matrices/types.js +63 -1
  51. package/build/matrices/types.js.map +1 -1
  52. package/build/quaternions/asserts.d.ts +29 -38
  53. package/build/quaternions/asserts.d.ts.map +1 -1
  54. package/build/quaternions/asserts.js +61 -77
  55. package/build/quaternions/asserts.js.map +1 -1
  56. package/build/quaternions/conversions.d.ts +26 -26
  57. package/build/quaternions/conversions.d.ts.map +1 -1
  58. package/build/quaternions/conversions.js +24 -24
  59. package/build/quaternions/core.d.ts +70 -69
  60. package/build/quaternions/core.d.ts.map +1 -1
  61. package/build/quaternions/core.js +71 -71
  62. package/build/quaternions/core.js.map +1 -1
  63. package/build/quaternions/index.d.ts +0 -1
  64. package/build/quaternions/index.d.ts.map +1 -1
  65. package/build/quaternions/index.js +0 -2
  66. package/build/quaternions/index.js.map +1 -1
  67. package/build/quaternions/interpolation.d.ts +16 -16
  68. package/build/quaternions/interpolation.d.ts.map +1 -1
  69. package/build/quaternions/interpolation.js +21 -21
  70. package/build/quaternions/interpolation.js.map +1 -1
  71. package/build/quaternions/predefined.d.ts +10 -10
  72. package/build/quaternions/predefined.d.ts.map +1 -1
  73. package/build/quaternions/predefined.js +9 -9
  74. package/build/quaternions/types.d.ts +23 -12
  75. package/build/quaternions/types.d.ts.map +1 -1
  76. package/build/quaternions/types.js +51 -1
  77. package/build/quaternions/types.js.map +1 -1
  78. package/build/random.d.ts +66 -20
  79. package/build/random.d.ts.map +1 -1
  80. package/build/random.js +73 -20
  81. package/build/random.js.map +1 -1
  82. package/build/vectors/asserts.d.ts +50 -220
  83. package/build/vectors/asserts.d.ts.map +1 -1
  84. package/build/vectors/asserts.js +141 -327
  85. package/build/vectors/asserts.js.map +1 -1
  86. package/build/vectors/core.d.ts +182 -229
  87. package/build/vectors/core.d.ts.map +1 -1
  88. package/build/vectors/core.js +234 -288
  89. package/build/vectors/core.js.map +1 -1
  90. package/build/vectors/index.d.ts +0 -1
  91. package/build/vectors/index.d.ts.map +1 -1
  92. package/build/vectors/index.js +0 -2
  93. package/build/vectors/index.js.map +1 -1
  94. package/build/vectors/interpolation.d.ts +40 -40
  95. package/build/vectors/interpolation.d.ts.map +1 -1
  96. package/build/vectors/interpolation.js +75 -86
  97. package/build/vectors/interpolation.js.map +1 -1
  98. package/build/vectors/predefined.d.ts +31 -7
  99. package/build/vectors/predefined.d.ts.map +1 -1
  100. package/build/vectors/predefined.js +30 -6
  101. package/build/vectors/predefined.js.map +1 -1
  102. package/build/vectors/types.d.ts +26 -4
  103. package/build/vectors/types.d.ts.map +1 -1
  104. package/build/vectors/types.js +50 -1
  105. package/build/vectors/types.js.map +1 -1
  106. package/package.json +3 -2
  107. package/build/matrices/_exports.d.ts +0 -13
  108. package/build/matrices/_exports.d.ts.map +0 -1
  109. package/build/matrices/_exports.js +0 -13
  110. package/build/matrices/_exports.js.map +0 -1
  111. package/build/quaternions/_exports.d.ts +0 -11
  112. package/build/quaternions/_exports.d.ts.map +0 -1
  113. package/build/quaternions/_exports.js +0 -11
  114. package/build/quaternions/_exports.js.map +0 -1
  115. package/build/vectors/_exports.d.ts +0 -10
  116. package/build/vectors/_exports.d.ts.map +0 -1
  117. package/build/vectors/_exports.js +0 -10
  118. package/build/vectors/_exports.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { AssertMatrix, AssertMatrixRow, AssertMatrixValue } from './asserts.js';
1
+ import { AssertMatrix, MatrixError } from './asserts.js';
2
2
  import { MatrixSize } from './core.js';
3
3
  import { MatrixSVD } from './decompositions.js';
4
4
  /**
@@ -6,7 +6,10 @@ import { MatrixSVD } from './decompositions.js';
6
6
  * @param matrix - The input matrix (any dimensions)
7
7
  * @returns {number} The Frobenius norm (always non-negative)
8
8
  * @throws {Error} If the matrix contains invalid values
9
- * @example MatrixFrobeniusNorm([[3, 4], [0, 0]]) // 5 (sqrt(3² + 4²))
9
+ * @example
10
+ * ```typescript
11
+ * MatrixFrobeniusNorm([[3, 4], [0, 0]]) // 5 (sqrt(3² + 4²))
12
+ * ```
10
13
  */
11
14
  export function MatrixFrobeniusNorm(matrix) {
12
15
  AssertMatrix(matrix);
@@ -14,10 +17,8 @@ export function MatrixFrobeniusNorm(matrix) {
14
17
  let sum = 0;
15
18
  for (let row = 0; row < rows; row++) {
16
19
  const matrixRow = matrix[row];
17
- AssertMatrixRow(matrixRow, { rowIndex: row });
18
20
  for (let col = 0; col < cols; col++) {
19
21
  const val = matrixRow[col];
20
- AssertMatrixValue(val, { rowIndex: row, columnIndex: col });
21
22
  // Add square of each element to the sum
22
23
  sum += val * val;
23
24
  }
@@ -30,7 +31,10 @@ export function MatrixFrobeniusNorm(matrix) {
30
31
  * @param matrix - The input matrix
31
32
  * @returns {number} The spectral norm (always non-negative)
32
33
  * @throws {Error} If the matrix contains invalid values
33
- * @example MatrixSpectralNorm([[3, 0], [0, 4]]) // 4 (largest singular value)
34
+ * @example
35
+ * ```typescript
36
+ * MatrixSpectralNorm([[3, 0], [0, 4]]) // 4 (largest singular value)
37
+ * ```
34
38
  */
35
39
  export function MatrixSpectralNorm(matrix) {
36
40
  AssertMatrix(matrix);
@@ -47,7 +51,10 @@ export function MatrixSpectralNorm(matrix) {
47
51
  * @param matrix - The input matrix
48
52
  * @returns {number} The 1-norm (always non-negative)
49
53
  * @throws {Error} If the matrix contains invalid values
50
- * @example Matrix1Norm([[1, 2], [3, 4]]) // 6 (max of column sums: 4, 6)
54
+ * @example
55
+ * ```typescript
56
+ * Matrix1Norm([[1, 2], [3, 4]]) // 6 (max of column sums: 4, 6)
57
+ * ```
51
58
  */
52
59
  export function Matrix1Norm(matrix) {
53
60
  AssertMatrix(matrix);
@@ -59,9 +66,7 @@ export function Matrix1Norm(matrix) {
59
66
  // Sum absolute values in this column
60
67
  for (let row = 0; row < rows; row++) {
61
68
  const matrixRow = matrix[row];
62
- AssertMatrixRow(matrixRow, { rowIndex: row });
63
69
  const val = matrixRow[col];
64
- AssertMatrixValue(val, { rowIndex: row, columnIndex: col });
65
70
  columnSum += Math.abs(val);
66
71
  }
67
72
  maxColumnSum = Math.max(maxColumnSum, columnSum);
@@ -73,7 +78,10 @@ export function Matrix1Norm(matrix) {
73
78
  * @param matrix - The input matrix
74
79
  * @returns {number} The infinity norm (always non-negative)
75
80
  * @throws {Error} If the matrix contains invalid values
76
- * @example MatrixInfinityNorm([[1, 2], [3, 4]]) // 7 (max of row sums: 3, 7)
81
+ * @example
82
+ * ```typescript
83
+ * MatrixInfinityNorm([[1, 2], [3, 4]]) // 7 (max of row sums: 3, 7)
84
+ * ```
77
85
  */
78
86
  export function MatrixInfinityNorm(matrix) {
79
87
  AssertMatrix(matrix);
@@ -82,12 +90,10 @@ export function MatrixInfinityNorm(matrix) {
82
90
  // Iterate through each row
83
91
  for (let row = 0; row < rows; row++) {
84
92
  const matrixRow = matrix[row];
85
- AssertMatrixRow(matrixRow, { rowIndex: row });
86
93
  let rowSum = 0;
87
94
  // Sum absolute values in this row
88
95
  for (let col = 0; col < cols; col++) {
89
96
  const val = matrixRow[col];
90
- AssertMatrixValue(val, { rowIndex: row, columnIndex: col });
91
97
  rowSum += Math.abs(val);
92
98
  }
93
99
  maxRowSum = Math.max(maxRowSum, rowSum);
@@ -100,7 +106,10 @@ export function MatrixInfinityNorm(matrix) {
100
106
  * @param matrix - The input matrix
101
107
  * @returns {number} The nuclear norm (always non-negative)
102
108
  * @throws {Error} If the matrix contains invalid values
103
- * @example MatrixNuclearNorm([[3, 0], [0, 4]]) // 7 (sum of singular values: 3 + 4)
109
+ * @example
110
+ * ```typescript
111
+ * MatrixNuclearNorm([[3, 0], [0, 4]]) // 7 (sum of singular values: 3 + 4)
112
+ * ```
104
113
  */
105
114
  export function MatrixNuclearNorm(matrix) {
106
115
  AssertMatrix(matrix);
@@ -118,7 +127,10 @@ export function MatrixNuclearNorm(matrix) {
118
127
  * @param matrix - The input matrix
119
128
  * @returns {number} The max norm (always non-negative)
120
129
  * @throws {Error} If the matrix contains invalid values
121
- * @example MatrixMaxNorm([[1, -5], [3, 2]]) // 5 (max absolute value)
130
+ * @example
131
+ * ```typescript
132
+ * MatrixMaxNorm([[1, -5], [3, 2]]) // 5 (max absolute value)
133
+ * ```
122
134
  */
123
135
  export function MatrixMaxNorm(matrix) {
124
136
  AssertMatrix(matrix);
@@ -126,10 +138,8 @@ export function MatrixMaxNorm(matrix) {
126
138
  let maxValue = 0;
127
139
  for (let row = 0; row < rows; row++) {
128
140
  const matrixRow = matrix[row];
129
- AssertMatrixRow(matrixRow, { rowIndex: row });
130
141
  for (let col = 0; col < cols; col++) {
131
142
  const val = matrixRow[col];
132
- AssertMatrixValue(val, { rowIndex: row, columnIndex: col });
133
143
  maxValue = Math.max(maxValue, Math.abs(val));
134
144
  }
135
145
  }
@@ -141,24 +151,23 @@ export function MatrixMaxNorm(matrix) {
141
151
  * @param p - The norm parameter (must be >= 1)
142
152
  * @returns {number} The p-norm (always non-negative)
143
153
  * @throws {Error} If the matrix contains invalid values or p < 1
144
- * @example MatrixPNorm([[1, 2], [3, 4]], 1) // 10 (sum of absolute values)
154
+ * @example
155
+ * ```typescript
156
+ * MatrixPNorm([[1, 2], [3, 4]], 1) // 10 (sum of absolute values)
157
+ * ```
145
158
  */
146
159
  export function MatrixPNorm(matrix, p) {
147
160
  AssertMatrix(matrix);
148
- if (p < 1) {
149
- throw new Error('p-norm parameter must be >= 1');
150
- }
151
- if (p === Infinity) {
161
+ if (p < 1)
162
+ throw new MatrixError('p-norm parameter must be >= 1');
163
+ if (p === Infinity)
152
164
  return MatrixMaxNorm(matrix);
153
- }
154
165
  const [rows, cols] = MatrixSize(matrix);
155
166
  let sum = 0;
156
167
  for (let row = 0; row < rows; row++) {
157
168
  const matrixRow = matrix[row];
158
- AssertMatrixRow(matrixRow, { rowIndex: row });
159
169
  for (let col = 0; col < cols; col++) {
160
170
  const val = matrixRow[col];
161
- AssertMatrixValue(val, { rowIndex: row, columnIndex: col });
162
171
  sum += Math.pow(Math.abs(val), p);
163
172
  }
164
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"normalization.js","sourceRoot":"","sources":["../../src/matrices/normalization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalization.js","sourceRoot":"","sources":["../../src/matrices/normalization.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@
13
13
  * All matrices use homogeneous coordinates for consistent transformation composition.
14
14
  * 2D transformations use 3x3 matrices, 3D transformations use 4x4 matrices.
15
15
  */
16
- import { TMatrix3, TMatrix4 } from './types.js';
17
- import { TVector2, TVector3 } from '../vectors/types.js';
16
+ import type { TMatrix3, TMatrix4 } from './types.js';
17
+ import type { TVector2, TVector3 } from '../vectors/types.js';
18
18
  /**
19
19
  * Creates a 2D rotation matrix for rotating points around the origin.
20
20
  *
@@ -35,14 +35,12 @@ import { TVector2, TVector3 } from '../vectors/types.js';
35
35
  * @throws {Error} If radians is not a finite number
36
36
  *
37
37
  * @example
38
- * ```typescript
39
- * ```typescript
40
- * // 90-degree counterclockwise rotation
41
- * const matrix = MatrixRotation2D(Math.PI / 2);
42
- * // 45-degree clockwise rotation
43
- * const clockwise = MatrixRotation2D(-Math.PI / 4);
44
- * ```
45
- * ```
38
+ * ```typescript
39
+ * // 90-degree counterclockwise rotation
40
+ * const matrix = MatrixRotation2D(Math.PI / 2);
41
+ * // 45-degree clockwise rotation
42
+ * const clockwise = MatrixRotation2D(-Math.PI / 4);
43
+ * ```
46
44
  */
47
45
  export declare function MatrixRotation2D(radians: number): TMatrix3;
48
46
  /**
@@ -66,12 +64,10 @@ export declare function MatrixRotation2D(radians: number): TMatrix3;
66
64
  * @throws {Error} If radians is not a finite number
67
65
  *
68
66
  * @example
69
- * ```typescript
70
- * ```typescript
71
- * // 45-degree roll (banking left in aviation)
72
- * const rollMatrix = MatrixRotation3DRoll(Math.PI / 4);
73
- * ```
74
- * ```
67
+ * ```typescript
68
+ * // 45-degree roll (banking left in aviation)
69
+ * const rollMatrix = MatrixRotation3DRoll(Math.PI / 4);
70
+ * ```
75
71
  */
76
72
  export declare function MatrixRotation3DRoll(radians: number): TMatrix4;
77
73
  /**
@@ -95,12 +91,10 @@ export declare function MatrixRotation3DRoll(radians: number): TMatrix4;
95
91
  * @throws {Error} If radians is not a finite number
96
92
  *
97
93
  * @example
98
- * ```typescript
99
- * ```typescript
100
- * // 30-degree pitch up
101
- * const pitchMatrix = MatrixRotation3DPitch(Math.PI / 6);
102
- * ```
103
- * ```
94
+ * ```typescript
95
+ * // 30-degree pitch up
96
+ * const pitchMatrix = MatrixRotation3DPitch(Math.PI / 6);
97
+ * ```
104
98
  */
105
99
  export declare function MatrixRotation3DPitch(radians: number): TMatrix4;
106
100
  /**
@@ -124,12 +118,10 @@ export declare function MatrixRotation3DPitch(radians: number): TMatrix4;
124
118
  * @throws {Error} If radians is not a finite number
125
119
  *
126
120
  * @example
127
- * ```typescript
128
- * ```typescript
129
- * // 60-degree yaw left
130
- * const yawMatrix = MatrixRotation3DYaw(Math.PI / 3);
131
- * ```
132
- * ```
121
+ * ```typescript
122
+ * // 60-degree yaw left
123
+ * const yawMatrix = MatrixRotation3DYaw(Math.PI / 3);
124
+ * ```
133
125
  */
134
126
  export declare function MatrixRotation3DYaw(radians: number): TMatrix4;
135
127
  /**
@@ -151,15 +143,13 @@ export declare function MatrixRotation3DYaw(radians: number): TMatrix4;
151
143
  * @throws {Error} If any angle is not a finite number
152
144
  *
153
145
  * @example
154
- * ```typescript
155
- * ```typescript
156
- * // Using individual angles (banking, elevation, heading)
157
- * const rotationMatrix = MatrixRotation3D(0.1, 0.2, 0.3);
158
- * // Using vector input
159
- * const eulerAngles: TVector3 = [0.1, 0.2, 0.3];
160
- * const rotationMatrix2 = MatrixRotation3D(eulerAngles);
161
- * ```
162
- * ```
146
+ * ```typescript
147
+ * // Using individual angles (banking, elevation, heading)
148
+ * const rotationMatrix = MatrixRotation3D(0.1, 0.2, 0.3);
149
+ * // Using vector input
150
+ * const eulerAngles: TVector3 = [0.1, 0.2, 0.3];
151
+ * const rotationMatrix2 = MatrixRotation3D(eulerAngles);
152
+ * ```
163
153
  */
164
154
  export declare function MatrixRotation3D(roll: number, pitch: number, yaw: number): TMatrix4;
165
155
  export declare function MatrixRotation3D(v: TVector3): TMatrix4;
@@ -180,15 +170,13 @@ export declare function MatrixRotation3D(v: TVector3): TMatrix4;
180
170
  * @throws {Error} If any angle is not a finite number
181
171
  *
182
172
  * @example
183
- * ```typescript
184
- * ```typescript
185
- * // Using individual angles in degrees
186
- * const rotation = MatrixRotation3DEulerAngles(45, 30, 60);
187
- * // Using vector input in degrees
188
- * const angles: TVector3 = [45, 30, 60];
189
- * const rotation2 = MatrixRotation3DEulerAngles(angles);
190
- * ```
191
- * ```
173
+ * ```typescript
174
+ * // Using individual angles in degrees
175
+ * const rotation = MatrixRotation3DEulerAngles(45, 30, 60);
176
+ * // Using vector input in degrees
177
+ * const angles: TVector3 = [45, 30, 60];
178
+ * const rotation2 = MatrixRotation3DEulerAngles(angles);
179
+ * ```
192
180
  */
193
181
  export declare function MatrixRotation3DEulerAngles(roll: number, pitch: number, yaw: number): TMatrix4;
194
182
  export declare function MatrixRotation3DEulerAngles(v: TVector3): TMatrix4;
@@ -218,19 +206,17 @@ export declare function MatrixRotation3DEulerAngles(v: TVector3): TMatrix4;
218
206
  * @throws {Error} If any scale factor is not a finite number
219
207
  *
220
208
  * @example
221
- * ```typescript
222
- * ```typescript
223
- * // Uniform scaling (double size)
224
- * const uniform = MatrixScale2D(2.0);
225
- * // Independent scaling (stretch horizontally, compress vertically)
226
- * const stretch = MatrixScale2D(2.0, 0.5);
227
- * // Vector input
228
- * const scaleVector: TVector2 = [1.5, 0.8];
229
- * const vectorScale = MatrixScale2D(scaleVector);
230
- * // Flip horizontally
231
- * const flip = MatrixScale2D(-1, 1);
232
- * ```
233
- * ```
209
+ * ```typescript
210
+ * // Uniform scaling (double size)
211
+ * const uniform = MatrixScale2D(2.0);
212
+ * // Independent scaling (stretch horizontally, compress vertically)
213
+ * const stretch = MatrixScale2D(2.0, 0.5);
214
+ * // Vector input
215
+ * const scaleVector: TVector2 = [1.5, 0.8];
216
+ * const vectorScale = MatrixScale2D(scaleVector);
217
+ * // Flip horizontally
218
+ * const flip = MatrixScale2D(-1, 1);
219
+ * ```
234
220
  */
235
221
  export declare function MatrixScale2D(scale: number): TMatrix3;
236
222
  export declare function MatrixScale2D(x: number, y: number): TMatrix3;
@@ -263,19 +249,17 @@ export declare function MatrixScale2D(v: TVector2): TMatrix3;
263
249
  * @throws {Error} If any scale factor is not a finite number
264
250
  *
265
251
  * @example
266
- * ```typescript
267
- * ```typescript
268
- * // Uniform scaling (triple size)
269
- * const uniform = MatrixScale3D(3.0);
270
- * // Independent scaling (stretch, compress, normal)
271
- * const stretch = MatrixScale3D(2.0, 0.5, 1.0);
272
- * // Vector input
273
- * const scaleVector: TVector3 = [1.5, 0.8, 2.0];
274
- * const vectorScale = MatrixScale3D(scaleVector);
275
- * // Mirror across XY plane
276
- * const mirror = MatrixScale3D(1, 1, -1);
277
- * ```
278
- * ```
252
+ * ```typescript
253
+ * // Uniform scaling (triple size)
254
+ * const uniform = MatrixScale3D(3.0);
255
+ * // Independent scaling (stretch, compress, normal)
256
+ * const stretch = MatrixScale3D(2.0, 0.5, 1.0);
257
+ * // Vector input
258
+ * const scaleVector: TVector3 = [1.5, 0.8, 2.0];
259
+ * const vectorScale = MatrixScale3D(scaleVector);
260
+ * // Mirror across XY plane
261
+ * const mirror = MatrixScale3D(1, 1, -1);
262
+ * ```
279
263
  */
280
264
  export declare function MatrixScale3D(scale: number): TMatrix4;
281
265
  export declare function MatrixScale3D(x: number, y: number, z: number): TMatrix4;
@@ -299,15 +283,13 @@ export declare function MatrixScale3D(v: TVector3): TMatrix4;
299
283
  * @throws {Error} If the input is not a valid 2D vector
300
284
  *
301
285
  * @example
302
- * ```typescript
303
- * ```typescript
304
- * // Move 10 units right, 5 units up
305
- * const translation = MatrixTranslation2D(10, 5);
306
- * // Using vector input
307
- * const offset: TVector2 = [10, 5];
308
- * const translation2 = MatrixTranslation2D(...offset);
309
- * ```
310
- * ```
286
+ * ```typescript
287
+ * // Move 10 units right, 5 units up
288
+ * const translation = MatrixTranslation2D(10, 5);
289
+ * // Using vector input
290
+ * const offset: TVector2 = [10, 5];
291
+ * const translation2 = MatrixTranslation2D(...offset);
292
+ * ```
311
293
  */
312
294
  export declare function MatrixTranslation2D(...v: TVector2): TMatrix3;
313
295
  /**
@@ -337,17 +319,15 @@ export declare function MatrixTranslation2D(...v: TVector2): TMatrix3;
337
319
  * @throws {Error} If any translation distance is not a finite number
338
320
  *
339
321
  * @example
340
- * ```typescript
341
- * ```typescript
342
- * // Uniform translation (move 5 units in all directions)
343
- * const uniform = MatrixTranslation3D(5.0);
344
- * // Independent translation
345
- * const independent = MatrixTranslation3D(10, -5, 3);
346
- * // Vector input
347
- * const offset: TVector3 = [10, -5, 3];
348
- * const vectorTranslation = MatrixTranslation3D(...offset);
349
- * ```
350
- * ```
322
+ * ```typescript
323
+ * // Uniform translation (move 5 units in all directions)
324
+ * const uniform = MatrixTranslation3D(5.0);
325
+ * // Independent translation
326
+ * const independent = MatrixTranslation3D(10, -5, 3);
327
+ * // Vector input
328
+ * const offset: TVector3 = [10, -5, 3];
329
+ * const vectorTranslation = MatrixTranslation3D(...offset);
330
+ * ```
351
331
  */
352
332
  export declare function MatrixTranslation3D(translation: number): TMatrix4;
353
333
  export declare function MatrixTranslation3D(x: number, y: number, z: number): TMatrix4;
@@ -371,20 +351,18 @@ export declare function MatrixTranslation3D(v: TVector3): TMatrix4;
371
351
  * @throws {Error} If inputs are not valid vector/matrix types
372
352
  *
373
353
  * @example
374
- * ```typescript
375
- * ```typescript
376
- * // Rotate a point 90 degrees counterclockwise
377
- * const rotationMatrix = MatrixRotation2D(Math.PI / 2);
378
- * const point: TVector2 = [1, 0];
379
- * const rotatedPoint = MatrixTransform2D(point, rotationMatrix);
380
- * // Result: approximately [0, 1]
381
- * // Chain multiple transformations
382
- * const scale = MatrixScale2D(2, 2);
383
- * const translate = MatrixTranslation2D(5, 3);
384
- * const combined = MatrixMultiply(translate, scale);
385
- * const transformedPoint = MatrixTransform2D(point, combined);
386
- * ```
387
- * ```
354
+ * ```typescript
355
+ * // Rotate a point 90 degrees counterclockwise
356
+ * const rotationMatrix = MatrixRotation2D(Math.PI / 2);
357
+ * const point: TVector2 = [1, 0];
358
+ * const rotatedPoint = MatrixTransform2D(point, rotationMatrix);
359
+ * // Result: approximately [0, 1]
360
+ * // Chain multiple transformations
361
+ * const scale = MatrixScale2D(2, 2);
362
+ * const translate = MatrixTranslation2D(5, 3);
363
+ * const combined = MatrixMultiply(translate, scale);
364
+ * const transformedPoint = MatrixTransform2D(point, combined);
365
+ * ```
388
366
  */
389
367
  export declare function MatrixTransform2D(vector: TVector2, matrix: TMatrix3): TVector2;
390
368
  /**
@@ -398,13 +376,11 @@ export declare function MatrixTransform2D(vector: TVector2, matrix: TMatrix3): T
398
376
  * @throws {Error} If the w component is near zero (degenerate transformation).
399
377
  *
400
378
  * @example
401
- * ```typescript
402
- * ```typescript
403
- * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
404
- * const point: TVector3 = [1, 0, 0];
405
- * const rotatedPoint = MatrixTransform3D(point, rotationMatrix);
406
- * ```
407
- * ```
379
+ * ```typescript
380
+ * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
381
+ * const point: TVector3 = [1, 0, 0];
382
+ * const rotatedPoint = MatrixTransform3D(point, rotationMatrix);
383
+ * ```
408
384
  */
409
385
  export declare function MatrixTransform3D(vector: TVector3, transform: TMatrix4): TVector3;
410
386
  /**
@@ -416,13 +392,11 @@ export declare function MatrixTransform3D(vector: TVector3, transform: TMatrix4)
416
392
  * @returns {TVector3} The transformed direction vector.
417
393
  *
418
394
  * @example
419
- * ```typescript
420
- * ```typescript
421
- * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
422
- * const normal: TVector3 = [0, 0, 1];
423
- * const rotatedNormal = MatrixDirection3D(normal, rotationMatrix);
424
- * ```
425
- * ```
395
+ * ```typescript
396
+ * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
397
+ * const normal: TVector3 = [0, 0, 1];
398
+ * const rotatedNormal = MatrixDirection3D(normal, rotationMatrix);
399
+ * ```
426
400
  */
427
401
  export declare function MatrixDirection3D(direction: TVector3, matrix: TMatrix3): TVector3;
428
402
  /**
@@ -435,15 +409,13 @@ export declare function MatrixDirection3D(direction: TVector3, matrix: TMatrix3)
435
409
  * @returns {TMatrix4} A 4x4 view transformation matrix.
436
410
  *
437
411
  * @example
438
- * ```typescript
439
- * ```typescript
440
- * const viewMatrix = MatrixView(
441
- * [10, 5, 10], // Camera position
442
- * [0, 0, 0], // Looking at origin
443
- * [0, 1, 0] // Y-axis is up
444
- * );
445
- * ```
446
- * ```
412
+ * ```typescript
413
+ * const viewMatrix = MatrixView(
414
+ * [10, 5, 10], // Camera position
415
+ * [0, 0, 0], // Looking at origin
416
+ * [0, 1, 0] // Y-axis is up
417
+ * );
418
+ * ```
447
419
  */
448
420
  export declare function MatrixView(eye: TVector3, target: TVector3, up: TVector3): TMatrix4;
449
421
  /**
@@ -459,16 +431,14 @@ export declare function MatrixView(eye: TVector3, target: TVector3, up: TVector3
459
431
  * @throws {Error} If parameters are invalid.
460
432
  *
461
433
  * @example
462
- * ```typescript
463
- * ```typescript
464
- * const perspectiveMatrix = MatrixPerspective(
465
- * Math.PI / 4, // 45-degree field of view
466
- * 16 / 9, // Widescreen aspect ratio
467
- * 0.1, // Near plane
468
- * 1000 // Far plane
469
- * );
470
- * ```
471
- * ```
434
+ * ```typescript
435
+ * const perspectiveMatrix = MatrixPerspective(
436
+ * Math.PI / 4, // 45-degree field of view
437
+ * 16 / 9, // Widescreen aspect ratio
438
+ * 0.1, // Near plane
439
+ * 1000 // Far plane
440
+ * );
441
+ * ```
472
442
  */
473
443
  export declare function MatrixPerspective(fovY: number, aspect: number, near: number, far: number): TMatrix4;
474
444
  /**
@@ -486,15 +456,13 @@ export declare function MatrixPerspective(fovY: number, aspect: number, near: nu
486
456
  * @throws {Error} If any opposing boundaries are equal.
487
457
  *
488
458
  * @example
489
- * ```typescript
490
- * ```typescript
491
- * const orthoMatrix = MatrixOrthographic(
492
- * -10, 10, // Left/Right: 20 units wide
493
- * -7.5, 7.5, // Bottom/Top: 15 units tall
494
- * -100, 100 // Near/Far: 200 units deep
495
- * );
496
- * ```
497
- * ```
459
+ * ```typescript
460
+ * const orthoMatrix = MatrixOrthographic(
461
+ * -10, 10, // Left/Right: 20 units wide
462
+ * -7.5, 7.5, // Bottom/Top: 15 units tall
463
+ * -100, 100 // Near/Far: 200 units deep
464
+ * );
465
+ * ```
498
466
  */
499
467
  export declare function MatrixOrthographic(left: number, right: number, bottom: number, top: number, near: number, far: number): TMatrix4;
500
468
  //# sourceMappingURL=transformations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformations.d.ts","sourceRoot":"","sources":["../../src/matrices/transformations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformations.d.ts","sourceRoot":"","sources":["../../src/matrices/transformations.ts"],"names":[],"mappings":"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"}