@lakuna/umath 1.3.3 → 1.3.5

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 (133) hide show
  1. package/README.md +7 -9
  2. package/dist/algorithms/combinations.d.ts.map +1 -1
  3. package/dist/algorithms/combinations.js +1 -1
  4. package/dist/algorithms/combinations.js.map +1 -1
  5. package/dist/algorithms/degreesToRadians.d.ts.map +1 -1
  6. package/dist/algorithms/factorial.d.ts.map +1 -1
  7. package/dist/algorithms/factorial.js +8 -5
  8. package/dist/algorithms/factorial.js.map +1 -1
  9. package/dist/algorithms/fibonacci.d.ts +1 -1
  10. package/dist/algorithms/fibonacci.d.ts.map +1 -1
  11. package/dist/algorithms/fibonacci.js +1 -1
  12. package/dist/algorithms/fibonacci.js.map +1 -1
  13. package/dist/algorithms/greatestCommonDivisor.js +5 -9
  14. package/dist/algorithms/greatestCommonDivisor.js.map +1 -1
  15. package/dist/algorithms/hypergeometricPmf.d.ts.map +1 -1
  16. package/dist/algorithms/hypergeometricPmf.js +1 -1
  17. package/dist/algorithms/hypergeometricPmf.js.map +1 -1
  18. package/dist/algorithms/isPrime.d.ts.map +1 -1
  19. package/dist/algorithms/isPrime.js +1 -1
  20. package/dist/algorithms/isPrime.js.map +1 -1
  21. package/dist/algorithms/permutations.d.ts.map +1 -1
  22. package/dist/algorithms/permutations.js +1 -1
  23. package/dist/algorithms/permutations.js.map +1 -1
  24. package/dist/algorithms/primeFactorization.d.ts +1 -1
  25. package/dist/algorithms/primeFactorization.d.ts.map +1 -1
  26. package/dist/algorithms/primeFactorization.js +4 -3
  27. package/dist/algorithms/primeFactorization.js.map +1 -1
  28. package/dist/algorithms/radiansToDegrees.d.ts.map +1 -1
  29. package/dist/algorithms/summation.d.ts.map +1 -1
  30. package/dist/algorithms/summation.js.map +1 -1
  31. package/dist/index.d.ts +32 -33
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +27 -27
  34. package/dist/index.js.map +1 -1
  35. package/dist/linalg/DualQuaternion.d.ts +50 -56
  36. package/dist/linalg/DualQuaternion.d.ts.map +1 -1
  37. package/dist/linalg/DualQuaternion.js +67 -61
  38. package/dist/linalg/DualQuaternion.js.map +1 -1
  39. package/dist/linalg/Matrix.d.ts +13 -12
  40. package/dist/linalg/Matrix.d.ts.map +1 -1
  41. package/dist/linalg/Matrix2.d.ts +30 -34
  42. package/dist/linalg/Matrix2.d.ts.map +1 -1
  43. package/dist/linalg/Matrix2.js +26 -23
  44. package/dist/linalg/Matrix2.js.map +1 -1
  45. package/dist/linalg/Matrix3.d.ts +47 -47
  46. package/dist/linalg/Matrix3.d.ts.map +1 -1
  47. package/dist/linalg/Matrix3.js +52 -43
  48. package/dist/linalg/Matrix3.js.map +1 -1
  49. package/dist/linalg/Matrix4.d.ts +83 -102
  50. package/dist/linalg/Matrix4.d.ts.map +1 -1
  51. package/dist/linalg/Matrix4.js +105 -89
  52. package/dist/linalg/Matrix4.js.map +1 -1
  53. package/dist/linalg/Quaternion.d.ts +36 -49
  54. package/dist/linalg/Quaternion.d.ts.map +1 -1
  55. package/dist/linalg/Quaternion.js +33 -25
  56. package/dist/linalg/Quaternion.js.map +1 -1
  57. package/dist/linalg/SlowMatrix.d.ts +9 -9
  58. package/dist/linalg/SlowMatrix.d.ts.map +1 -1
  59. package/dist/linalg/SlowMatrix.js +76 -27
  60. package/dist/linalg/SlowMatrix.js.map +1 -1
  61. package/dist/linalg/SlowSquareMatrix.d.ts +3 -3
  62. package/dist/linalg/SlowSquareMatrix.d.ts.map +1 -1
  63. package/dist/linalg/SlowSquareMatrix.js +53 -21
  64. package/dist/linalg/SlowSquareMatrix.js.map +1 -1
  65. package/dist/linalg/SquareMatrix.d.ts +3 -3
  66. package/dist/linalg/SquareMatrix.d.ts.map +1 -1
  67. package/dist/linalg/Vector.d.ts +25 -24
  68. package/dist/linalg/Vector.d.ts.map +1 -1
  69. package/dist/linalg/Vector2.d.ts +35 -52
  70. package/dist/linalg/Vector2.d.ts.map +1 -1
  71. package/dist/linalg/Vector2.js +8 -6
  72. package/dist/linalg/Vector2.js.map +1 -1
  73. package/dist/linalg/Vector3.d.ts +43 -63
  74. package/dist/linalg/Vector3.d.ts.map +1 -1
  75. package/dist/linalg/Vector3.js +46 -58
  76. package/dist/linalg/Vector3.js.map +1 -1
  77. package/dist/linalg/Vector4.d.ts +34 -45
  78. package/dist/linalg/Vector4.d.ts.map +1 -1
  79. package/dist/linalg/Vector4.js +6 -2
  80. package/dist/linalg/Vector4.js.map +1 -1
  81. package/dist/types/AxisAngle.d.ts +1 -1
  82. package/dist/types/AxisAngle.d.ts.map +1 -1
  83. package/dist/utility/BigNumber.d.ts +5 -8
  84. package/dist/utility/BigNumber.d.ts.map +1 -1
  85. package/dist/utility/BigNumber.js +5 -5
  86. package/dist/utility/BigNumber.js.map +1 -1
  87. package/dist/utility/MagnitudeError.d.ts.map +1 -1
  88. package/dist/utility/MagnitudeError.js +1 -1
  89. package/dist/utility/MagnitudeError.js.map +1 -1
  90. package/dist/utility/MatrixSizeError.d.ts.map +1 -1
  91. package/dist/utility/MatrixSizeError.js.map +1 -1
  92. package/dist/utility/PartialMatrixError.d.ts.map +1 -1
  93. package/dist/utility/PartialMatrixError.js.map +1 -1
  94. package/dist/utility/epsilon.d.ts.map +1 -1
  95. package/dist/utility/epsilon.js.map +1 -1
  96. package/package.json +20 -51
  97. package/src/algorithms/combinations.ts +5 -5
  98. package/src/algorithms/degreesToRadians.ts +4 -4
  99. package/src/algorithms/factorial.ts +14 -9
  100. package/src/algorithms/fibonacci.ts +3 -3
  101. package/src/algorithms/greatestCommonDivisor.ts +15 -19
  102. package/src/algorithms/hypergeometricPmf.ts +6 -7
  103. package/src/algorithms/isPrime.ts +5 -5
  104. package/src/algorithms/permutations.ts +5 -5
  105. package/src/algorithms/primeFactorization.ts +9 -9
  106. package/src/algorithms/radiansToDegrees.ts +4 -4
  107. package/src/algorithms/summation.ts +6 -6
  108. package/src/index.ts +35 -33
  109. package/src/linalg/DualQuaternion.ts +528 -780
  110. package/src/linalg/Matrix.ts +35 -36
  111. package/src/linalg/Matrix2.ts +253 -402
  112. package/src/linalg/Matrix3.ts +502 -720
  113. package/src/linalg/Matrix4.ts +1032 -1574
  114. package/src/linalg/Quaternion.ts +400 -679
  115. package/src/linalg/SlowMatrix.ts +124 -75
  116. package/src/linalg/SlowSquareMatrix.ts +92 -63
  117. package/src/linalg/SquareMatrix.ts +7 -7
  118. package/src/linalg/Vector.ts +71 -70
  119. package/src/linalg/Vector2.ts +342 -552
  120. package/src/linalg/Vector3.ts +502 -815
  121. package/src/linalg/Vector4.ts +347 -530
  122. package/src/types/AxisAngle.ts +1 -1
  123. package/src/utility/BigNumber.ts +36 -45
  124. package/src/utility/MagnitudeError.ts +4 -4
  125. package/src/utility/MatrixSizeError.ts +2 -3
  126. package/src/utility/PartialMatrixError.ts +2 -3
  127. package/src/utility/SingularMatrixError.ts +2 -2
  128. package/src/utility/epsilon.ts +1 -4
  129. package/dist/types/IntegerRepresentation.d.ts +0 -2
  130. package/dist/types/IntegerRepresentation.d.ts.map +0 -1
  131. package/dist/types/IntegerRepresentation.js +0 -2
  132. package/dist/types/IntegerRepresentation.js.map +0 -1
  133. package/src/types/IntegerRepresentation.ts +0 -2
