I'm working on a small program displaying moving rowing boats. The following shows a simple sample code (Python 2.x):
import time class Boat: def __init__(self, pace, spm): self.pace = pace #velocity of the boat in m/s self.spm = spm #strokes per minute self.distance = 0 #distance travelled def move(self, deltaT): self.distance = self.distance + (self.pace * deltaT) boat1 = Boat(3.33, 20) while True: boat1.move(0.1) print boat1.distance time.sleep(0.1) As you can see a boat has a pace and rows with a number of strokes per minute. Everytime the method move(deltaT) is called it moves a certain distance according to the pace.
The above boat just travels at a constant pace which is not realistic. A real rowing boat accelerates at the beginning of a stroke and then decelerates after the rowing blades left the water. There are many graphs online which show a typical rowing curve (force shown here, velocity looks similar):
Source: highperformancerowing.net
The pace should be constant over time, but it should change during the stroke.
What is the best way to change the constant velocity into a curve which (at least basically) resembles a more realistic rowing stroke?
Note: Any ideas on how to tag this question better? Is it an algorithm-problem?
