3d unityy3d matrix4x4中最后一行表示什么

概括:openGL是一个三维的图形库我們调用openGL的API在三维当中绘制图形以及对其进行相应的控制,如平移、旋转等openGL根据综合的因素对我们绘制的图形进行处理并显示在屏幕上。

1.1、任何的几何图形无论是三维的还是二维的都是由点组成的而我们描述点就是描述其坐标,描述坐标就必须有参考位置也就死坐标系openGLΦ采用的三维直角笛卡尔坐标系。简单的说就是x y z轴相互垂直的坐标系统

1.2、在openGL中坐标系和点的坐标值都是用矩阵表示的。

2.1、旋转和缩放可鉯通过矩阵相乘来实现而平移可以通过矩阵相加来实现,openGL为了实现两者的统一就是所有的几何变换都是通过矩阵相乘来实现所以对坐標系和点的矩阵进行了修改,表示如下:

,1]->本来是凑数的呵呵,满足矩阵运算但是openGL赋予了最后一个坐标值意义,就是整体的缩放

三、模型视图与投影视图

3.1、模型视图可以理解为描述几何图形的视图,当我们对几何图形进行变换时实际上是对模型视图矩阵进行相应的乘法操作,也就是说经过变换以后我们得到了一个相对于一个坐标系统的一系列点坐标(点矩阵)

3.2、投影视图是把由模型视图得来的点坐標映射到屏幕上,这里有正投影和透视投影两种方式正投影就是从z轴的正方向垂直往往负方向投影,而透视投影可以任意选择角度和方姠对几何图形进行观察

3.3、最后我们还要设置窗口的剪裁特性,openGL根据以上的设置完成了几何图形的显示

四、openGL几何转换相关函数举例说明。

这个函数设置窗口中的哪一块区域用于几何对象的投影下面举例说明。

上面的程序由于glViewport把投影区设置为和窗口一致所以我们看到一個绿色的矩形投影到了窗口的正中央,效果如下:

如果把glViewport语句改成glViewport(0,0,200,200);则矩形被投影到了左下角的四分之一的正方形的中央效果如下:

上文提到,几何变换就是对矩阵的乘法计算在模型视图转换就是对模型视图矩阵计算,在投影设置的时候就是对投影矩阵进行计算这个函數的意义就是声明现在要对那个矩阵进行转换了。

声明对投影矩阵进行操作能对投影矩阵产生影响的函数有。

透视投影能从任意角度和方向观察几何图形而且透视投影的另外最重要的特点是举例观察点远的物体投影到屏幕上时会相对较小。


注意此函数的观察方向依然是z軸的负方向

gluLookAt(观察者坐标,观察目标坐标观察者上方向坐标),改变的是模型视图矩阵

矩阵可以进行压栈出栈的操作。

我要回帖

更多关于 3d unity 的文章

 

随机推荐