PS3のコントローラーの傾きをとってくることができて、このコントローラーが上を向いているときの値が1000、真下を向いているときが-1000です
コントローラーを振るとtrueをかえすようにし、振りおわるとfalseと言うようにしたいでんすが
どのようにしたらいいと思いますか?
人によてもつ角度は別々ですし
ですので、自分が考えたのは今の角度と前のフレームの角度を計算して規定以上なら振っていると思ったのですが
うまくいきません
値は・・・
1000
0
-1000
となっており、0がコントローラを水平にしたときです
コントローラーの角度について
Re: コントローラーの角度について
PS3のコントローラがどういうものか存じ上げないので
「振る」という行為がどういうことを指すのかわからないのですが,
「振る」と言うと
「コントローラの傾き姿勢をほぼ保ったまま位置を上下させる」ような行いを想像するのですが
>このコントローラーが上を向いているときの値が1000、真下を向いているときが-1000です
ということだと,振ったかどうかわからないような…?
(昔加速度センサ(?)を使ったときは,傾けても加速度を加えても出力値が変化してた(:両者を区別できない?)けど
なんかそういう感じで データ値の変動が取れるのだろうか?)
で, 振ることによって 観測値が増減するのだとすれば
単に直前のフレームとの差を見るのでは今一つな気がします.
ある一定期間分の観測値の履歴から判断すればいいのではないでしょうか?
単純に「分散が コントローラ放置状態 と比較して有意に大きいか?」とかくらいでも何かしら判定できるのかもしれません.
(時間軸と観測値軸とで2次元のグラフを考えたときに,プロットしたデータが斜めに分布し得る点に注意が必要か?)
「振る」という行為がどういうことを指すのかわからないのですが,
「振る」と言うと
「コントローラの傾き姿勢をほぼ保ったまま位置を上下させる」ような行いを想像するのですが
>このコントローラーが上を向いているときの値が1000、真下を向いているときが-1000です
ということだと,振ったかどうかわからないような…?
(昔加速度センサ(?)を使ったときは,傾けても加速度を加えても出力値が変化してた(:両者を区別できない?)けど
なんかそういう感じで データ値の変動が取れるのだろうか?)
で, 振ることによって 観測値が増減するのだとすれば
単に直前のフレームとの差を見るのでは今一つな気がします.
ある一定期間分の観測値の履歴から判断すればいいのではないでしょうか?
単純に「分散が コントローラ放置状態 と比較して有意に大きいか?」とかくらいでも何かしら判定できるのかもしれません.
(時間軸と観測値軸とで2次元のグラフを考えたときに,プロットしたデータが斜めに分布し得る点に注意が必要か?)