簡體   English   中英

無論設備方向如何,如何獲得水平旋轉角度?

[英]How can I get horizontal rotation angle whatever device orientation?

當設備為縱向時,我可以通過計算滾動值 (根據iOS Device Motion的定義)來獲得水平旋轉角度。

移動設備的x,y,z軸: iOS旋轉框架圖像

但是,當設備處於橫向時,y軸為水平,x軸為垂直。 如何獲得角度? 音調值不正確。 我試圖用四元數交換x和y,但是沒有用。

還有,當設備位於人像和風景中間時,如何獲得角度?例如,將設備繞z軸傾斜30度?

是否存在統一的四元數或旋轉矩陣來計算角度(無論設備方向如何)?

可能您想獲取某個設備“方向”的角度。 例如,如果要獲取在地面上投影的Z軸的角度,請准確進行。

  1. 將Z(0,0,1)向量轉換為當前設備旋轉。
  2. 您在某些世界框架中有“ ZinWorld”矢量的方向。
  3. 根據世界框架方向,將“ ZinWorld”投影到地平面。 例如,如果在默認世界框架中Z指向UP,則僅取“ ZinWorld”的XY分量。
  4. 取atan2(X,Y)以獲得適當的角度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM