Vector2D rotate(double angle) { final cosres = math.cos(angle); final sinres = math.sin(angle); return .vec2( x*cosres - y*sinres, x*sinres + y*cosres, ); }