summaryrefslogtreecommitdiff
path: root/2026/games_submissions/ellg/vector.js
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2026-08-04 04:35:44 -0400
committerLLLL Colonq <llll@colonq>2026-08-04 04:35:44 -0400
commit3c7796f066647090ed8436778bdfe25f11844c05 (patch)
tree0644a101004d91af4fcdc2f51fcc2e03f7f255ce /2026/games_submissions/ellg/vector.js
parenta75221ab93f59d688f90cd83f0284ff98951fcfa (diff)
Prepare for upload
Diffstat (limited to '2026/games_submissions/ellg/vector.js')
-rw-r--r--2026/games_submissions/ellg/vector.js64
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)
- }
-}