4*4矩阵,局部空间,世界空间,摄像机空间,NDC空间,光栅空间;
矩阵的逆矩阵
概要:
主要过程 将3D空间的点映射在平面上,并得出二维空间点
4*4 矩阵的可以看做是一组空间坐标系
( x1, x2 ,x3 , 0);
( y1, y2, y3, 0);
( z1, z2, z3, 0);
(Xoffset, Yoffset, Zoffset,0);
---看成,坐标轴从单位矩阵代表的坐标轴移到到的位置
---例如单位矩阵没有移动将局部空间的点转化为世界空间,相当于将物体的局部空间点移到世界空间的原点,然后利用4维矩阵代表的移动来便宜局部空间,--所以局部空间移动到世界空间,就是局部的坐标系在世界空间的位置组成的矩阵 * 局部空间坐标(向量)
*同样,我们可以把相机空间转换到世界空间,意义和局部与世界空间的转换一致,但是,我们希望世界空间的物体用相机空间表示,所以转换矩阵为
Matrix(CameraToWord).inverse * 世界空间-
如何将3d坐标转换为2D坐标 (Camera ->NDC空间)
1.固定z坐标(-1), x = x坐标 / -z坐标 y = y坐标 / -z坐标(相似三角形性质)
2.画布为canvasWidth,canvasWidth,所以有些部分显示不出|x| > width / 2 || |y| height / 2 不显示
这时候已经将空间从照相机空间转化为NDC空间,如何转化光栅空间
1.归一化
(x + width/2)/width
(y + height /2 ) / height
2.光栅坐标系
x = 归一x *width
y= (1-归一y)height
but
在NDC空间中,画布上的点的x和y坐标包含在[0,1]的范围内。在GPU世界中,NDC空间中的坐标包含在[-1,1]范围内.