def draw_blob(p: Plot, origin, radius): if random.choice([True, False]): p.circle(origin, 0.3) start = radius * vec2(0, 1) p.goto(*(origin + start)) angle = 0 while True: angle += random.uniform(20, 50) blob_angle = random.uniform(200, 300) if 360 - angle < 20: break p.arcto(*(origin + start.rotate(angle)), blob_angle) p.arcto(*(origin + start), blob_angle)
def main(p: Plot): p.setup() p.goto(20, 70) p.lineto(20, 30) p.arcto(30, 20, 90) p.lineto(70, 20) p.arcto(80, 30, 90) p.lineto(80, 70) p.arcto(70, 80, 90) p.lineto(30, 80) p.arcto(20, 70, 90)