@@ -1,34 +1,35 @@
1
- import type { DualQuaternionLike } from "#DualQuaternion";
2
- import Quaternion, { type QuaternionLike } from "#Quaternion";
3
- import type SquareMatrix from "#SquareMatrix";
4
- import Vector3, { type Vector3Like } from "#Vector3";
5
- import type FieldOfView from "#FieldOfView";
6
- export type Matrix4Like = Matrix4 | [
7
- number,
8
- number,
9
- number,
10
- number,
11
- number,
12
- number,
13
- number,
14
- number,
15
- number,
16
- number,
17
- number,
18
- number,
19
- number,
20
- number,
21
- number,
22
- number
23
- ];
1
+ import { type QuaternionLike } from "./Quaternion.js";
2
+ import { type Vector3Like } from "./Vector3.js";
3
+ import type { DualQuaternionLike } from "./DualQuaternion.js";
4
+ import type FieldOfView from "../types/FieldOfView.js";
5
+ import type { MatrixLike } from "./Matrix.js";
6
+ import type SquareMatrix from "./SquareMatrix.js";
7
+ export interface Matrix4Like extends MatrixLike {
8
+ 0: number;
9
+ 1: number;
10
+ 2: number;
11
+ 3: number;
12
+ 4: number;
13
+ 5: number;
14
+ 6: number;
15
+ 7: number;
16
+ 8: number;
17
+ 9: number;
18
+ 10: number;
19
+ 11: number;
20
+ 12: number;
21
+ 13: number;
22
+ 14: number;
23
+ 15: number;
24
+ }
24
25
  export declare function createMatrix4Like(): Matrix4Like;
25
26
  export declare function fromTranslation<T extends Matrix4Like>(vector: Vector3Like, out: T): T;
26
27
  export declare function fromScaling<T extends Matrix4Like>(vector: Vector3Like, out: T): T;
27
28
  export declare function identity<T extends Matrix4Like>(out: T): T;
