立即学习:https://edu.csdn.net/course/play/5322/100527?utm_source=blogtoedu
1.指定一个坐标轴方向,用向量z表示,利用向量叉乘构造直角坐标系矩阵:
第一步:任取一个与z方向不同的向量a,方向不同表示两个向量不共线、线性无关,并且 这两个向量的线性组合,可以构成一个平面。
第二步:用a和z做叉乘得到第二个坐标轴,用向量y表示
第三步:用y和z做叉乘得到第三个坐标轴,用向量x表示
第四部:组成4x4矩阵:x y z向量的第四个分量设为0,xyz作为矩阵的前三列,第四列为(0,0,0,1)
2.旋转、缩放时候使用3x3矩阵相乘就行了,为了平移变换也可以使用矩阵乘法,opgl统一用4x4的数据结构表示矩阵,(x y z w)四个列向量,这样多个变换用多个矩阵连乘就可以得到最终变换结果(旋转矩阵*缩放矩阵*平移矩阵=最终变换矩阵),旋转、缩放时候只用到了4x4矩阵前三列,这时候w列前三个值设为0,最后一个值设为1就可以了,平移时候会用到第四列前三个分量,第四列可以称为平移分量