三维坐标系变换

   三维场景中,模型会经过一系列的变换(流水线处理),最终显示到屏幕上,

三维坐标系变换_第1张图片


Local Space 本地坐标系

即模型的建模坐标系,如在3dmax中,模型建模时,模型中心可以位于坐标原点(0,0,0),也可以偏移一定位置,此处的原点就是模型坐标系的原点。

World Space 世界坐标系

即模型在3d场景中所处的位置,整个场景属于同一个坐标系统。场景中的模型,都是通过模型变换(缩放、旋转、平移等刚体变换),放置在世界坐标系中的,

一般要控制三维场景中模型的运动,都是通过模型变换矩阵来完成。

Eye Space 相机坐标系

即观察整个场景,虚拟相机的位置(对于OpenGL坐标系,相机坐标系+x:向右,+y:向上,+z:向屏幕内部),场景中的模型要被看到,必须通过视图变换矩阵,

经过变换,才能看到。

三维坐标系变换_第2张图片

                  世界坐标系相机坐标系

Clip Space 裁剪坐标系(也叫投影坐标系)

 相机是确定观察范围的一个坐标系统,它会将物体空间按照不同的方式显示到屏幕

相机坐标系到裁剪坐标系,是通过投影来完成,投影又分为透视投影和平行投影。

透视投影的投影线相交于一点,一次投影结果与原物实际大小并不一致,到会导致近大远小,这种方式更接近真实世界的效果。

平行投影的投影线互相平行,投影的结果与原物大小一致,广泛应用于工业制图方面。正交投影是平行投影的一种特殊情况。

正交投影的投影直线平行于观察平面(例如有轴承图,就是投影直线和观察平面成45度角的平行投影)

三维坐标系变换_第3张图片

  正交投影

三维坐标系变换_第4张图片

透视投影

NDC Space 规范化坐标系

它是设备的归一化坐标系,投影坐标系经过透视除法,消去深度信息,投影到二维的NDC坐标

Screen Space 屏幕坐标系

最后一步,需要将归一化的坐标进行映射,映射到实际设备所支持的分辨率大小,整个三维场景就显示出来了。



平时,三维程序中,用的最多的就是MVP: Model View Project 坐标系变换的三个矩阵

三维坐标系变换_第5张图片

你可能感兴趣的:(图形学)