28
- export declare function fromRotation<T extends Matrix4Like>(radians: number, axis: Vector3Like, out: T): T;
29
- export declare function fromXRotation<T extends Matrix4Like>(radians: number, out: T): T;
30
- export declare function fromYRotation<T extends Matrix4Like>(radians: number, out: T): T;
31
- export declare function fromZRotation<T extends Matrix4Like>(radians: number, out: T): T;
29
+ export declare function fromRotation<T extends Matrix4Like>(r: number, axis: Vector3Like, out: T): T;
30
+ export declare function fromXRotation<T extends Matrix4Like>(r: number, out: T): T;
31
+ export declare function fromYRotation<T extends Matrix4Like>(r: number, out: T): T;
32
+ export declare function fromZRotation<T extends Matrix4Like>(r: number, out: T): T;
32
33
  export declare function fromRotationTranslation<T extends Matrix4Like>(rotation: QuaternionLike, translation: Vector3Like, out: T): T;
33
34
  export declare function fromRotationTranslationScale<T extends Matrix4Like>(rotation: QuaternionLike, translation: Vector3Like, scaling: Vector3Like, out: T): T;
34
35
  export declare function fromRotationTranslationScaleOrigin<T extends Matrix4Like>(rotation: QuaternionLike, translation: Vector3Like, scaling: Vector3Like, origin: Vector3Like, out: T): T;
