前言:与向量一样,矩阵也是3D数学的基础。要正确进行物体的位移、旋转和缩放变换,就必须要用到矩阵。
3D游戏中的向量一般只有3个维度,但矩阵要使用4×4矩阵,主要原因你是要用矩阵实现平移,3×3矩阵是不够的。4×4矩阵是能够进行所有常用变换的最小矩阵
由于矩阵算法的问题涉及面很广,本文只展示单独的平移、旋转和缩放矩阵,让小伙伴们对矩阵有一个直观的认识,消除陌生感
向量v乘以上述向量 ,相当于让向量v的x、y、z分量分别变化为最后一行的xyz
此矩阵可以让向量沿着x轴旋转α角
缩放矩阵可以对向量的各个分量进行缩放,向量v与上述矩阵相乘后,其三个分量分别缩放上图中的x、y、z倍
矩阵变换的最强大的地方在于,它可以通过矩阵乘法进行组合,组合以后通过一个矩阵就可以表示一组连续的变换操作。假设有3个矩阵S、R、T分别进行缩放、旋转、位移操作,三者相乘得到了M矩阵。那么有:vSRT=vM
虽然矩阵功能强大,但由于其使用有一定门槛,因此Unity封装了一些矩阵和变换矩阵,用户可以直接使用。旋转相关的问题还可以用四元数(Quaternion)来解决,进一步降低了直接操作矩阵的必要性
在3D数学中,齐次坐标就是将原本的三维向量(x,y,z)用四维向量(x,y,z,w)来表示
引入齐次坐标有以下目的:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo8.com 版权所有 湘ICP备2023022238号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务