Games101-03-transformation

Last Lecture
Vectors, Dot product, Cross product, Matrix, Corrdiantion.
Transformation
Modeling transformation.
3D世界投影到2D的屏幕上,需要很多的变换。
变换主要是针对坐标的变换,坐标理解为列向量,使用矩阵乘以此向量,可以将此向量变换为另一个向量,继而转化为坐标。这个矩阵即为变换矩阵。
图形学中modeling变换矩阵是将物体从局部坐标变换到世界坐标,描述物体的顶点坐标最初都是在[-1,1]区间内的,经过modeling变换,不同的物体经过不同的变换(平移、旋转、缩放)有了不同的位置和大小,即在世界坐标中了。在世界坐标中的意思是其坐标不只在[-1,1]区间内,而是可以在任意地方。
viewing变换是视角矩阵将世界坐标变换到相机的坐标。
projection变换是将三维世界中的坐标通过投影映射到屏幕上。
剪切变换(Shear)
向量与坐标
二者不同点在于,向量只表示方向,而点是空间中的点。向量具有平移不变性。
因此向量增加的一个维度(w)应该是0,这样使用平移矩阵乘以它得到的仍然是他自己。而坐标则不同,平移矩阵乘完得到的是平移后的坐标。
- vector + vector = vector (向量相加依然是向量)
- point - point = vector (正好对应点减去一个点得到一个向量)
- point + vector = point (对应一个点的平移)
- point + point = ?? (中点)
在齐次坐标中,点加上一个点得到的是这两个点的中点。因为w等于2了, 这样两个坐标相加除以w得到的就是中点。
平移变换无法直接通过等维矩阵直接乘得来,使用高一维的矩阵来完成。
引入齐次坐标是为了让所有变换都可以通过矩阵来完成,不需要额外的平移。
逆变换
逆矩阵可以完成逆变换。
注意
变换矩阵的顺序会对结果有不同的影响。顺序是从右到左乘。
矩阵可以组合。按某一个点来旋转,可以分解为先将此点平移到原点,旋转后再平移回去。
- 本文标题:Games101-03-transformation
- 创建时间:2025-02-21 20:54:00
- 本文链接:2025/02/21/note/Job/Learning/101/03-transformation/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
显示评论