pygame is
Simple DirectMedia Layer is
Site Swing


import Numeric
def linear_interpolate(start, stop, seconds, fps=30):
    Given a start and stop vector (2 or 3 element tuple), and a time period 
    at a default 30 fps, yield a sequence of vectors which interpolate 
    between stop and start.
    start = Numeric.array(start, Numeric.Float)
    stop = Numeric.array(stop, Numeric.Float)
    diff = stop - start
    inc = 1.0 / fps
    step = diff * inc
    current = Numeric.array(start)
    stop_second = inc * 2
    while seconds > stop_second:
        seconds -= inc
        current += step
        yield tuple(current)
    yield tuple(stop)

After playing around with this a little bit I noticed that there are several things needing improvement. The first is on line 13, which should read:
step = diff * inc / seconds
to properly factor in the desired timeframe. The second is the handling of seconds and stop_second. The latter is actually completely unnecessary and can be replaced with inc.

-- 23 April 2007 Duoas

page migrated to new wiki

our projects welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
recent releases
Aug 24, 2016

Aug 3, 2016

Aug 2, 2016

Aug 1, 2016

Jul 29, 2016

Jul 24, 2016

Jul 1, 2016

... more!
for pygame related questions, comments, and suggestions, please see help (lists, irc)