@benev/math 0.3.0-2 → 0.3.0-3

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 (98) hide show
  1. package/package.json +1 -1
  2. package/x/index.d.ts +1 -0
  3. package/x/index.js +1 -0
  4. package/x/index.js.map +1 -1
  5. package/x/tools/make-noise.d.ts +2 -0
  6. package/x/tools/make-noise.js +9 -0
  7. package/x/tools/make-noise.js.map +1 -0
  8. package/x/concepts/angles.d.ts +0 -29
  9. package/x/concepts/angles.js +0 -62
  10. package/x/concepts/angles.js.map +0 -1
  11. package/x/concepts/circular.d.ts +0 -17
  12. package/x/concepts/circular.js +0 -70
  13. package/x/concepts/circular.js.map +0 -1
  14. package/x/concepts/noise.d.ts +0 -9
  15. package/x/concepts/noise.js +0 -20
  16. package/x/concepts/noise.js.map +0 -1
  17. package/x/concepts/quat.d.ts +0 -35
  18. package/x/concepts/quat.js +0 -110
  19. package/x/concepts/quat.js.map +0 -1
  20. package/x/concepts/randy.d.ts +0 -39
  21. package/x/concepts/randy.js +0 -95
  22. package/x/concepts/randy.js.map +0 -1
  23. package/x/concepts/scalar.d.ts +0 -51
  24. package/x/concepts/scalar.js +0 -219
  25. package/x/concepts/scalar.js.map +0 -1
  26. package/x/concepts/spline.d.ts +0 -9
  27. package/x/concepts/spline.js +0 -59
  28. package/x/concepts/spline.js.map +0 -1
  29. package/x/concepts/vec2.d.ts +0 -114
  30. package/x/concepts/vec2.js +0 -314
  31. package/x/concepts/vec2.js.map +0 -1
  32. package/x/concepts/vec3.d.ts +0 -117
  33. package/x/concepts/vec3.js +0 -357
  34. package/x/concepts/vec3.js.map +0 -1
  35. package/x/concepts/vec4.d.ts +0 -21
  36. package/x/concepts/vec4.js +0 -62
  37. package/x/concepts/vec4.js.map +0 -1
  38. package/x/helpers/angles.d.ts +0 -19
  39. package/x/helpers/angles.js +0 -41
  40. package/x/helpers/angles.js.map +0 -1
  41. package/x/helpers/circular.d.ts +0 -17
  42. package/x/helpers/circular.js +0 -71
  43. package/x/helpers/circular.js.map +0 -1
  44. package/x/helpers/noise.d.ts +0 -9
  45. package/x/helpers/noise.js +0 -20
  46. package/x/helpers/noise.js.map +0 -1
  47. package/x/helpers/randy.d.ts +0 -31
  48. package/x/helpers/randy.js +0 -85
  49. package/x/helpers/randy.js.map +0 -1
  50. package/x/helpers/scalar.d.ts +0 -51
  51. package/x/helpers/scalar.js +0 -219
  52. package/x/helpers/scalar.js.map +0 -1
  53. package/x/helpers/spline.d.ts +0 -9
  54. package/x/helpers/spline.js +0 -61
  55. package/x/helpers/spline.js.map +0 -1
  56. package/x/importmap.json +0 -7
  57. package/x/primitives/circular.d.ts +0 -17
  58. package/x/primitives/circular.js +0 -70
  59. package/x/primitives/circular.js.map +0 -1
  60. package/x/primitives/quat.d.ts +0 -35
  61. package/x/primitives/quat.js +0 -110
  62. package/x/primitives/quat.js.map +0 -1
  63. package/x/primitives/scalar.d.ts +0 -51
  64. package/x/primitives/scalar.js +0 -219
  65. package/x/primitives/scalar.js.map +0 -1
  66. package/x/primitives/vec2.d.ts +0 -114
  67. package/x/primitives/vec2.js +0 -319
  68. package/x/primitives/vec2.js.map +0 -1
  69. package/x/primitives/vec3.d.ts +0 -117
  70. package/x/primitives/vec3.js +0 -363
  71. package/x/primitives/vec3.js.map +0 -1
  72. package/x/primitives/vec4.d.ts +0 -21
  73. package/x/primitives/vec4.js +0 -62
  74. package/x/primitives/vec4.js.map +0 -1
  75. package/x/tools/circular.d.ts +0 -17
  76. package/x/tools/circular.js +0 -71
  77. package/x/tools/circular.js.map +0 -1
  78. package/x/tools/scalar.d.ts +0 -51
  79. package/x/tools/scalar.js +0 -219
  80. package/x/tools/scalar.js.map +0 -1
  81. package/x/utils/angles.d.ts +0 -19
  82. package/x/utils/angles.js +0 -41
  83. package/x/utils/angles.js.map +0 -1
  84. package/x/utils/circular.d.ts +0 -17
  85. package/x/utils/circular.js +0 -70
  86. package/x/utils/circular.js.map +0 -1
  87. package/x/utils/noise.d.ts +0 -9
  88. package/x/utils/noise.js +0 -20
  89. package/x/utils/noise.js.map +0 -1
  90. package/x/utils/randy.d.ts +0 -31
  91. package/x/utils/randy.js +0 -85
  92. package/x/utils/randy.js.map +0 -1
  93. package/x/utils/scalar.d.ts +0 -51
  94. package/x/utils/scalar.js +0 -219
  95. package/x/utils/scalar.js.map +0 -1
  96. package/x/utils/spline.d.ts +0 -9
  97. package/x/utils/spline.js +0 -61
  98. package/x/utils/spline.js.map +0 -1
