- ベストアンサー
物体が往復する動きを作りたい
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1の回答 double w=fmod(x,4*T); ではなくて double w=4*fmod(x/T,1.0); でした。これで周期Tの繰り返しになります。横軸がx<=Tのときだけでよいのなら double w=4*x/T; でかまいません。
その他の回答 (3)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.4
正直な話, 現状で何に不満なのかが分からない. 何がどう「あまりいい方法ではない」のでしょうか? なぜ 4分割するのかはよくわからんが.
質問者
補足
ここに公開するに値しないほど回りくどい方法で実装していたという意味です。 その方法よりも簡潔に書きたかったのです。
- neKo_deux
- ベストアンサー率44% (5541/12319)
回答No.2
単振動になって良いのなら、 移動量=sin(時間/(2*π)) とか。
質問者
お礼
回答有難うございます。 今回は等速な動きをするように作ろうと考えています。
- akayoroshi
- ベストアンサー率50% (46/91)
回答No.1
c++で、四則演算と標準関数だけ(std::は省いています)を使うことにして、 double w=fmod(x,4*T); y=min(abs(w+1),abs(w-3))-1;
お礼
教えていた方法で目的の動作ができました。 周期を繰り返す方の式を使わせていただきました。 ありがとうございます。