Y UP 和 Z UP的概念

2021-10-19 09:08:57 字數 1237 閱讀 7934

圖形學中y up和z up的概念也會讓人困惑,這是什麼?為什麼要這樣?

所有的3d工具都包含乙個具有x、y和z軸的三維環境。在這些工具中,x軸方向是相同的,即在前檢視時從左到右的水平線。

然而, 不同的 3d 工具可能對y軸和z軸的朝向有不同的解釋。一些3d 工具是y-up的, 即y軸時豎直方向的;而 其他的3d工具是z-up的, 即z軸時豎直方向的。

不同的3d工具關於豎直方向(up方向)是y軸還是z軸有不同的定義 ,而處理的比較好的3d工具是可以自動的進行y-up/z-up間的轉換的,即支援y-up、z-up的模型匯入,自動的針對性做不同的處理,讓模型能夠正常顯示和使用。

由上圖可知,如果是z-up的模型,匯入到y-up的3d工具中,或者將y-up的模型匯入到z-up的3d工具中,如果不作處理的話,那麼模型顯示將是錯誤的,

那麼該怎麼處理呢?大家仔細看看圖,想一想~

由 y-up 轉換為 z-up,可以對模型繞著x軸旋轉π/2(弧度)來達到此操作,相當於應用如下的轉換矩陣 (這裡是行優先展示的):

[

1.0, 0.0, 0.0, 0.0,

0.0, 0.0, -1.0, 0.0,

0.0, 1.0, 0.0, 0.0,

0.0, 0.0, 0.0, 1.0

]

同理,由z-up轉換為y-up,可以對模型繞著x軸旋轉-π/2(弧度)來達到此操作;

gltf格式標準是y up,儲存還是按照x y z,只不過y的資料是模型的up方向的,解析gltf的業務方都是按照這個標準來解析,如果顯示的平台是z up的,就需要對模型做轉換,轉換過程見上文。

y-up or z-up

ARC的概念和分類的概念

1.arc的概念及原理 指標的分類 強指標和弱指標 預設情況下指標都是強指標,關鍵字 strong 弱指標關鍵字 weak arc是自動記憶體管理,它是乙個編譯器的特性,就像點語法。只不過是編譯器幫我們新增並且不允許我們自己使用retain,release,autorelease,retaincou...

物件導向的概念和類和物件的概念

es6中的物件導向是和其他語言基本比較相似 js正常來說是基於物件語言 很多程式都是基於物件開發 不是物件導向 但是在es6中 我們引入了其他語言中的物件導向 面向過程就是 你需要什麼 寫什麼 物件導向 他就是 你直接封裝好乙個功能 需要的時候 在 呼叫 物件導向的好處 1.避免 冗餘 2.便於後期...

linux概念和linux命令的概念

什麼是linux?linux表示linux核心,決定軟體的執行順序。什麼是shell?表示保護核心的殼,使用者或軟體通過shell來訪問核心。如何在linux中執行命令 開啟shell 在命令提示符後輸入動作 kiosk foundation7 desktop 字元作用 kiosk使用者 分隔符fo...