@@ -56,94 +57,74 @@ export declare function invert<T extends Matrix4Like>(matrix: Matrix4Like, out:
56
57
  export declare function scale<T extends Matrix4Like>(matrix: Matrix4Like, vector: Vector3Like, out: T): T;
57
58
  export declare function translate<T extends Matrix4Like>(matrix: Matrix4Like, vector: Vector3Like, out: T): T;
58
59
  export declare function rotate<T extends Matrix4Like>(matrix: Matrix4Like, radians: number, axis: Vector3Like, out: T): T;
59
- export declare function rotateX<T extends Matrix4Like>(matrix: Matrix4Like, radians: number, out: T): T;
60
- export declare function rotateY<T extends Matrix4Like>(matrix: Matrix4Like, radians: number, out: T): T;
61
- export declare function rotateZ<T extends Matrix4Like>(matrix: Matrix4Like, radians: number, out: T): T;
60
+ export declare function rotateX<T extends Matrix4Like>(matrix: Matrix4Like, r: number, out: T): T;
61
+ export declare function rotateY<T extends Matrix4Like>(matrix: Matrix4Like, r: number, out: T): T;
62
+ export declare function rotateZ<T extends Matrix4Like>(matrix: Matrix4Like, r: number, out: T): T;
62
63
  export declare function getTranslation<T extends Vector3Like>(matrix: Matrix4Like, out: T): T;
63
64
  export declare function setTranslation<T extends Matrix4Like>(matrix: Matrix4Like, translation: Vector3Like, out: T): T;
64
65
  export declare function getScaling<T extends Vector3Like>(matrix: Matrix4Like, out: T): T;
65
66
  export declare function getRotation<T extends QuaternionLike>(matrix: Matrix4Like, out: T): T;
66
- export default class Matrix4 extends Float32Array implements SquareMatrix {
67
- static fromTranslation(vector: Vector3Like): Matrix4;
68
- static fromTranslation<T extends Matrix4Like>(vector: Vector3Like, out: T): T;
69
- static fromScaling(vector: Vector3Like): Matrix4;
70
- static fromScaling<T extends Matrix4Like>(vector: Vector3Like, out: T): T;
71
- static fromRotation(radians: number, axis: Vector3Like): Matrix4;
72
- static fromRotation<T extends Matrix4Like>(radians: number, axis: Vector3Like, out: T): T;
73
- static fromXRotation(radians: number): Matrix4;
74
- static fromXRotation<T extends Matrix4Like>(radians: number, out: T): T;
75
- static fromYRotation(radians: number): Matrix4;
76
- static fromYRotation<T extends Matrix4Like>(radians: number, out: T): T;
77
- static fromZRotation(radians: number): Matrix4;
78
- static fromZRotation<T extends Matrix4Like>(radians: number, out: T): T;
79
- static fromRotationTranslation(rotation: QuaternionLike, translation: Vector3Like): Matrix4;
80
- static fromRotationTranslation<T extends Matrix4Like>(rotation: QuaternionLike, translation: Vector3Like, out: T): T;
81
- static fromRotationTranslationScale(rotation: QuaternionLike, translation: Vector3Like, scaling: Vector3Like): Matrix4;
82
- static fromRotationTranslationScale<T extends Matrix4Like>(rotation: QuaternionLike, translation: Vector3Like, scaling: Vector3Like, out: T): T;
83
- static fromRotationTranslationScaleOrigin(rotation: QuaternionLike, translation: Vector3Like, scaling: Vector3Like, origin: Vector3Like): Matrix4;
84
- static fromRotationTranslationScaleOrigin<T extends Matrix4Like>(rotation: QuaternionLike, translation: Vector3Like, scaling: Vector3Like, origin: Vector3Like, out: T): T;
85
- static fromDualQuaternion(quaternion: DualQuaternionLike): Matrix4;
86
- static fromDualQuaternion<T extends Matrix4Like>(quaternion: DualQuaternionLike, out: T): T;
87
- static frustum(left: number, right: number, bottom: number, top: number, near: number, far: number): Matrix4;
88
- static frustum<T extends Matrix4Like>(left: number, right: number, bottom: number, top: number, near: number, far: number, out: T): T;
89
- static perspective(fov: number, aspect: number, near: number, far: number): Matrix4;
90
- static perspective<T extends Matrix4Like>(fov: number, aspect: number, near: number, far: number, out: T): T;
91
- static perspectiveFromFieldOfView(fov: FieldOfView, near: number, far: number): Matrix4;
92
- static perspectiveFromFieldOfView<T extends Matrix4Like>(fov: FieldOfView, near: number, far: number, out: T): T;
93
- static ortho(left: number, right: number, bottom: number, top: number, near: number, far: number): Matrix4;
94
- static ortho<T extends Matrix4Like>(left: number, right: number, bottom: number, top: number, near: number, far: number, out: T): T;
95
- static lookAt(eye: Vector3Like, center: Vector3Like, up?: Vector3Like): Matrix4;
67
+ export default class Matrix4 extends Float32Array implements SquareMatrix, Matrix4Like {
68
+ static fromTranslation<T extends Matrix4Like>(vector: Vector3Like, out?: T): T;
69
+ static fromScaling<T extends Matrix4Like>(vector: Vector3Like, out?: T): T;
70
+ static fromRotation<T extends Matrix4Like>(r: number, axis: Vector3Like, out?: T): T;
71
+ static fromXRotation<T extends Matrix4Like>(r: number, out?: T): T;
72
+ static fromYRotation<T extends Matrix4Like>(r: number, out?: T): T;
73
+ static fromZRotation<T extends Matrix4Like>(r: number, out?: T): T;
74
+ static fromRotationTranslation<T extends Matrix4Like>(rotation: QuaternionLike, translation: Vector3Like, out?: T): T;
75
+ static fromRotationTranslationScale<T extends Matrix4Like>(rotation: QuaternionLike, translation: Vector3Like, scaling: Vector3Like, out?: T): T;
76
+ static fromRotationTranslationScaleOrigin<T extends Matrix4Like>(rotation: QuaternionLike, translation: Vector3Like, scaling: Vector3Like, origin: Vector3Like, out?: T): T;
77
+ static fromDualQuaternion<T extends Matrix4Like>(quaternion: DualQuaternionLike, out?: T): T;
78
+ static frustum<T extends Matrix4Like>(left: number, right: number, bottom: number, top: number, near: number, far: number, out?: T): T;
79
+ static perspective<T extends Matrix4Like>(fov: number, aspect: number, near: number, far: number, out?: T): T;
80
+ static perspectiveFromFieldOfView<T extends Matrix4Like>(fov: FieldOfView, near: number, far: number, out?: T): T;
81
+ static ortho<T extends Matrix4Like>(left: number, right: number, bottom: number, top: number, near: number, far: number, out?: T): T;
96
82
  static lookAt<T extends Matrix4Like>(eye: Vector3Like, center: Vector3Like, up?: Vector3Like, out?: T): T;
97
- static targetTo(eye: Vector3Like, target: Vector3Like, up?: Vector3Like): Matrix4;
98
- static targetTo<T extends Matrix4>(eye: Vector3Like, target: Vector3Like, up?: Vector3Like, out?: T): T;
99
- static fromValues(c0r0: number, c0r1: number, c0r2: number, c0r3: number, c1r0: number, c1r1: number, c1r2: number, c1r3: number, c2r0: number, c2r1: number, c2r2: number, c2r3: number, c3r0: number, c3r1: number, c3r2: number, c3r3: number): Matrix4;
100
- static fromValues<T extends Matrix4Like>(c0r0: number, c0r1: number, c0r2: number, c0r3: number, c1r0: number, c1r1: number, c1r2: number, c1r3: number, c2r0: number, c2r1: number, c2r2: number, c2r3: number, c3r0: number, c3r1: number, c3r2: number, c3r3: number, out: T): T;
83
+ static targetTo<T extends Matrix4Like>(eye: Vector3Like, target: Vector3Like, up?: Vector3Like, out?: T): T;
84
+ static fromValues<T extends Matrix4Like>(c0r0: number, c0r1: number, c0r2: number, c0r3: number, c1r0: number, c1r1: number, c1r2: number, c1r3: number, c2r0: number, c2r1: number, c2r2: number, c2r3: number, c3r0: number, c3r1: number, c3r2: number, c3r3: number, out?: T): T;
101
85
  constructor();
86
+ 0: number;
87
+ 1: number;
88
+ 2: number;
89
+ 3: number;
90
+ 4: number;
91
+ 5: number;
92
+ 6: number;
93
+ 7: number;
94
+ 8: number;
95
+ 9: number;
96
+ 10: number;
97
+ 11: number;
98
+ 12: number;
99
+ 13: number;
100
+ 14: number;
101
+ 15: number;
102
102
  readonly width: 4;
103
103
  readonly height: 4;
104
104
  equals(matrix: Matrix4Like): boolean;
105
105
  exactEquals(matrix: Matrix4Like): boolean;
106
- add(matrix: Matrix4Like): Matrix4;
107
- add<T extends Matrix4Like>(matrix: Matrix4Like, out: T): T;
108
- adjoint(): Matrix4;
109
- adjoint<T extends Matrix4Like>(out: T): T;
110
- clone(): Matrix4;
111
- clone<T extends Matrix4Like>(out: T): T;
106
+ add<T extends Matrix4Like>(matrix: Matrix4Like, out?: T): T;
107
+ adjoint<T extends Matrix4Like>(out?: T): T;
108
+ clone<T extends Matrix4Like>(out?: T): T;
112
109
  copy(matrix: Matrix4Like): this;
113
110
  get frob(): number;
114
- multiply(matrix: Matrix4Like): Matrix4;
115
- multiply<T extends Matrix4Like>(matrix: Matrix4Like, out: T): T;
116
- multiplyScalar(scalar: number): Matrix4;
117
- multiplyScalar<T extends Matrix4Like>(scalar: number, out: T): T;
118
- multiplyScalarAndAdd(matrix: Matrix4Like, scalar: number): Matrix4;
119
- multiplyScalarAndAdd<T extends Matrix4Like>(matrix: Matrix4Like, scalar: number, out: T): T;
120
- subtract(matrix: Matrix4Like): Matrix4;
121
- subtract<T extends Matrix4Like>(matrix: Matrix4Like, out: T): T;
122
- transpose(): Matrix4;
123
- transpose<T extends Matrix4Like>(out: T): T;
111
+ multiply<T extends Matrix4Like>(matrix: Matrix4Like, out?: T): T;
112
+ multiplyScalar<T extends Matrix4Like>(scalar: number, out?: T): T;
113
+ multiplyScalarAndAdd<T extends Matrix4Like>(matrix: Matrix4Like, scalar: number, out?: T): T;
114
+ subtract<T extends Matrix4Like>(matrix: Matrix4Like, out?: T): T;
115
+ transpose<T extends Matrix4Like>(out?: T): T;
124
116
  get determinant(): number;
125
117
  identity(): this;
126
- invert(): Matrix4;
127
- invert<T extends Matrix4Like>(out: T): T;
128
- scale(vector: Vector3Like): Matrix4;
129
- scale<T extends Matrix4Like>(vector: Vector3Like, out: T): T;
130
- translate(vector: Vector3Like): Matrix4;
131
- translate<T extends Matrix4Like>(vector: Vector3Like, out: T): T;
132
- rotate(radians: number, axis: Vector3Like): Matrix4;
133
- rotate<T extends Matrix4Like>(radians: number, axis: Vector3Like, out: T): T;
134
- rotateX(radians: number): Matrix4;
135
- rotateX<T extends Matrix4Like>(radians: number, out: T): T;
136
- rotateY(radians: number): Matrix4;
137
- rotateY<T extends Matrix4Like>(radians: number, out: T): T;
138
- rotateZ(radians: number): Matrix4;
139
- rotateZ<T extends Matrix4Like>(radians: number, out: T): T;
140
- getTranslation(): Vector3;
141
- getTranslation<T extends Vector3Like>(out: T): T;
142
- setTranslation(matrix: Matrix4Like, translation: Vector3Like): Matrix4;
143
- setTranslation<T extends Matrix4Like>(matrix: Matrix4Like, translation: Vector3Like, out: T): T;
144
- getScaling(): Vector3;
145
- getScaling<T extends Vector3Like>(out: T): T;
146
- getRotation(): Quaternion;
147
- getRotation<T extends QuaternionLike>(out: T): T;
118
+ invert<T extends Matrix4Like>(out?: T): T;
119
+ scale<T extends Matrix4Like>(vector: Vector3Like, out?: T): T;
120
+ translate<T extends Matrix4Like>(vector: Vector3Like, out?: T): T;
121
+ rotate<T extends Matrix4Like>(r: number, axis: Vector3Like, out?: T): T;
122
+ rotateX<T extends Matrix4Like>(r: number, out?: T): T;
123
+ rotateY<T extends Matrix4Like>(r: number, out?: T): T;
124
+ rotateZ<T extends Matrix4Like>(r: number, out?: T): T;
125
+ getTranslation<T extends Vector3Like>(out?: T): T;
126
+ setTranslation<T extends Matrix4Like>(translation: Vector3Like, out?: T): T;
127
+ getScaling<T extends Vector3Like>(out?: T): T;
128
+ getRotation<T extends QuaternionLike>(out?: T): T;
148
129
  }
149
130
  //# sourceMappingURL=Matrix4.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Matrix4.d.ts","sourceRoot":"","sources":["../../src/linalg/Matrix4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Matrix4.d.ts","sourceRoot":"","sources":["../../src/linalg/Matrix4.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import Quaternion, {} from "#Quaternion";
2
- import Vector3, {} from "#Vector3";
3
- import epsilon from "#epsilon";
4
- import MagnitudeError from "#MagnitudeError";
5
- import SingularMatrixError from "#SingularMatrixError";
1
+ import Quaternion, {} from "./Quaternion.js";
2
+ import Vector3, { createVector3Like } from "./Vector3.js";
3
+ import MagnitudeError from "../utility/MagnitudeError.js";
4
+ import SingularMatrixError from "../utility/SingularMatrixError.js";
5
+ import epsilon from "../utility/epsilon.js";
6
6
  export function createMatrix4Like() {
7
7
  return new Float32Array(16);
8
8
  }
@@ -63,20 +63,20 @@ export function identity(out) {
63
63
  out[15] = 1;
64
64
  return out;
65
65
  }
66
- export function fromRotation(radians, axis, out) {
66
+ export function fromRotation(r, axis, out) {
67
67
  let x = axis[0];
68
68
  let y = axis[1];
69
69
  let z = axis[2];
70
70
  let len = Math.hypot(x, y, z);
71
- if (len == 0) {
71
+ if (len === 0) {
72
72
  throw new MagnitudeError();
73
73
  }
74
74
  len = 1 / len;
75
75
  x *= len;
76
76
  y *= len;
77
77
  z *= len;
78
- const s = Math.sin(radians);
79
- const c = Math.cos(radians);
78
+ const s = Math.sin(r);
79
+ const c = Math.cos(r);
80
80
  const t = 1 - c;
81
81
  out[0] = x * x * t + c;
82
82
  out[1] = y * x * t + z * s;
@@ -96,9 +96,9 @@ export function fromRotation(radians, axis, out) {
96
96
  out[15] = 1;
97
97
  return out;
98
98
  }
99
- export function fromXRotation(radians, out) {
100
- const s = Math.sin(radians);
101
- const c = Math.cos(radians);
99
+ export function fromXRotation(r, out) {
100
+ const s = Math.sin(r);
101
+ const c = Math.cos(r);
102
102
  out[0] = 1;
103
103
  out[1] = 0;
104
104
  out[2] = 0;
@@ -117,9 +117,9 @@ export function fromXRotation(radians, out) {
117
117
  out[15] = 1;
118
118
  return out;
119
119
  }
120
- export function fromYRotation(radians, out) {
121
- const s = Math.sin(radians);
122
- const c = Math.cos(radians);
120
+ export function fromYRotation(r, out) {
121
+ const s = Math.sin(r);
122
+ const c = Math.cos(r);
123
123
  out[0] = c;
124
124
  out[1] = 0;
125
125
  out[2] = -s;
@@ -138,9 +138,9 @@ export function fromYRotation(radians, out) {
138
138
  out[15] = 1;
139
139
  return out;
140
140
  }
141
- export function fromZRotation(radians, out) {
142
- const s = Math.sin(radians);
143
- const c = Math.cos(radians);
141
+ export function fromZRotation(r, out) {
142
+ const s = Math.sin(r);
143
+ const c = Math.cos(r);
144
144
  out[0] = c;
145
145
  out[1] = s;
146
146
  out[2] = 0;
@@ -282,7 +282,7 @@ export function fromRotationTranslationScaleOrigin(rotation, translation, scalin
282
282
  out[15] = 1;
283
283
  return out;
284
284
  }
285
- const intermediary = new Float32Array(3);
285
+ const intermediary = createVector3Like();
286
286
  export function fromDualQuaternion(quaternion, out) {
287
287
  const bx = -quaternion[0];
288
288
  const by = -quaternion[1];
@@ -343,15 +343,15 @@ export function perspective(fov, aspect, near, far, out) {
343
343
  out[12] = 0;
344
344
  out[13] = 0;
345
345
  out[15] = 0;
346
- if (far != null && far != Infinity) {
346
+ if (far === Infinity) {
347
+ out[10] = -1;
348
+ out[14] = -2 * near;
349
+ }
350
+ else {
347
351
  const nf = 1 / (near - far);
348
352
  out[10] = (far + near) * nf;
349
353
  out[14] = 2 * far * near * nf;
350
354
  }
351
- else {
352
- out[10] = -1;
353
- out[14] = -2 * near;
354
- }
355
355
  return out;
356
356
  }
357
357
  export function perspectiveFromFieldOfView(fov, near, far, out) {
@@ -427,32 +427,32 @@ export function lookAt(eye, center, up, out) {
427
427
  let x1 = upz * z0 - upx * z2;
428
428
  let x2 = upx * z1 - upy * z0;
429
429
  len = Math.hypot(x0, x1, x2);
430
- if (!len) {
431
- x0 = 0;
432
- x1 = 0;
433
- x2 = 0;
434
- }
435
- else {
430
+ if (len > 0) {
436
431
  len = 1 / len;
437
432
  x0 *= len;
438
433
  x1 *= len;
439
434
  x2 *= len;
440
435
  }
436
+ else {
437
+ x0 = 0;
438
+ x1 = 0;
439
+ x2 = 0;
440
+ }
441
441
  let y0 = z1 * x2 - z2 * x1;
442
442
  let y1 = z2 * x0 - z0 * x2;
443
443
  let y2 = z0 * x1 - z1 * x0;
444
444
  len = Math.hypot(y0, y1, y2);
445
- if (!len) {
446
- y0 = 0;
447
- y1 = 0;
448
- y2 = 0;
449
- }
450
- else {
445
+ if (len > 0) {
451
446
  len = 1 / len;
452
447
  y0 *= len;
453
448
  y1 *= len;
454
449
  y2 *= len;
455
450
  }
451
+ else {
452
+ y0 = 0;
453
+ y1 = 0;
454
+ y2 = 0;
455
+ }
456
456
  out[0] = x0;
457
457
  out[1] = y0;
458
458
  out[2] = z0;
@@ -610,22 +610,22 @@ export function equals(a, b) {
610
610
  Math.abs(a15 - b15) <= epsilon * Math.max(1, Math.abs(a15), Math.abs(b15)));
611
611
  }
612
612
  export function exactEquals(a, b) {
613
- return (a[0] == b[0] &&
614
- a[1] == b[1] &&
615
- a[2] == b[2] &&
616
- a[3] == b[3] &&
617
- a[4] == b[4] &&
618
- a[5] == b[5] &&
619
- a[6] == b[6] &&
620
- a[7] == b[7] &&
621
- a[8] == b[8] &&
622
- a[9] == b[9] &&
623
- a[10] == b[10] &&
624
- a[11] == b[11] &&
625
- a[12] == b[12] &&
626
- a[13] == b[13] &&
627
- a[14] == b[14] &&
628
- a[15] == b[15]);
613
+ return (a[0] === b[0] &&
614
+ a[1] === b[1] &&
615
+ a[2] === b[2] &&
616
+ a[3] === b[3] &&
617
+ a[4] === b[4] &&
618
+ a[5] === b[5] &&
619
+ a[6] === b[6] &&
620
+ a[7] === b[7] &&
621
+ a[8] === b[8] &&
622
+ a[9] === b[9] &&
623
+ a[10] === b[10] &&
624
+ a[11] === b[11] &&
625
+ a[12] === b[12] &&
626
+ a[13] === b[13] &&
627
+ a[14] === b[14] &&
628
+ a[15] === b[15]);
629
629
  }
630
630
  export function adjoint(matrix, out) {
631
631
  const a00 = matrix[0];
@@ -833,7 +833,7 @@ export function subtract(a, b, out) {
833
833
  return out;
834
834
  }
835
835
  export function transpose(matrix, out) {
836
- if (out == matrix) {
836
+ if (out === matrix) {
837
837
  const a01 = matrix[1];
838
838
  const a02 = matrix[2];
839
839
  const a03 = matrix[3];
@@ -982,7 +982,7 @@ export function translate(matrix, vector, out) {
982
982
  const x = vector[0];
983
983
  const y = vector[1];
984
984
  const z = vector[2];
985
- if (out == matrix) {
985
+ if (out === matrix) {
986
986
  out[12] = matrix[0] * x + matrix[4] * y + matrix[8] * z + matrix[12];
987
987
  out[13] = matrix[1] * x + matrix[5] * y + matrix[9] * z + matrix[13];
988
988
  out[14] = matrix[2] * x + matrix[6] * y + matrix[10] * z + matrix[14];
@@ -1068,7 +1068,7 @@ export function rotate(matrix, radians, axis, out) {
1068
1068
  out[9] = a01 * b20 + a11 * b21 + a21 * b22;
1069
1069
  out[10] = a02 * b20 + a12 * b21 + a22 * b22;
1070
1070
  out[11] = a03 * b20 + a13 * b21 + a23 * b22;
1071
- if (out != matrix) {
1071
+ if (out !== matrix) {
1072
1072
  out[12] = matrix[12];
1073
1073
  out[13] = matrix[13];
1074
1074
  out[14] = matrix[14];
@@ -1076,9 +1076,9 @@ export function rotate(matrix, radians, axis, out) {
1076
1076
  }
1077
1077
  return out;
1078
1078
  }
1079
- export function rotateX(matrix, radians, out) {
1080
- const s = Math.sin(radians);
1081
- const c = Math.cos(radians);
1079
+ export function rotateX(matrix, r, out) {
1080
+ const s = Math.sin(r);
1081
+ const c = Math.cos(r);
1082
1082
  const a10 = matrix[4];
1083
1083
  const a11 = matrix[5];
1084
1084
  const a12 = matrix[6];
@@ -1087,7 +1087,7 @@ export function rotateX(matrix, radians, out) {
1087
1087
  const a21 = matrix[9];
1088
1088
  const a22 = matrix[10];
1089
1089
  const a23 = matrix[11];
1090
- if (out != matrix) {
1090
+ if (out !== matrix) {
1091
1091
  out[0] = matrix[0];
1092
1092
  out[1] = matrix[1];
1093
1093
  out[2] = matrix[2];
@@ -1107,9 +1107,9 @@ export function rotateX(matrix, radians, out) {
1107
1107
  out[11] = a23 * c - a13 * s;
1108
1108
  return out;
1109
1109
  }
1110
- export function rotateY(matrix, radians, out) {
1111
- const s = Math.sin(radians);
1112
- const c = Math.cos(radians);
1110
+ export function rotateY(matrix, r, out) {
1111
+ const s = Math.sin(r);
1112
+ const c = Math.cos(r);
1113
1113
  const a00 = matrix[0];
1114
1114
  const a01 = matrix[1];
1115
1115
  const a02 = matrix[2];
@@ -1118,7 +1118,7 @@ export function rotateY(matrix, radians, out) {
1118
1118
  const a21 = matrix[9];
1119
1119
  const a22 = matrix[10];
1120
1120
  const a23 = matrix[11];
1121
- if (out != matrix) {
1121
+ if (out !== matrix) {
1122
1122
  out[4] = matrix[4];
1123
1123
  out[5] = matrix[5];
1124
1124
  out[6] = matrix[6];
@@ -1138,9 +1138,9 @@ export function rotateY(matrix, radians, out) {
1138
1138
  out[11] = a03 * s + a23 * c;
1139
1139
  return out;
1140
1140
  }
1141
- export function rotateZ(matrix, radians, out) {
1142
- const s = Math.sin(radians);
1143
- const c = Math.cos(radians);
1141
+ export function rotateZ(matrix, r, out) {
1142
+ const s = Math.sin(r);
1143
+ const c = Math.cos(r);
1144
1144
  const a00 = matrix[0];
1145
1145
  const a01 = matrix[1];
1146
1146
  const a02 = matrix[2];
@@ -1149,7 +1149,7 @@ export function rotateZ(matrix, radians, out) {
1149
1149
  const a11 = matrix[5];
1150
1150
  const a12 = matrix[6];
1151
1151
  const a13 = matrix[7];
1152
- if (out != matrix) {
1152
+ if (out !== matrix) {
1153
1153
  out[8] = matrix[8];
1154
1154
  out[9] = matrix[9];
1155
1155
  out[10] = matrix[10];
@@ -1176,7 +1176,7 @@ export function getTranslation(matrix, out) {
1176
1176
  return out;
1177
1177
  }
1178
1178
  export function setTranslation(matrix, translation, out) {
1179
- if (out != matrix) {
1179
+ if (out !== matrix) {
1180
1180
  out[0] = matrix[0];
1181
1181
  out[1] = matrix[1];
1182
1182
  out[2] = matrix[2];
@@ -1212,7 +1212,7 @@ export function getScaling(matrix, out) {
1212
1212
  return out;
1213
1213
  }
1214
1214
  export function getRotation(matrix, out) {
1215
- const scaling = getScaling(matrix, new Float32Array(3));
1215
+ const scaling = getScaling(matrix, createVector3Like());
1216
1216
  const is1 = 1 / scaling[0];
1217
1217
  const is2 = 1 / scaling[1];
1218
1218
  const is3 = 1 / scaling[2];
@@ -1264,17 +1264,17 @@ export default class Matrix4 extends Float32Array {
1264
1264
  static fromScaling(vector, out = new Matrix4()) {
1265
1265
  return fromScaling(vector, out);
1266
1266
  }
1267
- static fromRotation(radians, axis, out = new Matrix4()) {
1268
- return fromRotation(radians, axis, out);
1267
+ static fromRotation(r, axis, out = new Matrix4()) {
1268
+ return fromRotation(r, axis, out);
1269
1269
  }
1270
- static fromXRotation(radians, out = new Matrix4()) {
1271
- return fromXRotation(radians, out);
1270
+ static fromXRotation(r, out = new Matrix4()) {
1271
+ return fromXRotation(r, out);
1272
1272
  }
1273
- static fromYRotation(radians, out = new Matrix4()) {
1274
- return fromYRotation(radians, out);
1273
+ static fromYRotation(r, out = new Matrix4()) {
1274
+ return fromYRotation(r, out);
1275
1275
  }
1276
- static fromZRotation(radians, out = new Matrix4()) {
1277
- return fromZRotation(radians, out);
1276
+ static fromZRotation(r, out = new Matrix4()) {
1277
+ return fromZRotation(r, out);
1278
1278
  }
1279
1279
  static fromRotationTranslation(rotation, translation, out = new Matrix4()) {
1280
1280
  return fromRotationTranslation(rotation, translation, out);
@@ -1300,10 +1300,10 @@ export default class Matrix4 extends Float32Array {
1300
1300
  static ortho(left, right, bottom, top, near, far, out = new Matrix4()) {
1301
1301
  return ortho(left, right, bottom, top, near, far, out);
1302
1302
  }
1303
- static lookAt(eye, center, up = new Float32Array([0, 1, 0]), out = new Matrix4()) {
1303
+ static lookAt(eye, center, up = [0, 1, 0], out = new Matrix4()) {
1304
1304
  return lookAt(eye, center, up, out);
1305
1305
  }
1306
- static targetTo(eye, target, up = new Float32Array([0, 1, 0]), out = new Matrix4()) {
1306
+ static targetTo(eye, target, up = [0, 1, 0], out = new Matrix4()) {
1307
1307
  return targetTo(eye, target, up, out);
1308
1308
  }
1309
1309
  static fromValues(c0r0, c0r1, c0r2, c0r3, c1r0, c1r1, c1r2, c1r3, c2r0, c2r1, c2r2, c2r3, c3r0, c3r1, c3r2, c3r3, out = new Matrix4()) {
@@ -1318,6 +1318,22 @@ export default class Matrix4 extends Float32Array {
1318
1318
  this.width = 4;
1319
1319
  this.height = 4;
1320
1320
  }
1321
+ 0;
1322
+ 1;
1323
+ 2;
1324
+ 3;
1325
+ 4;
1326
+ 5;
1327
+ 6;
1328
+ 7;
1329
+ 8;
1330
+ 9;
1331
+ 10;
1332
+ 11;
1333
+ 12;
1334
+ 13;
1335
+ 14;
1336
+ 15;
1321
1337
  width;
1322
1338
  height;
1323
1339
  equals(matrix) {
@@ -1371,23 +1387,23 @@ export default class Matrix4 extends Float32Array {
1371
1387
  translate(vector, out = new Matrix4()) {
1372
1388
  return translate(this, vector, out);
1373
1389
  }
1374
- rotate(radians, axis, out = new Matrix4()) {
1375
- return rotate(this, radians, axis, out);
1390
+ rotate(r, axis, out = new Matrix4()) {
1391
+ return rotate(this, r, axis, out);
1376
1392
  }
1377
- rotateX(radians, out = new Matrix4()) {
1378
- return rotateX(this, radians, out);
1393
+ rotateX(r, out = new Matrix4()) {
1394
+ return rotateX(this, r, out);
1379
1395
  }
1380
- rotateY(radians, out = new Matrix4()) {
1381
- return rotateY(this, radians, out);
1396
+ rotateY(r, out = new Matrix4()) {
1397
+ return rotateY(this, r, out);
1382
1398
  }
1383
- rotateZ(radians, out = new Matrix4()) {
1384
- return rotateZ(this, radians, out);
1399
+ rotateZ(r, out = new Matrix4()) {
1400
+ return rotateZ(this, r, out);
1385
1401
  }
1386
1402
  getTranslation(out = new Vector3()) {
1387
1403
  return getTranslation(this, out);
1388
1404
  }
1389
- setTranslation(matrix, translation, out = new Matrix4()) {
1390
- return setTranslation(matrix, translation, out);
1405
+ setTranslation(translation, out = new Matrix4()) {
1406
+ return setTranslation(this, translation, out);
1391
1407
  }
1392
1408
  getScaling(out = new Vector3()) {
1393
1409
  return getScaling(this, out);