1 左手坐标系右手坐标系

一个成熟的三维图形算法或者一个成熟的渲染库都会最先确定自己的坐标系统,然后以此作为基础,在上面进行基础数学库的开发。目前左手坐标系与右手坐标系在三维渲染领域平分秋色,两者都有较为广泛的应用。

基本上从事三维图形工作的人都会遇到一个不可避免的难题,那就是如何正确的将位移与旋转在左手坐标系统和右手坐标系统中完成转换。

不可避免的是,我也是那一个受害者,但是当我翻遍百度与谷歌所有关于左手坐标系与右手坐标的所有链接时,我的感觉是没有一篇博文能够真正的从浅入深的讲清楚如何正确的转换左手坐标系统和右手坐标系统,各种旋转矩阵变换,四元数变换,欧拉角变换,越看越感到疑惑。

无疑,这种感觉是令人绝望的。所以我花了很多的时间去搞清楚左手坐标系与右手坐标系的转换,并开了这个专栏,将我自己的理解写下来,希望能够给正在纠结这个问题的人一些启发。

2 左手坐标系与右手坐标系的几种形式

一般左手坐标系与右手坐标系要么采用Y轴向上的方式,也就是俗称的Y up,要么采用Z轴向上的方式,也就是俗称的Z up,下面我将左手坐标系以及右手坐标系以Yup或Zup的方式表达的形式以图的方式表现出来。

2.1 左手坐标系的几种形式

左手坐标系与右手坐标系-StubbornHuang Blog

2.2 右手坐标系的几种形式

左手坐标系与右手坐标系-StubbornHuang Blog

下篇文章将介绍各个主流三维引擎的坐标系类别。