diff options
| author | LLLL Colonq <llll@colonq> | 2026-08-29 04:06:51 -0400 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2026-08-29 04:06:51 -0400 |
| commit | 761a3172bf4c15aed3836e4d1cd6f815b651b0e0 (patch) | |
| tree | cc90491529e83349d84d42a8e9982e5f0f38338e /2026/games_submissions/ellg/vector.js | |
| parent | 0d2d8cd897e94bd94e0b3ae7c6ce9aa580a44a0a (diff) | |
Fix
Diffstat (limited to '2026/games_submissions/ellg/vector.js')
| -rw-r--r-- | 2026/games_submissions/ellg/vector.js | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/2026/games_submissions/ellg/vector.js b/2026/games_submissions/ellg/vector.js deleted file mode 100644 index cf32d81..0000000 --- a/2026/games_submissions/ellg/vector.js +++ /dev/null @@ -1,64 +0,0 @@ -export class Vector { - static of([x, y]) { - return new Vector(x, y) - } - - constructor(x, y) { - this.x = x - this.y = y - } - - add(val) { - return new Vector(this.x + val.x, this.y + val.y) - } - - subtract(val) { - return new Vector(this.x - val.x, this.y - val.y) - } - - multiply(scalar) { - return new Vector(this.x * scalar, this.y * scalar) - } - - divide(scalar) { - return new Vector(this.x / scalar, this.y / scalar) - } - - dot(other) { - return this.x * other.x + this.y * other.y - } - - cross(other) { - return this.x * other.y - other.x * this.y - } - - hadamard(other) { - return new Vector(this.x * other.x, this.y * other.y) - } - - length() { - return Math.sqrt(this.x ** 2 + this.y ** 2) - } - - distance(other) { - return this.subtract(other).length() - } - - normalize() { - const length = this.length() - if (length === 0) { - return new Vector(0, 0) - } - return new Vector(this.x / length, this.y / length) - } - - rotateByRadians(radians) { - const cos = Math.cos(radians) - const sin = Math.sin(radians) - return new Vector(this.x * cos - this.y * sin, this.x * sin + this.y * cos) - } - - rotateByDegrees(degrees) { - return this.rotateByRadians((degrees * Math.PI) / 180) - } -} |
