变换
大约 1 分钟
变换
二维的变换
旋转
围绕某一点进行旋转,某一个点旋转后的到的点可以通过三角函数得到 对于两个单位向量来说,它们的旋转角则可以通过向量的叉乘表示
缩放
平移
齐次坐标
- (x, y, z, 1) 代表是一个点
- 两个点得到的向量,第四个分量就会变成0(点相减得到向量)
- 而对于(x, y, z, w)来说,它仍然表示一个点,并且点的位置是(x/w, y/w, z/w, 1)
- (x, y, z, 0) 代表是一个向量
齐次坐标主要是用来方便矩阵与点的运算,这样能够得到经过矩阵变化后的点的坐标
复合变换
旋转矩阵的逆 = 旋转矩阵的转置,称之为正交矩阵
三维的变换
三维旋转(欧拉角 :heading=yaw;pitch=pitch;roll=roll) 罗德里格斯旋转公式
四元数:常用于旋转与旋转的插值
观测变换(Viewing transformation)
视图变换(相机变换/模型视图变换):Model-View-Projection
基本要素:
- 位置
- 朝向(look-at direction)
- 顶部朝向(up)在位置喝朝向固定的情况下,决定相机的旋转
将相机坐标平移至原点,然后旋转g到-Z,t到Y, g和t的叉乘到X(正向计算麻烦,因此换成反向计算-Z到g,Y到t, X到g和t的叉乘,得到一个旋转矩阵的逆,因为旋转矩阵的正交矩阵,因此他的转置即为视图变换矩阵)