三角形图元(Triangle Primitive)

三角形是最基础的多边形,且任何多边形都能拆解为三角形。除此之外,还有优点如下:

  • 三角形内一定是平面
  • 三角形内部外部定义清晰
  • 定义三个顶点后,可以在三角形内做“渐变”(插值)。

经过MVP变换和视口变换,我们已经得到屏幕上三角形的顶点坐标了,接下来该怎么变成对应的像素三角形?

阅读全文 »

MVP变换

MVP变换就是将三维物体变换到二维中,就像拍照片一样:

  1. 模型变换(Model Transformation):模型空间 -> 世界空间,即摆好模型,搭好场景。
  2. 视图变换(View Transformation):世界空间 -> 相机空间,即给场景找到一个好的摄影角度。
  3. 投影变换(Projection Transformation):相机空间 -> 屏幕空间,即进行拍照,得到照片。
阅读全文 »

齐次坐标(Homogeneous Coordinate)

给点和向量的描述升一维(),以2D为例:

  • 二维中的点:
  • 二维中的向量:

这里理解一下为什么点的,向量的

在三维中处的标准二维平面,实际的二维点此时表示为。而对于那些不在平面的点,则可以通过除以,将它们投影到平面上。这样,齐次坐标就能够映射到实际的二维点

对于任何给定的二维点,在三维齐次空间中存在无限数量的对应点。这些点形成一条穿过三维齐次空间原点的直线。

时,上面的除法未定义,而向量恰好没有在空间中平移的概念(都一样),因此可以用来描述向量。

阅读全文 »

矩阵(Matrix)

向量是标量的数组,而矩阵是向量的数组。

单位矩阵(Identity Matrix)

维度为n的单位矩阵,表示为,是矩阵,其对角线上的值为1,其他元素均为0。三维的单位矩阵如下:

矩阵转置(Transpose)

给定矩阵,其转置表示为,是矩阵,其中,列由的行构成。

例如: 一些结论:

阅读全文 »
0%