Vector2 lerp(Vector2 other, double t) { return Vector2( x + (other.x - x) * t, y + (other.y - y) * t, ); }