0
モバイルデバイスは、風景モードかポートレートモードかをどのように判断するのですか?Arduinoで「風景」と「ポートレート」の向きを決める
同じセンサーが利用可能であると仮定すると、Arduinoボードで同じ機能を複製することは可能でしょうか?
例えば、下図ボードは風景あろうと90degによって回転する場合には肖像あろう。
モバイルデバイスは、風景モードかポートレートモードかをどのように判断するのですか?Arduinoで「風景」と「ポートレート」の向きを決める
同じセンサーが利用可能であると仮定すると、Arduinoボードで同じ機能を複製することは可能でしょうか?
例えば、下図ボードは風景あろうと90degによって回転する場合には肖像あろう。
この記事では、関連するコードスニペットは、Objective-Cで提供されていますが、簡単に何が必要で翻訳することができ、すべての詳細にhttps://www.safaribooksonline.com/library/view/basic-sensors-in/9781449309480/ch04.html
それを説明します
float x = -[acceleration x];
float y = [acceleration y];
float angle = atan2(y, x);
if(angle >= −2.25 && angle <= −0.75) {
//OrientationPortrait
} else if(angle >= −0.75 && angle <= 0.75){
//OrientationLandscapeRight
} else if(angle >= 0.75 && angle <= 2.25) {
//OrientationPortraitUpsideDown
} else if(angle <= −2.25 || angle >= 2.25) {
//OrientationLandscapeLeft];
}
説明:実引数xとyの両方がゼロでない場合、atan2(y、x)は平面の正のx軸とpoの間の角度です指定された座標で指定されたint角度は、反時計回りの角度に対して正であり、時計回りの角度に対して負である。