我已經讓我的3D場景的相機按照需要旋轉,但要做到這一點,我使用SensorManager.getOrientation(rotationMatrixIn, eulerAnglesOut);
轉換爲歐拉角,所以我可以在重新計算旋轉之前將90加到音高上矩陣從修改的歐拉角。我將90度加到音高上,這樣我的旋轉就可以用於立體地圖,當手機垂直於地面時,Y向上。旋轉關於什麼是間距歐拉角的旋轉矩陣
我使用歐拉角度,因爲這使得直觀地旋轉90度的音高。但是,當手機靠近垂直方向並且音高接近-90或90度時,我現在正受到萬向節鎖的困擾。視圖在接近這些角度時快速旋轉180度(在滾動和方位軸)。當我使用未修改的旋轉矩陣時,不會發生這種情況,但是我沒有我需要的方向更正。
我在繞過歐拉角轉換所需的數學方面遇到了困難,並且直接將旋轉矩陣旋轉90度,旋轉角度爲歐拉角中的X軸,並反轉滾動。我可以訪問圖書館(矩陣和四元數)中的各種數學課程,這些課程可以相互乘數並轉換成Eulers。
我想旋轉什麼是X軸。有沒有辦法做到這一點,而不引入萬向節鎖?
澄清:我所說的歐拉角是-Z,X,Y階,其中X是球場。
糟糕我的意思是後乘,抱歉。這取決於您使用哪種約定 - 即OpenGL或DirectX – meowgoesthedog