def drawPoints(points, title, clr='green'):

    draw = Turtle(title, background=True)
    if isinstance(points[0], PointGroup):
        for pointGroup in points:
            draw.connectPoints(pointGroup.points)
    else:
        for point in points:
            draw.addPoint((500*point[0] + 200, 500*point[1] + 200), clr)
    draw.dumpImage()
Example #2
0
def drawPoints(points, title, clr='green'):

    draw = Turtle(title, background=True)
    if isinstance(points[0], PointGroup):
        for pointGroup in points:
            draw.connectPoints(pointGroup.points)
    else:
        for point in points:
            draw.addPoint((500 * point[0] + 200, 500 * point[1] + 200), clr)
    draw.dumpImage()
def wrapRandomGift(n, uniform=True):

    if uniform:
        draw   = Turtle("Gift_Wrapping_uniform")
        points = list(np.random.uniform(0,500,[n,2]))
    else:
        draw   = Turtle("Gift_Wrapping_normal")
        mean, sigma = 200, 70
        points = list(np.random.normal(mean,sigma,[n,2]))

    for point in points:
        draw.addPoint(point)

    while len(points) >= 3:
        wraping = wrapGift(points)
        wr_len  = len(wraping)
        for i in xrange(wr_len):
            draw.addLineNumpy(wraping[i], wraping[(i+1) % wr_len])

    draw.dumpImage()
Example #4
0
def randomSegments(n, l=150):

    points = np.random.uniform(0, 300, [n, 2])
    vector = np.array([[l, 0]])
    pairs = []
    for i in xrange(n):
        A = points[i, :]
        while True:
            B = A + randomVector(l)
            if B[0, 0] >= 0 and B[0, 1] >= 0:  # is it within first quadrant?
                pairs.append(np.row_stack((A, B)))
                break
    return pairs


if __name__ == '__main__':

    draw = Turtle("Intersection")
    segments = randomSegments(15)

    for i, seg1 in enumerate(segments):
        for seg2 in segments[i + 1:]:
            intersect = segmentIntersect(seg1, seg2)
            if intersect != None:
                draw.addPoint(intersect)

    for seg in segments:
        draw.addLineNumpy(seg[0], seg[1])

    draw.dumpImage()
Example #5
0
def randomSegments(n, l=150):

    points = np.random.uniform(0,300,[n,2])
    vector = np.array([[l, 0]])
    pairs  = []
    for i in xrange(n):
        A = points[i,:]
        while True:
            B = A + randomVector(l)
            if B[0,0] >= 0 and B[0,1] >= 0: # is it within first quadrant?
                pairs.append(np.row_stack((A, B)))
                break
    return pairs


if __name__ == '__main__':
    
    draw = Turtle("Intersection")
    segments = randomSegments(15)

    for i, seg1 in enumerate(segments):
        for seg2 in segments[i+1:]:
            intersect = segmentIntersect(seg1, seg2)
            if intersect != None:
                draw.addPoint(intersect)

    for seg in segments:
        draw.addLineNumpy(seg[0], seg[1])

    draw.dumpImage()