高分求助 如何通过传感器计算设备法向量 求线代和几何高手 (内附方位传感器返回值的详细说明)

CuGBabyBeaR 2012-08-06 08:37:39
先建立坐标系:以设备中心为原点,地磁北向为Y 地磁东为X 垂直于水平面指向天空为Z

方位传感器返回一个 float [3] values
当设备屏幕朝上 短边平行于X轴 长边平行于Y轴时 values 值为 {0,0,0}

其中:

values[0]: Azimuth 方位角
官方文档是说:Y轴绕Z轴与地磁北向的夹角
实际上可以理解为:以Z为旋转轴旋转设备 从上方(Z轴正向)看下去,顺时针方向旋转的角度即为这个值,取值范围[0,360)

values[1]:pitch 倾斜
官方文档说: 绕X轴旋转的角度(-180~180) , Z轴向Y轴旋转的方向为正值
可以理解为: 以Z为旋转轴旋转设备 从东(X轴正向)看,顺时针旋转的角度。

values[2]:roll 旋转
官方文档: 绕Y轴旋转的角度 (-90 to 90) , X轴向Z轴旋转的方向为正
理解为: 以Y轴为旋转轴旋转设备 从北(Y轴正向)看,顺时针旋转的角度。




情况就是这样


我的目的是写一个我自己专业上用的,测量地层产状的工具 测量时将设备平放在地层上 按键开始测量

产状的测量需要两个值 简单说来
一个是这个地层的法向量在水平面投影的方位角 我们叫做倾向
以及这个地层与水平面的夹角 我们叫它倾角

我用几何方法只能算出来倾角 并且貌似算错了。

目前的想法是获得设备所在平面的法向量即可计算出产状
将初始状态下设备的法向量(0,0,1) 通过旋转矩阵或者几何方法获得当前状态设备的法向量
无奈线性代数和空间解析几何太差...始终算不对...
...全文
112 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangliop 2012-08-07
  • 打赏
  • 举报
回复
帮楼主顶下,我也很关心这个问题
CuGBabyBeaR 2012-08-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

先建立坐标系:以设备中心为原点,地磁北向为Y 地磁东为X 垂直于水平面指向天空为Z
你的这个坐标系,和android的方向传感器的坐标系,z,x都是反的,对吧?
[/Quote]

没有啊 和安卓定义的一致啊...
hvk687 2012-08-07
  • 打赏
  • 举报
回复
先建立坐标系:以设备中心为原点,地磁北向为Y 地磁东为X 垂直于水平面指向天空为Z
你的这个坐标系,和android的方向传感器的坐标系,z,x都是反的,对吧?
AMinfo 2012-08-06
  • 打赏
  • 举报
回复
关键的问题是找出算法,建议你把描述再详细一些,甚至画图...

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