diff options
| author | LLLL Colonq <llll@colonq> | 2026-07-17 03:10:43 -0400 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2026-07-17 03:10:43 -0400 |
| commit | 07a36f2b38a5cba402ebc5158710f5a85f443456 (patch) | |
| tree | f28855384eadc73f49cc1a707a73896f87bc5530 /2026/games/ellg/vector.js | |
| parent | 951b316773265052fbc5fa546bbcf31bef277062 (diff) | |
Post-stream update
Diffstat (limited to '2026/games/ellg/vector.js')
| -rw-r--r-- | 2026/games/ellg/vector.js | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/2026/games/ellg/vector.js b/2026/games/ellg/vector.js deleted file mode 100644 index cf32d81..0000000 --- a/2026/games/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) - } -} |
