def test_itersegments(self): r1 = Rectangle(0, 0, 5, 6) L = list(r1.itersegments()) self.assertTrue(Segment(0, 0, 5, 0) in L) self.assertTrue(Segment(0, 0, 0, 6) in L) self.assertTrue(Segment(0, 6, 5, 6) in L) self.assertTrue(Segment(5, 0, 5, 6) in L)
import random import matplotlib.pyplot as plt from planegeometry.structures.points import Point from planegeometry.structures.segments import Segment from planegeometry.structures.rectangles import Rectangle from planegeometry.structures.triangles import Triangle from planegeometry.structures.circles import Circle plt.axis([0, 1, 0, 1]) ax = plt.gca() rectangle1 = Rectangle(0.1, 0.3, 0.9, 0.7) # rectangle1 = plt.Rectangle((0.1, 0.3), 0.8, 0.4, fill=False, color='b') rectangle2 = plt.Rectangle((0.6, 0.1), 0.2, 0.1, fill=False, color='m') for segment in rectangle1.itersegments(): x = [segment.pt1.x, segment.pt2.x] y = [segment.pt1.y, segment.pt2.y] #plt.plot(x, y, 'bo-') plt.plot(x, y, 'b.-') triangle1 = Triangle(0.2, 0.2, 0.8, 0.4, 0.6, 0.8) for segment in triangle1.itersegments(): x = [segment.pt1.x, segment.pt2.x] y = [segment.pt1.y, segment.pt2.y] #plt.plot(x, y, 'ro-') plt.plot(x, y, 'r.-') #circle1 = Circle(0.4, 0.6, 0.2) circle1 = plt.Circle((0.4, 0.6), 0.2, color='g', fill=False)