私はローミングボートを動かしている小さなプログラムに取り組んでいます。ボートが毎分ストローク数とペースと行を持っているあなたが見ることができるようにローミングストロークに似たコード
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)
:以下は、簡単なサンプルコード(Pythonの2.xの)を示しています。毎回メソッドmove(deltaT)
が呼び出されるたびに、ペースに従って一定の距離を移動します。
上記のボートはちょうど一定のペースで移動しますが、現実的ではありません。実際のローティングボートはストロークの開始時に加速し、ローティングブレードが水を去った後減速する。典型的なローイング曲線(ここで示す力、速度が似ています)を示し、多くのグラフオンラインがあります。
ペースが経時的に一定でなければなりませんが、それはストローク中に変更する必要があります。
定速度を(少なくとも基本的に)より現実的なローティング・ストロークに似た曲線に変更する最良の方法は何ですか?
注:この質問にタグを付ける方法についてのアイデアはありますか?それはアルゴリズム問題ですか?
SciPyなどのスプライン補間を使用します。 – nwk
統計情報のSEサイトも参照してください。http://stats.stackexchange.com – smci
ggplotライブラリの平滑化変換stat_smooth。 – smci