Mac,iOS介面中的三維座標系

2021-06-07 19:33:11 字數 1422 閱讀 1992

據說有一次笛卡爾生病了,躺在床上休息,但是他的大腦卻沒有休息,乙隻在尋思著通過什麼手段把幾何圖形和代數方程關聯起來,也就是幾何圖形中的每乙個點怎麼和方程的每一組解關聯起來。這個時候他看到房頂上有乙隻蜘蛛在織網,蜘蛛空中爬來爬去。他想地上牆角的三面牆相交出三條線,把牆角作為原點,把這三條線作為數軸,那麼蜘蛛某刻的位置可以通過這三條數軸上的數來表示,反過來,給定一組數便可以確定空間中的一點。後來笛卡爾發明了平面直角座標系,當然上面的故事是三維空間的,只是為了說明,座標系的作用是為了便於描述點的位置。(我們學過的除了平面直角座標系這個二維座標系外,還學過極座標系,通過到原點的距離以及夾角角度來表示乙個點。)

後人在笛卡爾的平面座標系的基礎上發明了三維座標系,常用的三維座標係分兩種:左手座標系和右手座標系。當確定了x軸,y軸方向之後可以通過左手或右手來確定z軸的方向。下圖則是左手座標系和右手座標系的規則示意圖: 

彎曲 拇指,食指和中指使它們兩兩相互垂直,拇指指向x軸正方向,食指指向y軸正方向,中指指向z軸正方向 。左手座標系使用左手,右手座標系使用右手。(上面示意圖中的左手座標系或者右手座標系整體旋轉後性質不變,比如左手座標系旋轉後,使得y軸正方向向下,x軸正方向保持向右,它依然是左手座標系。)

另外還有乙個左手或者右手定則來判斷旋轉的正方向,握住拳頭,拇指指向旋轉軸的正方向,四指彎曲的方向為旋轉的正方向。左手座標系使用左手來判定,右手座標系使用右手來判定. 下圖是右手的例子: 

話說mac,ios中的各種座標系總會讓初學者摸不著頭腦,一會兒這樣一會兒那樣。不過有一點是不變的,z軸的正方向總是指向觀察者,也就是垂直螢幕平面向上。

1.nsview座標系

在mac中nsview的座標系預設是右手座標系(view其實是二維座標系,但是為了方便我們可以假設其是三維座標系,只是所有介面的變化都是在xy平面上),原點在左下角. nsview提供了乙個可以用於覆蓋的方法

-

(bool

)isflipped

;

此預設返回no,當返回yes的時候,則座標系變成左手座標系,座標原點變成左上角。 

2.uiview座標系

而在ios的uiview中,則沒有所謂的flipped coordinate的概念,統一使用左手座標系,也就是座標原點在左上角. 

3.quartz座標系

4.calayer座標系

閒聊三維WebGIS中的座標系

原點在地表 嚴格來說是橢球面上 y一般朝北,x一般朝東,z一般是地心到原點的向量方向,可以粗略認為是地球表面的乙個空間直角區域性座標系。地理座標,雖然可以認為是球面座標系統引申而來,但是將地球展平來看,地理座標還是二維的。z只不過是某個座標點的地面高度 嚴格來說是相對橢球面 嚴格來說,cesium僅...

三維座標 偏轉 三維座標下的旋轉

三維座標的旋轉有以下幾種常見的表示形式 旋轉向量,旋轉矩陣,尤拉角,四元數,下面對這四種表示形式及其之間的轉換進行介紹 旋轉向量 通常為3x1的列向量,向量方向即為旋轉軸,向量的模表示繞軸逆時針旋轉的角度,如旋轉向量v a,b,c 那麼旋轉角度theta sqrt a2 b2 c2 旋轉軸z a t...

使用PyOpenGL繪製三維座標系例項

我就廢話www.cppcns.com不多說了,直接上 吧!def drawcoordinate 繪製三維的座標系,並繪製由座標軸構成的平面的網格,各個坐www.cppcns.com標程式設計客棧軸的顏色以及由座標軸所引出的網格線的顏色為 x 1.0,0.0,0.0 y 0.0,1.0,0.0 z 0...