Android加速度计角度计算

问题描述:

任何人都可以提供任何想法来计算指南针应旋转角度指向加速度计x,y,z值重力方向?Android加速度计角度计算

我认为X应该是0,y应该是正值,而z接近0则指南针指向地球。 (这意味着手机保持垂直)。

一般而言,从0角,指南针角应该是这样

float accelerometerMaxRange = 10; // This is NOT right, but it's a good value to work with 
float newAngle = 0; 
if (z > 9) { 
    // Phone is horizontally flat, can't point towards gravity, really. Do whatever you think is right 
} else { 
    newAngle = (float)(x * 90/accelerometerMaxRange); 
    if (y < 0) { 
     newAngle = 180 - newAngle; 
    } 
} 
+0

顶部的问题是,有多少是'accelerometerMaxRange') – 2013-06-25 16:35:30