关于Android Sensor的文章
2009-11-11 11:07
253 查看
Android 方向传感器 (Orientation Sensor)
Android 方向传感器的类型是 Sensor.TYPE_ORIENTATION
通过 android.hardware.SensorEvent 返回方向传感器值。
方向传感器返回值的单位是角度,有三个值分别是
values[0]: 方位角
values[1]: 倾斜角
values[2]: 旋转角
如同加速度传感器一样,首先Android中 x,y,z 定义是以水平放置在的手机的右下脚为参照系坐标原点(如下图)
x 方向就是手机的水平方向,右为正
y 方向就是手机的水平垂直方向,前为正
z 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负
坐标原点是手机屏幕的左下脚。
x<0 x>0
^
|
+-----------+--> y>0
| |
| |
| |
| | / z<0
| | /
| | /
O-----------+/
|[] [ ] []/
+----------/+ y<0
/
/
|/ z>0 (toward the sky)
O: Origin (x=0,y=0,z=0)
方向角的定义是手机y轴 水平面上的投影 与 正北方向的夹角。 (值得范围是 0 ~ 359 其中0=North, 90=East, 180=South, 270=West)
倾斜角的定义是手机y轴 与水平面的夹角 (手机z轴向y轴方向移动为正 ,值得范围是 -180 ~ 180)
旋转角的定义是手机x轴 与水平面的夹角 (手机x轴离开z轴方向为正, 值得范围是 -90 ~ 90)
============================================================================
Android 加速度传感器的类型是 Sensor.TYPE_ACCELEROMETER
通过 android.hardware.SensorEvent 返回加速度传感器值。
加速度传感器返回值的单位是加速度的单位 m/s^2(米每二次方秒),有三个方向的值分别是
values[0]: x-axis 方向加速度
values[1]: y-axis 方向加速度
values[2]: z-axis 方向加速度
其中x,y,z方向的定义是以水平放置在的手机的右下脚为参照系坐标原点(如下图)
x 方向就是手机的水平方向,右为正
y 方向就是手机的水平垂直方向,前为正
y 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负
x<0 x>0
^
|
+-----------+--> y>0
| |
| |
| |
| | / z<0
| | /
| | /
O-----------+/
|[] [ ] []/
+----------/+ y<0
/
/
|/ z>0 (toward the sky)
O: Origin (x=0,y=0,z=0)
需要注意的是,由于地球固有的重力加速度g (值为9.8 m/s^2),
因此现实中实际加速度值应该是 z方向返回值 - 9.8 m/s^2.
比如你以 2 m/s^2 的加速度将手机抛起,这时z方向的返回值应该是 11.8 m/s^2.
反之若以手机以2 m/s^2 的加速度坠落,则z方向的返回值应该是 7.8 m/s^2.
x,y方向则没有上述限制。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/stevenliyong/archive/2009/09/15/4555331.aspx
Android 方向传感器的类型是 Sensor.TYPE_ORIENTATION
通过 android.hardware.SensorEvent 返回方向传感器值。
方向传感器返回值的单位是角度,有三个值分别是
values[0]: 方位角
values[1]: 倾斜角
values[2]: 旋转角
如同加速度传感器一样,首先Android中 x,y,z 定义是以水平放置在的手机的右下脚为参照系坐标原点(如下图)
x 方向就是手机的水平方向,右为正
y 方向就是手机的水平垂直方向,前为正
z 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负
坐标原点是手机屏幕的左下脚。
x<0 x>0
^
|
+-----------+--> y>0
| |
| |
| |
| | / z<0
| | /
| | /
O-----------+/
|[] [ ] []/
+----------/+ y<0
/
/
|/ z>0 (toward the sky)
O: Origin (x=0,y=0,z=0)
方向角的定义是手机y轴 水平面上的投影 与 正北方向的夹角。 (值得范围是 0 ~ 359 其中0=North, 90=East, 180=South, 270=West)
倾斜角的定义是手机y轴 与水平面的夹角 (手机z轴向y轴方向移动为正 ,值得范围是 -180 ~ 180)
旋转角的定义是手机x轴 与水平面的夹角 (手机x轴离开z轴方向为正, 值得范围是 -90 ~ 90)
============================================================================
Android 加速度传感器的类型是 Sensor.TYPE_ACCELEROMETER
通过 android.hardware.SensorEvent 返回加速度传感器值。
加速度传感器返回值的单位是加速度的单位 m/s^2(米每二次方秒),有三个方向的值分别是
values[0]: x-axis 方向加速度
values[1]: y-axis 方向加速度
values[2]: z-axis 方向加速度
其中x,y,z方向的定义是以水平放置在的手机的右下脚为参照系坐标原点(如下图)
x 方向就是手机的水平方向,右为正
y 方向就是手机的水平垂直方向,前为正
y 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负
x<0 x>0
^
|
+-----------+--> y>0
| |
| |
| |
| | / z<0
| | /
| | /
O-----------+/
|[] [ ] []/
+----------/+ y<0
/
/
|/ z>0 (toward the sky)
O: Origin (x=0,y=0,z=0)
需要注意的是,由于地球固有的重力加速度g (值为9.8 m/s^2),
因此现实中实际加速度值应该是 z方向返回值 - 9.8 m/s^2.
比如你以 2 m/s^2 的加速度将手机抛起,这时z方向的返回值应该是 11.8 m/s^2.
反之若以手机以2 m/s^2 的加速度坠落,则z方向的返回值应该是 7.8 m/s^2.
x,y方向则没有上述限制。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/stevenliyong/archive/2009/09/15/4555331.aspx
相关文章推荐
- 关于android长连接及休眠唤醒的几篇文章
- 一篇文章理解所有android关于存储的方法
- 【Android】关于github的两篇文章
- 【转载两篇关于android按键事件传递的文章,流程非常完整】Android按键事件传递流程(一)
- 关于 给 Android 开发者的 RxJava 详解 这篇文章的心得
- Android中关于dip和px以及转换的总结(重点推荐文章)
- 关于Android中Message机制的两篇文章
- android关于获取手机唯一码的组合文章
- 关于android内存泄漏的两篇好文章
- 关于Android权限的一些文章
- 一篇文章理解所有android关于存储的方法
- 关于android架构的文章工程等
- 关于android2.3调试g-sensor
- 【转载两篇关于android按键事件传递的文章,流程非常完整】Android按键事件传递流程(二)
- 关于Android Launcher3相关优秀文章的记录
- 关于android HAL接口的一片比较好的文章
- 转载关于android高效显示图片的文章---From 移动微技
- 关于“基于XMPP的Android即时通讯APP”系列文章停止更新的声明
- 关于Android下WIFI移植的一些指导文章
- 关于Android开发中SensorManager频率设置的问题