@@ -1,319 +0,0 @@
1
- import { Scalar } from "./scalar.js";
2
- export class Vec2 {
3
- x;
4
- y;
5
- constructor(x, y) {
6
- this.x = x;
7
- this.y = y;
8
- }
9
- ///////////////////////////////////////////////////////////////////////
10
- static new(x, y) {
11
- return new this(x, y);
12
- }
13
- static zero() {
14
- return new this(0, 0);
15
- }
16
- static all(value) {
17
- return new this(value, value);
18
- }
19
- static array(v) {
20
- return new this(...v);
21
- }
22
- static import({ x, y }) {
23
- return new this(x, y);
24
- }
25
- static from(v) {
26
- return Array.isArray(v)
27
- ? this.array(v)
28
- : this.import(v);
29
- }
30
- static magnitudeSquared(x, y) {
31
- return (x * x) + (y * y);
32
- }
33
- static magnitude(x, y) {
34
- return Math.sqrt(this.magnitudeSquared(x, y));
35
- }
36
- static average(...vectors) {
37
- return this.zero()
38
- .add(...vectors)
39
- .divideBy(vectors.length);
40
- }
41
- static min(...vecs) {
42
- return new Vec2(Math.min(...vecs.map(v => v.x)), Math.min(...vecs.map(v => v.y)));
43
- }
44
- static max(...vecs) {
45
- return new Vec2(Math.max(...vecs.map(v => v.x)), Math.max(...vecs.map(v => v.y)));
46
- }
47
- ///////////////////////////////////////////////////////////////////////
48
- clone() {
49
- return new Vec2(this.x, this.y);
50
- }
51
- array() {
52
- return [this.x, this.y];
53
- }
54
- toString() {
55
- return `(Vec2 x${this.x.toFixed(2)}, y${this.y.toFixed(2)})`;
56
- }
57
- /** mutator */
58
- set_(x, y) {
59
- this.x = x;
60
- this.y = y;
61
- return this;
62
- }
63
- /** mutator */
64
- set({ x, y }) {
65
- this.x = x;
66
- this.y = y;
67
- return this;
68
- }
69
- ///////////////////////////////////////////////////////////////////////
70
- magnitudeSquared() {
71
- return Vec2.magnitudeSquared(this.x, this.y);
72
- }
73
- magnitude() {
74
- return Vec2.magnitude(this.x, this.y);
75
- }
76
- rotation() {
77
- return Math.atan2(this.y, this.x);
78
- }
79
- equals_(x, y) {
80
- return (this.x === x &&
81
- this.y === y);
82
- }
83
- equals(...vecs) {
84
- return vecs.every(({ x, y }) => this.equals_(x, y));
85
- }
86
- dot_(x, y) {
87
- return (this.x * x) + (this.y * y);
88
- }
89
- dot({ x, y }) {
90
- return this.dot_(x, y);
91
- }
92
- distanceSquared_(x, y) {
93
- x = this.x - x;
94
- y = this.y - y;
95
- return (x * x) + (y * y);
96
- }
97
- distanceSquared({ x, y }) {
98
- return this.distanceSquared_(x, y);
99
- }
100
- distance_(x, y) {
101
- return Math.sqrt(this.distanceSquared_(x, y));
102
- }
103
- distance({ x, y }) {
104
- return this.distance_(x, y);
105
- }
106
- angleBetween_(x, y) {
107
- const dot = this.dot_(x, y);
108
- const magnitudes = this.magnitude() * Vec2.magnitude(x, y);
109
- if (magnitudes === 0)
110
- return 0;
111
- const ratio = Scalar.clamp(dot / magnitudes, -1, 1);
112
- return Math.acos(ratio);
113
- }
114
- angleBetween({ x, y }) {
115
- return this.angleBetween_(x, y);
116
- }
117
- ///////////////////////////////////////////////////////////////////////
118
- /** mutator */
119
- normalize() {
120
- return this.divideBy(this.magnitude());
121
- }
122
- /** mutator */
123
- half() {
124
- return this.divideBy(2);
125
- }
126
- /** mutator */
127
- double() {
128
- return this.multiplyBy(2);
129
- }
130
- /** mutator */
131
- abs() {
132
- return this.map(x => Math.abs(x));
133
- }
134
- /** mutator */
135
- rotate(radians) {
136
- const { x, y } = this;
137
- this.x = (x * Math.cos(radians)) - (y * Math.sin(radians));
138
- this.y = (x * Math.sin(radians)) + (y * Math.cos(radians));
139
- return this;
140
- }
141
- /** mutator */
142
- perpendicular() {
143
- const { x, y } = this;
144
- this.x = -y;
145
- this.y = x;
146
- return this;
147
- }
148
- /** mutator */
149
- clampMagnitude(max) {
150
- const mag = this.magnitude();
151
- if (mag > max)
152
- this.normalize().multiplyBy(max);
153
- return this;
154
- }
155
- /** mutator */
156
- floor() {
157
- this.x = Math.floor(this.x);
158
- this.y = Math.floor(this.y);
159
- return this;
160
- }
161
- /** mutator */
162
- ceil() {
163
- this.x = Math.ceil(this.x);
164
- this.y = Math.ceil(this.y);
165
- return this;
166
- }
167
- /** mutator */
168
- round() {
169
- this.x = Math.round(this.x);
170
- this.y = Math.round(this.y);
171
- return this;
172
- }
173
- /** mutator */
174
- map(fn) {
175
- this.x = fn(this.x, 0);
176
- this.y = fn(this.y, 1);
177
- return this;
178
- }
179
- /** mutator */
180
- clamp(min, max) {
181
- const clamp = (val) => Math.max(min, Math.min(max, val));
182
- return this.map(clamp);
183
- }
184
- /** mutator */
185
- negate() {
186
- return this.map(a => a * -1);
187
- }
188
- /** mutator */
189
- addBy(delta) {
190
- this.x += delta;
191
- this.y += delta;
192
- return this;
193
- }
194
- /** mutator */
195
- subtractBy(delta) {
196
- this.x -= delta;
197
- this.y -= delta;
198
- return this;
199
- }
200
- /** mutator */
201
- multiplyBy(coefficient) {
202
- this.x *= coefficient;
203
- this.y *= coefficient;
204
- return this;
205
- }
206
- /** mutator */
207
- divideBy(divisor) {
208
- if (divisor === 0)
209
- return this;
210
- this.x /= divisor;
211
- this.y /= divisor;
212
- return this;
213
- }
214
- ///////////////////////////////////////////////////////////////////////
215
- /** mutator */
216
- add_(x, y) {
217
- this.x += x;
218
- this.y += y;
219
- return this;
220
- }
221
- /** mutator */
222
- add(...vecs) {
223
- for (const { x, y } of vecs)
224
- this.add_(x, y);
225
- return this;
226
- }
227
- /** mutator */
228
- subtract_(x, y) {
229
- this.x -= x;
230
- this.y -= y;
231
- return this;
232
- }
233
- /** mutator */
234
- subtract(...vecs) {
235
- for (const { x, y } of vecs)
236
- this.subtract_(x, y);
237
- return this;
238
- }
239
- /** mutator */
240
- multiply_(x, y) {
241
- this.x *= x;
242
- this.y *= y;
243
- return this;
244
- }
245
- /** mutator */
246
- multiply(...vecs) {
247
- for (const { x, y } of vecs)
248
- this.multiply_(x, y);
249
- return this;
250
- }
251
- /** mutator */
252
- divide_(x, y) {
253
- if (x !== 0)
254
- this.x /= x;
255
- if (y !== 0)
256
- this.y /= y;
257
- return this;
258
- }
259
- /** mutator */
260
- divide(...vecs) {
261
- for (const { x, y } of vecs)
262
- this.divide_(x, y);
263
- return this;
264
- }
265
- /** mutator */
266
- lerp_(x, y, fraction) {
267
- this.x += (x - this.x) * fraction;
268
- this.y += (y - this.y) * fraction;
269
- return this;
270
- }
271
- /** mutator */
272
- lerp({ x, y }, fraction) {
273
- return this.lerp_(x, y, fraction);
274
- }
275
- approach_(x, y, speed, deltaTime, speedLimit) {
276
- this.x = Scalar.approach(this.x, x, speed, deltaTime, speedLimit);
277
- this.y = Scalar.approach(this.y, y, speed, deltaTime, speedLimit);
278
- return this;
279
- }
280
- approach({ x, y }, speed, deltaTime, speedLimit) {
281
- return this.approach_(x, y, speed, deltaTime, speedLimit);
282
- }
283
- /** mutator */
284
- reflect_(x, y) {
285
- const dot = 2 * this.dot_(x, y);
286
- this.x -= dot * x;
287
- this.y -= dot * y;
288
- return this;
289
- }
290
- /** mutator */
291
- reflect({ x, y }) {
292
- return this.reflect_(x, y);
293
- }
294
- /** mutator */
295
- rotateAroundPoint_(x, y, radians) {
296
- const dx = this.x - x;
297
- const dy = this.y - y;
298
- const cos = Math.cos(radians);
299
- const sin = Math.sin(radians);
300
- this.x = cos * dx - sin * dy + x;
301
- this.y = sin * dx + cos * dy + y;
302
- return this;
303
- }
304
- /** mutator */
305
- rotateAroundPoint({ x, y }, radians) {
306
- return this.rotateAroundPoint_(x, y, radians);
307
- }
308
- /** mutator */
309
- smooth_(x, y, smoothing) {
310
- this.x = Scalar.smooth(this.x, x, smoothing);
311
- this.y = Scalar.smooth(this.y, y, smoothing);
312
- return this;
313
- }
314
- /** mutator */
315
- smooth({ x, y }, smoothing) {
316
- return this.smooth_(x, y, smoothing);
317
- }
318
- }
319
- //# sourceMappingURL=vec2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vec2.js","sourceRoot":"","sources":["../../s/primitives/vec2.ts"],"names":[],"mappings":"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"}
@@ -1,117 +0,0 @@
1
- export type Vec3Array = [number, number, number];
2
- export type Xyz = {
3
- x: number;
4
- y: number;
5
- z: number;
6
- };
7
- /** https://github.com/microsoft/TypeScript/issues/5863 */
8
- type TsHack<T> = {
9
- new (...a: ConstructorParameters<typeof Vec3>): T;
10
- };
11
- export declare class Vec3 {
12
- x: number;
13
- y: number;
14
- z: number;
15
- constructor(x: number, y: number, z: number);
16
- static new<T extends Vec3>(this: TsHack<T>, x: number, y: number, z: number): T;
17
- static zero<T extends Vec3>(this: TsHack<T>): T;
18
- static all<T extends Vec3>(this: TsHack<T>, value: number): T;
19
- static array<T extends Vec3>(this: TsHack<T>, v: Vec3Array): T;
20
- static import<T extends Vec3>(this: TsHack<T>, { x, y, z }: Xyz): Vec3;
21
- static from(v: Vec3Array | Xyz): Vec3;
22
- static magnitudeSquared(x: number, y: number, z: number): number;
23
- static magnitude(x: number, y: number, z: number): number;
24
- static average(...vecs: Xyz[]): Vec3;
25
- static min(...vecs: Vec3[]): Vec3;
26
- static max(...vecs: Vec3[]): Vec3;
27
- static hexColor(hex: string): Vec3;
28
- clone(): Vec3;
29
- array(): Vec3Array;
30
- toString(): string;
31
- set_(x: number, y: number, z: number): this;
32
- set({ x, y, z }: Xyz): this;
33
- magnitudeSquared(): number;
34
- magnitude(): number;
35
- hexColor(): string;
36
- equals_(x: number, y: number, z: number): boolean;
37
- equals(...vecs: Xyz[]): boolean;
38
- distanceSquared_(x: number, y: number, z: number): number;
39
- distanceSquared({ x, y, z }: Xyz): number;
40
- distance_(x: number, y: number, z: number): number;
41
- distance({ x, y, z }: Xyz): number;
42
- dot_(x: number, y: number, z: number): number;
43
- dot({ x, y, z }: Xyz): number;
44
- inRange_(x: number, y: number, z: number, radius: number): boolean;
45
- inRange({ x, y, z }: Xyz, radius: number): boolean;
46
- angleBetween_(x: number, y: number, z: number): number;
47
- angleBetween({ x, y, z }: Xyz): number;
48
- /** mutator */
49
- add_(x: number, y: number, z: number): this;
50
- /** mutator */
51
- add(...vecs: Xyz[]): this;
52
- /** mutator */
53
- subtract_(x: number, y: number, z: number): this;
54
- /** mutator */
55
- subtract(...vecs: Xyz[]): this;
56
- /** mutator */
57
- multiply_(x: number, y: number, z: number): this;
58
- /** mutator */
59
- multiply(...vecs: Xyz[]): this;
60
- /** mutator */
61
- divide_(x: number, y: number, z: number): this;
62
- /** mutator */
63
- divide(...vecs: Vec3[]): this;
64
- /** mutator */
65
- half(): this;
66
- /** mutator */
67
- double(): this;
68
- /** mutator */
69
- abs(): this;
70
- /** mutator */
71
- map(fn: (a: number, index: number) => number): this;
72
- /** mutator */
73
- negate(): this;
74
- /** mutator */
75
- addBy(delta: number): this;
76
- /** mutator */
77
- multiplyBy(delta: number): this;
78
- /** mutator */
79
- divideBy(divisor: number): this;
80
- /** mutator */
81
- normalize(): this;
82
- /** mutator */
83
- clampMagnitude(max: number): this;
84
- /** mutator */
85
- floor(): this;
86
- /** mutator */
87
- ceil(): this;
88
- /** mutator */
89
- round(): this;
90
- /** mutator */
91
- cross_(x2: number, y2: number, z2: number): this;
92
- /** mutator */
93
- cross({ x, y, z }: Xyz): this;
94
- /** mutator */
95
- lerp_(x: number, y: number, z: number, fraction: number): this;
96
- /** mutator */
97
- lerp({ x, y, z }: Xyz, fraction: number): this;
98
- approach_(x: number, y: number, z: number, speed: number, deltaTime: number, speedLimit?: number): this;
99
- approach({ x, y, z }: Xyz, speed: number, deltaTime: number, speedLimit?: number): this;
100
- /** mutator */
101
- projectOnto_(x: number, y: number, z: number): this;
102
- /** mutator */
103
- projectOnto({ x, y, z }: Vec3): this;
104
- /** mutator */
105
- reflect_(x: number, y: number, z: number): this;
106
- /** mutator */
107
- reflect({ x, y, z }: Xyz): this;
108
- /** mutator */
109
- rotateAroundAxis_(ux: number, uy: number, uz: number, angle: number): this;
110
- /** mutator */
111
- rotateAroundAxis({ x, y, z }: Xyz, angle: number): this;
112
- /** mutator */
113
- smooth_(x: number, y: number, z: number, smoothing: number): this;
114
- /** mutator */
115
- smooth({ x, y, z }: Xyz, smoothing: number): this;
116
- }
117
- export {};