from myabstract import Line, Point import math l = Line(Point(1, 0), math.pi / 2) print(l.point, l.angle) print(l.angle == -math.pi / 2) p = Point.random() print(p) i = l.projectPoint(p) print(i)
def random(cls, n=5, **kwargs): """Create a random trajectory of n points.""" points = [Point.random() for i in range(n)] return cls(points, **kwargs)
def random(corners=[-1,-1,1,1],fill=0,color=mycolors.WHITE,border_color=None,area_color=None,center_color=None,radius_color=None,radius_width=1,text_color=None,text_size=20): """Create a random circle.""" point=Point.random(corners) radius=1 return Circle.createFromPointAndRadius(point,radius,color,fill)
def random(cls, n, **kwargs): """Create a quadtree of 'n' points.""" points = [Point.random() for i in range(n)] return cls(points, **kwargs)
def random(corners=[-1, -1, 1, 1], number=random.randint(3, 10), **kwargs): """Create a random form using optional corners, number of points and other optional arguments.""" points = [Point.random(corners) for i in range(number)] form = ComplexForm(points, **kwargs) form.makeSparse() return form
return cls(x, y, size, **kwargs) def __init__(self, x, y, size, **kwargs): super().__init__(x, y, size, size, **kwargs) def __str__(self): return type(self).__name__ + "(x=" + str(self.x) + ",y=" + str( self.y) + ",s=" + str(self.size[0]) + ")" if __name__ == "__main__": from mycontext import Context from myabstract import Point context = Context(name="Rectangle Test") p = Point.random(radius=0.5) r1 = Rectangle(0, 0, 3, 2, side_width=3, side_color=mycolors.BLUE, area_color=mycolors.WHITE, area_show=True) r2 = Square(-1, -1, 2, side_width=3, side_color=mycolors.BLUE, area_color=mycolors.WHITE, area_show=True)
def random(corners=[-1, -1, 1, 1], width=1, color=mycolors.WHITE): """Create a random segment.""" p1 = Point.random(corners) p2 = Point.random(corners) return RotatingSegment(p1, p2, width, color)
def random(corners=[-1, -1, 1, 1], number=random.randint(1, 10), **kwargs): """Create a random rotating form.""" points = [Point.random(corners) for i in range(number)] form = RotatingForm(points, **kwargs) form.makeSparse() return form
def random(corners=[-1, -1, 1, 1]): """Create a random step.""" p1 = Point.random(corners) p2 = Point.random(corners) return Step(p1, p2)