camera的座標系是左手座標系。伸出左手,讓拇指和食指成L形,大拇指向右,食指向上,中指指向前方,這樣我們就建立了一個左手座標系,拇指,食指,中指的指向分別代表了x,y,z軸的正方向。如下圖所示:
下面是一些細節點:
1,camera位於座標點(0,0),也就是視圖的左上角;
2,camera.translate(10, 20, 30)的意思是把觀察物體右移10,上移20,向前移30(即讓物體遠離camera,這樣物體將會變小);
3,camera.rotateX(45)的意思是繞x軸順時針旋轉45度。舉例來說,如果物體中間線和x軸重合的話,繞x軸順時針旋轉45度就是指物體上半部分向裏翻轉,下半部分向外翻轉;
4,camera.rotateY(45)的意思是繞y軸順時針旋轉45度。舉例來說,如果物體中間線和y軸重合的話,繞y軸順時針旋轉45度就是指物體右半部分向裏翻轉,左半部分向外翻轉;
5,camera.rotateZ(45)的意思是繞z軸順時針旋轉45度。舉例來說,如果物體中間線和z軸重合的話,繞z軸順時針旋轉45度就是指物體上半部分向左翻轉,下半部分向右翻轉;
------------------------------------------------------------------------------------------------
Matrix是一個3 x 3的2D空間矩陣,關於其具體請參見博文《Android Matrix理論與應用詳解》,這裏補充說明一點:
1,下圖中的MPERSP_2指的是投影變換
關於投影變換理論部分請參見博文《OpenGL筆記之矩陣變換(Matrix Transformation)》,其實際作用就是如果MPERSP_2=0.5,那麼物體是原來的4倍大小;如果MPERSP_2=2,那麼物體是原來的1/4大小。
------------------------------------------------------------------------------------------------
Camera和Matrix的聯合使用:一般情況下,如果我們需要進行3D變換,那麼需要將Camera和Matrix聯合使用,使用Camera進行x軸或y軸的旋轉,使用Matrix進行平移或放大。
------------------------------------------------------------------------------------------------
【注】:該文章系轉載,原文:http://blog.csdn.net/imyfriend/article/details/8045973