Untitled
unknown
typescript
a year ago
1.1 kB
6
Indexable
class Vector { x = 0; y = 0; constructor(x?: number, y?: number) { this.x = x || 0; this.y = y || 0; } magnitude() { return Math.sqrt(this.x**2 + this.y**2); } unit() { const m = this.magnitude(); return new Vector(this.x / m, this.y / m); } plus(other: Vector) { return new Vector( this.x + other.x, this.y + other.y ) } plusEq(other: Vector) { this.x += other.x; this.y += other.y; } minus(other: Vector) { return new Vector( this.x - other.x, this.y - other.y ) } minusEq(other: Vector) { this.x -= other.x; this.y -= other.y; } mul(val: number) { return new Vector( this.x * val, this.y * val ) } mulEq(val: number) { this.x *= val; this.y *= val; } dot(other: Vector) { return this.x * other.x + this.y * other.y; } }
Editor is loading...
Leave a Comment