ちょっとJavaからもAndroid SDKからも離れてお考えください。
これは機能要求をソフトウェア仕様へと落とし込む、「要件定義」の課題となります。
すなわち問題は「『振り切った』とは物理的に端末の運動がどういう状態になったことのことを指しているのか」を決めることなのです。
もちろん、人間が頭の中で「振り切った」図をイメージするのは容易く誰にでもできるのですがそれを実際に「加速度がどうなった」「角加速度がどうなった」と厳密な条件で表現するのがまさにプログラマの本領です。
例えばですが【振り始めた】を「角速度が360度毎秒を上回った」、【振っている】を「直近1秒以内に振り始めており、それからの角度変位が90度を越えた」、【振り切った】を「直近1秒以内に振っており、その間の角速度の最大値の1/10以下の角速度が記録された」などと定義などしてみましょう(居合いを知らないので数字は適当ですが)。
そのように定義ができたら、後は粛々とそれを判定するコードを書けばいいのです。
どちらにしろ定義です。
それを決めるのに、すごく真面目にやろうと思ったら名人の演舞をビデオに撮ってコマごとの位置と向きから瞬間ごとの加速度・角加速度を算出、これをExcelででもグラフにして特徴をつかむなんていう作業が必要ですよね。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/12/14 05:16