Returns a rotated version of this point around the origin.
Point rotate(double angle) { final cos = math.cos(angle); final sin = math.sin(angle); return Point( x * cos - y * sin, x * sin + y * cos, ); }