'Override GeometryEntity.reflect since this is not made of only
points.
>>> from sympy import RegularPolygon, Line
>>> RegularPolygon((0, 0), 1, 4).reflect(Line((0, 1), slope=-2))
RegularPolygon(Point2D(4/5, 2/5), -1, 4, acos(3/5))'

def reflect(self, line):

    (c, r, n, rot) = self.args
    cc = c.reflect(line)
    v = self.vertices[0]
    vv = v.reflect(line)
    ang = Segment(cc, vv).angle_between(Segment(c, v))
    rot = (((rot + ang) + pi) % ((2 * pi) / n))
    return self.func(cc, (- r), n, rot)
