タッチ スクリーン UI のスクロール動作を実装していますが、今は疲れすぎて、おそらく些細な数学に頭を悩ませることができません。
y (distance/velocity)
|********
| ******
| ****
| ***
| ***
| **
| **
| *
| *
-------------------------------- x (time)
f(x)→?
UI は、ユーザーがビューを任意の方向にドラッグして「投げる」ことができ、画面から指を離した後もしばらくスクロールし続けることができるようになっています。ユーザーが指を離す前にどれだけ速くドラッグしていたかに依存する、一種の勢いがあります。
したがって、開始速度 (v0) があり、20 ミリ秒ごとに現在の速度に相対的な量だけスクロールします。スクロールを繰り返すたびに、速度がしきい値を下回るまで速度を少し下げて停止します。固定量 (線形) だけ減分すると正しく見えないので、負の加速度をモデル化する必要がありますが、速度を下げる必要がある量を計算するためのまともな単純な式を思い付くことができません。すべての反復で。
アップデート:
これまでの回答に感謝しますが、まだフィードバックから満足のいく機能を引き出すことができませんでした. 希望するソリューションを十分に説明できていない可能性があるため、どのような計算を行いたいかを示す実際の例を示します。
ある通りをある車が走っていて、運転手が車が止まるまで最大までブレーキを踏んだとします。運転手は、同じ道路で同じ車でこれを複数回行いますが、さまざまな速度でブレーキをかけ始めます。車が減速している間、現在の速度のみに基づいて、正確に 1 秒後の速度を計算できるようにしたいと考えています。この計算では、すべての環境要因が同じままであるため、ドライバーがブレーキを踏み始めたときに車が運転していた速度は関係ありません。もちろん、数式にはいくつかの定数がありますが、車が 30 m/s まで下がった場合、ドライバーがブレーキをかけ始めたときに 100 m/s で運転していたか 50 m/s で運転していたかに関係なく、次の 1 秒間に同じ距離を進みます。 . そのため、休憩を打ってからの時間も関数のパラメーターにはなりません。特定の速度での減速度は常に同じです。
このような状況で、減速度、質量、摩擦などの任意の定数を仮定し、空気抵抗などの複雑な影響を無視して、1 秒後の速度をどのように計算しますか? 私が求めているのは、運動エネルギーと、車の破損による摩擦による散逸です。
更新 2 車の加速が線形であることがわかりましたが、これは実際には私が探していたものではありません。これを片付けて、明日新しい提案を試してみます。これまでにご意見をお寄せいただきありがとうございます。