2011-11-01 3 views
7

マウスの動きを滑らかにする方法はありますか?私は通常のマウスの小さなジッタを手で動かすことを望んでいます。小さなジッタの動きをしているため、ペイントできれいな線を引くことはできません。マウスの動きを標準化して滑らかにしますか?

これは私が意味することを理解するのは難しいかもしれませんが、あなたがzbrushを知っていれば、遅いマウスhttp://www.pixologic.com/docs/index.php/Lazy_Mouseと呼ばれる機能があります。私のアプリ内でこれを再現する方法を探しています。私はCursor.Positionとマウスの位置を読み取ることができますが、私は彼らが画面上のポインタに送信される前に、これらの数値を平均する方法を見つけることはありません。

+0

彼らは何をしていないのですか?彼らは "スクリーンに送られる前に"番号を変えません...彼らはブラシの塗料のことを解釈します...あなたの目標は何ですか? – Yahia

+1

ラインはシンプルで、最初と最後のポイントを記録するだけです。より複雑な形状の場合は、カーブフィッティングが必要です。数学は毛深くなる。 –

+0

私の目標は、マウスを動かすときに小さなジッタを平均化したものを、マウスで描くのに役立つ小さなアプリを作成することです。これは私が画面から送信される前に、マウスから送信された数字を拾い、操作することができないのかと思っています。 – Darkmage

答えて

2

これは、マウスの動きの影響をわずかに遅らせることができる場合にのみ可能です。特定の周波数でマウスの動きの点を記録し、それらを線に平均化します。次に、その行を使用して必要なものを描画します。マウスカーソルを平均化した位置に直接設定することはできません。その場合、新しいマウスの動きとしてプログラムにフィードバックされます。

マウスの動きをどれくらいの間遅延させることができるか、そしてどれほど積極的なアベレージング(マウスの動きを記録する頻度を制限するかなど)を調整できるようにしてくださいその頻度が高すぎるとCPU使用率に影響する可能性があります)。

もちろん、アプリケーションの中でマウスのための何らかの抽象化を作成し、アプリケーションがそれを保持する方法を作成する必要があります。 (私はこれを通常のwinforms/wpfにできるだけ似ているようにして、変更を元に戻し、必要に応じてマウスの動きを直接使うことができます)。

関連する問題