3D图形数学基础(一)座标系

一、常用座标系

1. 笛卡尔座标系

     两条垂直数轴相交于一点构成的座标系称为2D笛卡尔座标系,而三条数轴两两垂直并相交于一点构成的座标系称为3D笛卡尔座标系。对于2D笛卡尔座标系来说,某一轴向座标系通过翻转都可以得到其它不同轴向的座标系,所以我们说所有的2D笛卡尔座标系都是“等价”的。但是3D笛卡尔座标系通过翻转等操作,仍有某个轴的反向座标系不能得到。通过观察发现,当某两个轴的方向确定时,另外一个轴的正反两个方向分别确定了两个座标系——左手座标系右手座标系
    在3D笛卡尔座标系中,有48种不同轴向的座标系,其中24种为左手座标系,另外24种为右手座标系。左手座标系的某个轴向座标系可以通过旋转得到另外23种轴向座标系,所以这24种轴向座标系是“等价”的;右手座标系亦相同。左右手座标系只有某个轴向相反,所以通过只翻转一个轴的正负号,可以实现简单的座标转换。一般使用场景中,图形学常使用左手座标系,比如UE4的世界场景座标系;而在线代数学中使用右手座标系。所以在数学计算时,注意区分座标系,否则无法得到正确结果。
左右手座标系

2. 极座标系

在平面上取定一点O,称为极点。从O出发引一条射线Ox,称为极轴。再取定一个单位长度,通常规定角度取逆时针方向为正。这样,平面上任一点P的位置就可以用线段OP的长度ρ以及从Ox到OP的角度θ来确定,有序数对(ρ,θ)就称为P点的极座标,记为P(ρ,θ);ρ称为P点的极径,θ称为P点的极角。
极座标系

二、建立座标系

1. 世界座标系

世界座标系是相对于整个世界建立起的座标系,所有物体(Actor)在世界场景中都有相对于世界座标系的绝对座标位置,也可以描述世界场景中其他座标系的位置。

2. 惯性座标系

惯性座标系是在单个物体(Actor)上建立的座标系,它的座标轴平行于世界座标系。并且,惯性座标系和下面的物体座标系为同一个原地。因为惯性座标系的轴平行于世界座标系,所以我们可以通过平移惯性座标系得到世界座标系。
在UE4的场景中,我们把视窗的座标系设置为“World”,此时,当我们选中物体时,显示在物体上的座标系就是物体的惯性座标系。
惯性座标系

3. 物体座标系

物体座标系也是在单个物体(Actor)上建立的座标系。与惯性座标系不同的是,它座标轴并不一定平行于世界座标系,而是一个完全独立的座标系。因为物体座标系和惯性座标系使用同一个座标原点,所以通过旋转物体座标系可以得到惯性座标系。
而当我们将座标系设置为“Local”,选中的物体则显示物体座标系。
物体座标系

4. 座标系嵌套

    在世界场景中,我们建立一个世界座标系,每个物体都有相对于世界座标系的绝对位置。而物体上的组件在世界座标系中也有一个绝对座标。但是在很多应用场景中,我们很难直接计算物体组件的绝对座标。比如,当世界场景中的人擡起胳膊时,如果同时计算胳膊和手的实时绝对座标,事情会变得复杂。而把胳膊和手看做一个整体,并建立座标系,我们只需要计算此座标系在世界座标系中的绝对座标即可,而手相对于此座标系的位置却是不变的,所以可以直接将此物体座标位置加手相对此座标的位置即可得出手在世界座标系中的实时变化的绝对位置。而如果手也同时进行变化时,也可以直接根据此座标系去计算也方便很多。在世界座标系中建立物体座标系的方法,就叫座标系的嵌套。在物体上建立的座标系可以看做是世界座标系空间中的子空间或子座标系。保存物体座标系的信息时,需要记录两个数据,一个是物体座标原点的绝对位置和物体座标系的轴向。

5. 摄像机座标系

    摄像机座标系与2D屏幕座标系也有很大关系。摄像机座标系是定义在摄像机的屏幕可视区域的特殊座标系,一般以摄像机为原点,x轴向右,z轴向前(摄像机朝向),y轴向上(摄像机上方,而不是世界座标的上方)。它是以观察者的角度建立起来的座标系。将物体转换到2D屏幕上是通过投影过程转换得到的,投影相关知识后面再总结补充。
摄像机座标系和世界座标系
投影

三、座标转换

     上面讲了世界座标系、惯性座标系和物体座标系,在实际使用中,我们经常需要进行座标转换。我们常用的座标系是世界座标系和物体座标系,而惯性座标系是世界座标和物体座标转换的一个媒介座标系。
     若已知一个组件的相对位置(即物体座标系位置),可以通过旋转物体座标系与惯性座标系重合得到其在惯性座标系中的座标,而将惯性座标系平移与世界座标系重合,又可以得到其在世界座标系的绝对座标。所以通过一个惯性座标系,相对座标可以通过旋转、平移得到其绝对座标;而绝对位置通过平移、旋转得到相对座标。
座标系

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章