def reflect(self, a, c): (x1, y1) = reflectPoint(a, c, self.points[0].x, self.points[0].y) (x2, y2) = reflectPoint(a, c, self.points[1].x, self.points[1].y) if self.arrow: return Line.absolute(x1, y1, x2, y2, arrow=True, solid=self.solid) else: (a, b) = min((x1, y1), (x2, y2)) (c, d) = max((x1, y1), (x2, y2)) return Line.absolute(a, b, c, d, arrow=False, solid=self.solid)
def reflect(self, a, c): x, y = reflectPoint(a, c, self.center.x, self.center.y) return Circle(AbsolutePoint(x, y), self.radius)
def reflect(self, a, c): (x1, y1) = reflectPoint(a, c, self.p1.x, self.p1.y) (x2, y2) = reflectPoint(a, c, self.p2.x, self.p2.y) return Triangle.absolute(min(x1, x2), min(y1, y2), max(x1, x2), max(y1, y2))