import time
import math
class Boat:
def __init__(self, pace, spm, var=0.5):
self.pace = pace #average velocity of the boat in m/s
self.sps = spm/60.0 #strokes per second
self.var = var #variation in speed from 0-1
self.totalT = 0 #total time
self.distance = 0 #distance traveled
def move(self, deltaT):
self.totalT += deltaT
timeCalc = self.totalT + self.var * math.sin(self.totalT * self.sps * 2.0 * math.pi)
self.distance = self.pace * timeCalc
boat1 = Boat(10.0, 20.0, 0.5)
prevDist = 0.0
print "Time\t\tDistance\tDeltaDistance"
for index in range(0,30):
boat1.move(0.1)
print "%.2f\t\t%.2f\t\t%.2f" % (index / 10.0, boat1.distance, boat1.distance - prevDist)
prevDist = boat1.distance
time.sleep(0.1)
print "Rowed 3 seconds, distance: %.2f" % (boat1.distance)
aW1wb3J0IHRpbWUKaW1wb3J0IG1hdGgKCmNsYXNzIEJvYXQ6CiAgICBkZWYgX19pbml0X18oc2VsZiwgcGFjZSwgc3BtLCB2YXI9MC41KToKICAgICAgICBzZWxmLnBhY2UgPSBwYWNlICAgICNhdmVyYWdlIHZlbG9jaXR5IG9mIHRoZSBib2F0IGluIG0vcwogICAgICAgIHNlbGYuc3BzID0gc3BtLzYwLjAgI3N0cm9rZXMgcGVyIHNlY29uZAogICAgICAgIHNlbGYudmFyID0gdmFyICAgICAgI3ZhcmlhdGlvbiBpbiBzcGVlZCBmcm9tIDAtMQogICAgICAgIHNlbGYudG90YWxUID0gMCAgICAgI3RvdGFsIHRpbWUKICAgICAgICBzZWxmLmRpc3RhbmNlID0gMCAgICNkaXN0YW5jZSB0cmF2ZWxlZAoKICAgIGRlZiBtb3ZlKHNlbGYsIGRlbHRhVCk6CiAgICAgICAgc2VsZi50b3RhbFQgKz0gZGVsdGFUCiAgICAgICAgdGltZUNhbGMgPSBzZWxmLnRvdGFsVCArIHNlbGYudmFyICogbWF0aC5zaW4oc2VsZi50b3RhbFQgKiBzZWxmLnNwcyAqIDIuMCAqIG1hdGgucGkpCiAgICAgICAgc2VsZi5kaXN0YW5jZSA9IHNlbGYucGFjZSAqIHRpbWVDYWxjCgpib2F0MSA9IEJvYXQoMTAuMCwgMjAuMCwgMC41KQpwcmV2RGlzdCA9IDAuMApwcmludCAiVGltZVx0XHREaXN0YW5jZVx0RGVsdGFEaXN0YW5jZSIKZm9yIGluZGV4IGluIHJhbmdlKDAsMzApOgogICAgYm9hdDEubW92ZSgwLjEpCiAgICBwcmludCAiJS4yZlx0XHQlLjJmXHRcdCUuMmYiICUgKGluZGV4IC8gMTAuMCwgYm9hdDEuZGlzdGFuY2UsIGJvYXQxLmRpc3RhbmNlIC0gcHJldkRpc3QpCiAgICBwcmV2RGlzdCA9IGJvYXQxLmRpc3RhbmNlCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIApwcmludCAiUm93ZWQgMyBzZWNvbmRzLCBkaXN0YW5jZTogJS4yZiIgJSAoYm9hdDEuZGlzdGFuY2Up