我正在阅读有关3D概念和OpenGL的书。这本书总是谈论世界空间,眼睛空间等等。
电脑显示屏的内部世界到底是什么?
什么是世界空间?
什么是眼睛空间?它与投影同义吗?
我正在阅读有关3D概念和OpenGL的书。这本书总是谈论世界空间,眼睛空间等等。
电脑显示屏的内部世界到底是什么?
什么是世界空间?
什么是眼睛空间?它与投影同义吗?
Answers:
在了解什么是世界或眼睛空间之前,什么是空间?
从抽象的意义上讲,几何空间(例如欧几里得空间)是物体倾向于存在的无限范围。该空间定义了生活在该空间中的对象应满足的基本属性。例如,在欧式空间中,距离定义为Sqrt( vector dot product with itself)
。
大多数人倾向于在空间定义和坐标系之间混合使用。作为欧几里德空间的空间定义了属性,但没有定义坐标系,我想说“眼睛空间”最好称为“眼睛坐标”。
在计算机图形学中,我们几乎专门处理欧几里德空间。当您在欧氏空间中定义(X,Y,Z)的顶点时,对我们而言没有任何意义。
更明确的定义是相对于某些坐标系进行定义。例如,顶点(X,Y,Z)相对于眼睛坐标。因此,如果相对于眼睛坐标的顶点=(0,2,3)。这意味着该顶点是:
- 从眼睛X位置的X方向为0。
- 从眼睛Y位置开始沿Y方向显示2。
- 从眼睛Z位置沿Z方向的3位置。
- 并且距眼睛的顶点距离为sqrt(0 ^ 2 + 2 ^ 2 + 3 ^ 2)= sqrt(13)单位。
但是什么是眼坐标,我们如何定义坐标系?
我们通过提供三个类似于方向的正交基(读取:单位长度和垂直)向量和一个位置(平移)来定义坐标系。
因此,如果在openGL中定义了摄影机(请注意,这是相对于世界坐标的):
- Position (0,3,10)
- Up (0,1,0)
- Forward (0,0,-1)
- Right (1,0,0)
这意味着观看者位于世界(0,0,0)的(0,3,10)处,他的右侧与世界X轴对齐,他的前进与世界Z反向,他的上对齐前往世界Y。
但是您谈论的眼坐标太多了,什么是世界坐标?
世界坐标只是固定的父坐标系。眼睛坐标本身应该相对于某物。这是所有相对于其定义的全局坐标系。
世界坐标在X方向上具有固定的i =(1,0,0),在Y方向上具有固定的j =(0,1,0),在Z方向上具有固定的k =(0,0,1)。这些是定义笛卡尔坐标系的向量。
但这没有道理!相对于世界坐标定义的坐标是什么?
我想说这是相对于自己的,实际上这将是宇宙的中心(但这太简单了)。
但是从更实际的意义上讲,我想在计算机图形学中将世界空间定义为宇宙(游戏世界)的中心很方便,因此我们可以想象事物之间如何相互联系。