最近在做一個類似VR照片的demo,跟全景圖片也很像,只是VR照片與全景720度顯示,我只做了180度。但我發(fā)現(xiàn)他們實現(xiàn)的原理有一絲相似,希望可以給一些想入行AR、VR的朋友一些提示吧。
要想根據(jù)用戶搖晃手機的行為軌跡展示相應的場景,那必須要使用移動端的陀螺儀、加速器等傳感器來做相應的協(xié)調(diào)。現(xiàn)在的移動端已經(jīng)提供了很多傳感器,你可以根據(jù)自己的需要獲取相應的數(shù)據(jù)。
剛開始的時候,我使用傳感器提供的姿態(tài)角,也稱為歐拉角:pitch yaw roll 來顯示。這種 姿態(tài)角/歐拉角 比較常用在航空上,無人機技術應該也使用到了這個技術點。我用飛機的模型來展示一下這三個角,就一目了然了(不同作者使用不同的坐標系,使用哪種坐標系,個人而定。):
圖一
姿態(tài)角/歐拉角 在數(shù)學上理解起來會有點抽象,我也是稍理解一點。在維基百科上,歐拉角定義為:用來描述剛體在三維歐幾里得空間的取向,對于任何參考系,一個剛體的取向,是依照順序,從這參考系,做三個歐拉角的旋轉(zhuǎn)而設定的。有興趣了解得深入一點,可以參考(需FQ):
https://zh.wikipedia.org/wiki/%E6%AC%A7%E6%8B%89%E8%A7%92
我們也可以簡單理解這三個角代表什么意思:
1、俯仰角θ(pitch):圍繞Y軸旋轉(zhuǎn)的。
圖二
2、偏航角ψ(yaw):圍繞Z軸旋轉(zhuǎn)的角度。
圖三
3、滾轉(zhuǎn)角Φ(roll):圍繞X軸旋轉(zhuǎn)的角度。
圖四
手機的坐標系: