Beispiel #1
0
def __get_Slots(numRings, rng, vertical=1):
    tracks = []
    tOffsets = []

    # calculate fixed positions (X for vertical, Y for horizontal)
    fpTab = []
    for i in range(numRings):
        fpTab.append(PythonUtil.lineupPos(i, numRings, 2./3))
    # move all of the fixed positions by a random amount,
    # staying within bounds
    offset = 1 - fpTab[-1]
    offset = (rng.random() * (offset*2)) - offset
    fpTab = map(lambda x: x+offset, fpTab)
    
    for i in range(0,numRings):
        if vertical:
            getActionsFunc = RingTracks.getVerticalSlotActions
        else:
            getActionsFunc = RingTracks.getHorizontalSlotActions
        actions, durations = getActionsFunc(fpTab[i])
        track = RingTrack.RingTrack(actions, durations)
        tracks.append(track)
        tOffsets.append((float(i)/numRings) * .5)

    return tracks, tOffsets, fullCirclePeriod
Beispiel #2
0
def __get_Slots(numRings, rng, vertical = 1):
    tracks = []
    tOffsets = []
    fpTab = []
    for i in range(numRings):
        fpTab.append(PythonUtil.lineupPos(i, numRings, 2.0 / 3))
    
    offset = 1 - fpTab[-1]
    offset = rng.random() * offset * 2 - offset
    fpTab = map(lambda x: x + offset, fpTab)
    for i in range(0, numRings):
        if vertical:
            getActionsFunc = RingTracks.getVerticalSlotActions
        else:
            getActionsFunc = RingTracks.getHorizontalSlotActions
        (actions, durations) = getActionsFunc(fpTab[i])
        track = RingTrack.RingTrack(actions, durations)
        tracks.append(track)
        tOffsets.append((float(i) / numRings) * 0.5)
    
    return (tracks, tOffsets, fullCirclePeriod)