何为左手坐标系(LH)和右手坐标系(RH)

原创 2007年09月29日 16:37:00

由于一开始接触的是direct 3d的左手笛卡尔坐标系,养成了一种惯性思维,认为无论哪种坐标系,camera就应该沿着z轴的正向看出去,因此怎么也理解不了D3DXMatrixLookAtRH中为什么zaxis = normal(Eye - At)。现在终于明白了,如果把我们的眼睛是camera,在左手坐标系中我们看到的是z轴的正向,在右手坐标系中我们看到的是z轴的负向,我们看到的东西自然在我们前方,而z轴的正向指向我们脑后,因此zaxis = normal(Eye - At)。
值得一提的是无论在哪种坐标系中,旋转,位移,缩放三种变换矩阵的形式是一致的。
在左手坐标系中,从三角形的正向看去顶点是顺时针方向画出的(左手拇指朝向自己,四指弯曲的方向),因此dx的cull render state的默认值为D3DCULL_CCW即裁减逆时针画出的三角形,因为这些三角形是背朝camera的。


下面说一下两个坐标系下的变换矩阵
世界变换在两个坐标系下是一样的。view变换前面已经说过,zaxis求法不同。值得一提的是projection变换。无论在哪种坐标系中projection变换都是z坐标变换为0到1的深度信息(归一化后),越接近1说明深度越大。所以不管3d模型是在哪种坐标系的工具中创建的,经过其相应的mvp变换后的形式都是一样的。举个例子,一个“深度”为1的点在LH的建模系统中的坐标为(0,0,1),而在RH的建模系统中的坐标则为(0,0,-1)。而这两个点在参数相同的LH和RH mvp变换矩阵变换后的形式则是一样的。
也就是说如果我们不考虑dx和opengl使用的默认的变换矩阵的话,这两个所谓使用不同笛卡儿坐标系的api的区别仅仅在于默认的cull mode不同,dx是ccw,opengl是cw。明白了这一点,使用任何一种api渲染任何坐标系的模型都不会再糊涂了吧。 

OpenGL(四) 左右手坐标系及基本坐标变换

左手坐标系、右手坐标系、笛卡尔坐标系 左手坐标系:伸开左手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向。 右手坐标系:伸开右手,大拇指指向X轴正方向,食指指向Y轴正方向,...
  • dcrmg
  • dcrmg
  • 2016年11月08日 22:35
  • 3669

3D空间的左手坐标系和右手坐标系的区别

一直没有搞懂左右手坐标系的区别,现在发现以前数学老师教我们辨别的方法原来是不规范的,怪不得我一直搞不懂。(可能是自己太蠢吧)...
  • zsc2014030403015
  • zsc2014030403015
  • 2016年08月26日 17:11
  • 698

左右手坐标系区别和联系

本文是分析,所谓的右手坐标系转换为左手坐标系需要的: z轴取反;x轴取反(或者改变摄像机位置); 渲染绕序改变,其中的进一步的原因。 1.三角网格顶点数据改变 记得左手坐标系中摄像机坐标系是z轴正...
  • Blues1021
  • Blues1021
  • 2015年08月09日 23:37
  • 4225

左右手坐标系的互换

【原文来自:http://blog.csdn.net/zhang11wu4/article/details/47754035】 左手坐标系和右手坐标系的相互转换 Written b...
  • flued_g
  • flued_g
  • 2016年01月08日 09:43
  • 2066

大战2013之六:解决3DSMax右手坐标系转换左手坐标系的问题

开发过程中,遇到了模型颠倒和纹理错位等现象。   由于一个人搞确实太累,还要为老板做事,那是必须做的事情,所以有时候思考问题不到位,曾几何时竟然还怀疑过discreet 当然我最怀疑的是汉化版的...
  • prsniper
  • prsniper
  • 2013年02月24日 02:07
  • 10110

行向量,列向量,左手坐标系,右手坐标系,矩阵之间的联系

自己也看了很多文章,发现各种说法都有,最后总结了个靠谱的,如果有说错的di...
  • bn030514
  • bn030514
  • 2014年06月06日 00:08
  • 1441

左手坐标系 vs 右手坐标系

左手坐标系 存在两种完全不同的3D坐标系。 伸出左手,让拇指和食指成“L”形,大拇指向右,食指向上。其余的手指指向前方。这样就建立了一个左手坐标系。拇指、食指和其余手指分别代表x,y,z轴的正方向...
  • ahuang1900
  • ahuang1900
  • 2013年10月17日 09:53
  • 2923

左手坐标系和右手坐标系

Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4
  • xiaojianpitt
  • xiaojianpitt
  • 2008年06月13日 17:36
  • 9430

OpenGL: 你不知道的左右手坐标系

左右手坐标系众所周知,OpenGL使用的是右手坐标系,而Direct3D使用的是左手坐标系。除了上面Z轴的方向不一样外,左右手坐标系的还有其他区别:正向旋转方向:在左手系中用Left-Hand Rul...
  • Augusdi
  • Augusdi
  • 2014年03月04日 11:16
  • 7748

左手坐标系和右手坐标系(以及右手定则左手定则)

1.、空间直角坐标系   下面摘录一段百科的解析,这些都是数学基础。过空间定点O作三条互相垂直的数轴,它们都以O为原点,具有相同的单位长度.这三条数轴分别称为X轴(横轴).Y轴(纵轴).Z轴(竖...
  • PengPengBlog
  • PengPengBlog
  • 2016年09月23日 10:07
  • 4361
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:何为左手坐标系(LH)和右手坐标系(RH)
举报原因:
原因补充:

(最多只允许输入30个字)