簡體   English   中英

將世界轉換為對象坐標

[英]Convert world to object coordinates

iPhone陀螺儀接收相對於某個參考姿態的旋轉數據,並且旋轉不變(除非相乘)。可以說,我使用iPhone相機面對牆壁,並向左旋轉45度( roll += PI/4

現在,如果我將手機抬到天花板上,則偏航和俯仰都會改變,因為坐標空間是固定的(世界坐標空間,不會隨手機移動或旋轉。)是否可以確定該角度(地板平面和相機方向向量),橫搖,偏航和俯仰?

編輯:而不是打開另一個問題,我將在這里嘗試。 呂克的解決方案有效。 但是如何獲得其他兩個旋轉角度呢? 我已經閱讀了發布的鏈接上的信息,但是學習線性代數已經有好幾年了。 實際上,這可能比編程問題還要數學。

我不是真的為iPhone編寫代碼,所以我會在“真實世界坐標”框架上信任您。

在這種情況下,您需要兩個z軸向量之間的點積。 這將為您提供所需角度的余弦,因此非常接近。 由於平面之間的角度只有在90°之間的值才有意義,因此您實際上擁有該余弦中所需的所有信息。

而且這里沒有乳膠格式,否則我會更詳細一些,但是如果您感興趣,請閱讀此頁面 ,我將在此處包括最終結果,即三個旋轉的旋轉矩陣: 旋轉矩陣

現在,水平平面的z軸矢量為(0,0,1) (盡管將其作為垂直矢量讀取)並隨此矩陣旋轉,您只需獲得其第三列即可。

因此,我們希望在第三列和我們的(0,0,1)向量之間具有點積,因此得到的cos(β)cos(γ)cos(pitch)*cos(roll)

總之,您的計划之間的夾角是arccos(cos(pitch)*cos(roll)) 此值將告訴您iPhone傾斜了多少,而不是向哪個方向傾斜。 但是您可以根據我們所說的向量(矩陣的最右列)的值來進行計算。

暫無
暫無

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

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