2019年1月7日 星期一

3D空間坐標系認定的問題

3D空間坐標系認定的問題

前言

  3D空間坐標系在入門的時候似乎說得很清楚,有分為左手系與右手系,但最近發現以前學到的判定方法有問題,在此做個紀錄。

內容

  先說說我先前的認定方法,先看下圖
有問題的空間坐標系認定法

當X軸與Y軸的固定後看Z的方向來決定是左手或右手,但這個方法在拿來判定Unreal4的時候,會被判定為"左手系",但事實不然,查找Unreal4講述空間座標的文件後,發現一種新的坐標系,名為正交座標系,這時才發現以前的判定法有問題必須改變判定法。

  判定坐標系時,之前只考慮軸的方向而已,這次要多考慮旋轉的方向來判定,如圖
判定軸的旋轉方向
把眼睛對著軸的方向後,看當給予該軸正旋轉值時,會是"順時針"或"逆時針",如果多加上這個原則後,左手系的每個軸的旋轉方向都會是"順時針",右手系則是每個軸的旋轉方向都是"逆時針",Unreal4的X軸與Y軸的旋轉方向是"逆時針",但Z軸的旋轉方向卻是"順時針",
如下圖
坐標系比較圖
正交系的判定目前我還沒找到,但至少不會再把Unreal4判為左手系了。

  這裡順便把目前用的3D軟體的坐標系列出來:
Unity3D:左手系
Blender3D:右手系
Unreal4:正交坐標系
Lumberyard:右手系
CryEngine:右手系
看來是右手系多一點。坐標系是否有優劣之分?Unreal4為何採用正交座標系的理由在文件裡並沒有說明,這個問題就留到未來在解決。

參考資料

笛卡兒坐標系
Unreal4講述空間座標的文件
正交座標系

沒有留言:

張貼留言