そこで、Windows Phone 8 用のセンサー API をテストしてきました。私のアプリでは、Combined Motion ( http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202984(v=vs. 105).aspx ).
ポートレート モードではすべて正常に動作し、ロール パラメータ (私はヨーとピッチをスキップします) を度数に変換し、角度を度数で画面に出力できます。電話を目の前に持って反時計回りに回転させると、0 から -20、-30 などの角度が表示されます。
ただし、横向きモードにすると角度がずれてしまいます。一般的なヨー、ピッチ、ロール (飛行機) と、それが携帯電話 (Android、WP) にどのように適用されるかを少し調べた後、ロール角は範囲内でのみ信頼できることがわかりました [ -90,90] 度。ロール値を印刷した後、これが範囲を確認するものです(リンクをタップして画像を表示します:http://i.stack.imgur.com/CPqG1.png)
つまり、ロール値が同じであるため、-45 度と -135 度を区別できません。
だから、私の質問は: 時計回り (または反時計回り) に回したときに、アプリに絶対角度 (0-360) を出力させるにはどうすればよいですか?
電話が床と平行に保持されているかどうかを(横向きモードで)判断する方法が確かにあるに違いありませんか?
VS2012/C#/Windows Phone 8 SDK を使用しています。
正しい方向へのポインタは高く評価されます。おそらく、高校の数学をブラッシュアップする必要がありますか?