タッチスクリーンにリストビューを実装しています。
IPhoneのような動作を実装したいのですが、リストの任意の部分を指でドラッグしてリストをスクロールできます。
難しい部分は慣性です。指で離すと、リストは同じ方向にスクロールし続ける必要があります。最初は同じ速度でスクロールする必要がありますが、摩擦によって減速しているかのように、静止状態まで減速します。磨いた表面にトランプを滑らせるような効果になると思います。
これを実際の物理的な動作に近づけたいと考えた場合、減速(1秒あたりのポイント数/秒)の式はどのようにする必要がありますか?
減速度は一定ですか、それともパラメータとして初期速度と継続時間を使用する、より複雑な式になりますか?
(これは実際にはUIの質問よりも物理的な質問の可能性があります)。
物理学では、これは「乾式摩擦」の場合です。速度は時間とともに直線的に減少するはずです。線形係数は、動摩擦係数です。そこでさまざまな値を試してみたいと思います。
速度が時間に対して線形である場合、スクロール位置は2次です。