在三维场景中经常会用到模型的平移、旋转和缩放功能。最近实现了模型的编辑功能,感觉之前学的矩阵运算和几何都快忘光了,幸好做了这个功能,又重新拾了起来,为了防止以后再忘记,特写一篇日记来记录一下。
知识点1:变换矩阵
在三维场景中一个点用x,y,z表示就可以了,但是必须使用4*4的矩阵才能完成模型的各种变换,所以模型的变换矩阵都是4*4的。
知识点2:点或者向量
要想获取点或者向量变换后的值,可以用点或者向量与变换矩阵相乘,即可获得变换后的点或者向量。
点或者向量和矩阵相乘之前,需要变换成4*1的矩阵,如点a(ax,ay,az),变换为(ax, ay,az, 1),向量B(Bx,By,Bz),变换为(Bx, By, Bz, 0).因为点包含位置信息,所以最后一位设为1,因为向量只有方向,没有位置信息,所以最后一位设为0,避免位置偏移。
平移的计算:
设有一个点V(Vx, Vy, Vz),变换矩阵为T1,将点延X轴平移a,延Y轴平移b, 延Z轴平移c,求该点平移后的矩阵。
点V原来的位置为:
V‘ = V*T1=(Vx', Vy', Vz');
根据上面的描述,设平移矩阵为T2,则平移后的点V’‘=V

这篇博客探讨了在三维场景中模型平移的原理,重点在于如何使用4*4变换矩阵进行点和向量的平移操作。通过矩阵乘法解释了点的位置如何随平移矩阵改变,并详细阐述了平移矩阵的构造及其对模型位置的影响。
最低0.47元/天 解锁文章
9166

被折叠的 条评论
为什么被折叠?



