Timing

To interpolate over time, compute interpolation fraction based on the amount of time that has passed.

Example:

    def startAnimation():
        animating = True
        startTime = time.time()
        duration = 5

    def computeAnimation():
        if animating:
            t = time.time() - startTime
            if t <= duration:
                a = t / duration
            else:
                animating = False
                a = 1
            x = (1-a)*startX + a*endX
            y = (1-a)*startY + a*endY
            z = (1-a)*startZ + a*endZ