请务必先阅读:
接下来画重点
例如上图
那么 B
的
通过平移得到$\vec{DB}$ 等于$\vec{AC}$
那么 B
的
在三维空间中,有的时候无法明确表示出坐标,通过这个可以判断出,最后向量执行运算后的方向。
如果将$\vec{v}$ 和
可以看出点乘的结果越大,说明2个向量方向越趋向一致,夹角越小。
叉乘只在3D空间中有定义,它需要两个不平行向量作为输入,生成一个正交于两个输入向量的第三个向量。 如果输入的两个向量也是正交的,那么叉乘之后将会产生3个互相正交的向量。接下来的教程中这会非常有用
矩阵相乘是满足交换律的,所以顺序很重要,矩阵相乘时,在最右边的矩阵是第一个与向量相乘的,所以你应该从右向左读这个乘法。建议在组合矩阵时,先进行缩放操作,然后是旋转,最后才是位移,否则它们会(消极地)互相影响
通过矩阵变换将图像逆时针旋转90度:
通过矩阵变换绕着原点随时间旋转,修改如下
// transform = glm::rotate(transform, glm::radians(90.0f), glm::vec3(0.0f,0.0f,1.0f));
// shader.setMat4("transform", transform);
transform = glm::rotate(transform, (float)glfwGetTime(), glm::vec3(0.0f,0.0f,1.0f));
shader.setMat4("transform", transform);