예제 #1
0
 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)
예제 #2
0
 def reflect(self, a, c):
     x, y = reflectPoint(a, c, self.center.x, self.center.y)
     return Circle(AbsolutePoint(x, y), self.radius)
예제 #3
0
 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))