web-dev-qa-db-ja.com

適切なスクロール減速動作は何ですか?

タッチスクリーンにリストビューを実装しています。

IPhoneのような動作を実装したいのですが、リストの任意の部分を指でドラッグしてリストをスクロールできます。

難しい部分は慣性です。指で離すと、リストは同じ方向にスクロールし続ける必要があります。最初は同じ速度でスクロールする必要がありますが、摩擦によって減速しているかのように、静止状態まで減速します。磨いた表面にトランプを滑らせるような効果になると思います。

これを実際の物理的な動作に近づけたいと考えた場合、減速(1秒あたりのポイント数/秒)の式はどのようにする必要がありますか?

減速度は一定ですか、それともパラメータとして初期速度と継続時間を使用する、より複雑な式になりますか?

(これは実際にはUIの質問よりも物理的な質問の可能性があります)。

5
Andrew Shepherd

物理学では、これは「乾式摩擦」の場合です。速度は時間とともに直線的に減少するはずです。線形係数は、動摩擦係数です。そこでさまざまな値を試してみたいと思います。

速度が時間に対して線形である場合、スクロール位置は2次です。

3
Kris Van Bael