新浪博客

笛卡尔坐标系

2016-08-13 09:56阅读:
理论 1、什么是笛卡尔坐标系?
笛卡尔坐标系就是两条(或三条)不相交的坐标轴组成的坐标系。当这两条坐标轴互相垂直的时候就是正交(也称直交)坐标系,否则就是斜角坐标系。
2、二维坐标系
一个二维笛卡尔坐标系包含了两个部分的信息:
  • 一个特殊的位置,即原点,它是整个坐标系的中心。
  • 两条过原点的相互垂直的矢量,即x轴和y轴。这些坐标轴也称为是该坐标系的基矢量。

在OpenGL中x轴向右,y轴向上。而在DirectX中x轴向右,y轴向下。
3、三维坐标系
在三维坐标系中,我们需要定义3个坐标轴和一个原点。
这3个坐标轴也被称为该坐标系的基矢量(basis vector)。
通常情况下,这3个坐标轴是相互垂直的,且长度为1,这样的基矢量被称为标准正交基(orthonormal basis)。
还有一些特殊情况,坐标轴相互垂直但长度并不为1,这样的基矢量被称为正交基(orthogonal basis)。
正交?
正交可以理解成相互垂直的意思。
4、左/右手坐标系
和二维坐标系一样,因为坐标轴方向不固定,所以导致产生了两种不同类型的三维坐标系:
左手坐标系(left-handed)和右手坐标系(right-handed)。
它们之间有两点不同:
  • 坐标轴朝向
  • 旋转方向

坐标轴朝向
伸出手,食指向上 ,中指向前,伸直大拇指,此时大拇指、食指和中指分别对应x,y,z轴。
旋转方向
伸出手,握拳,伸出大拇指让它指向旋转轴的正方向,那么剩下4个手指的弯曲方向就是旋转的正方向。
五、Unity中的坐标系
Unity采用的是左手坐标系。
世界空间,以世界坐标(0,0)点为原点的坐标系。
模型空间,在模型坐标为原点的坐标系。


观察空间
观察空间,通俗来讲就是以摄像机为原点的坐标系。
而观察空间采用的是右手坐标系,所以在这个坐标系中,摄像机的前向是z轴的负方向,这与模型空间和世界空间的定义相反。
例:在世界空间中,一个球体的坐标是(0,1,0),摄像机的坐标是(0,1,-10)。
那么在摄像机的观察空间中,该球体的z值为-10。
在摄像机的模型空间中,改球体的z值为10。




我的更多文章

下载客户端阅读体验更佳

APP专享