这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战」
作为一名优秀的开发者,对于技术的探求应该是永无止步的,如何让自己更进步,那就只有不停的学习,不停的充电.而这些都都是说起来容易做起来难,坚持才是难的地方 --蛙哈哈
如果我能更新完这一系列,我希望掘金能给我颁发一个劳模奖.
1.1旋转矩阵
1.1.1平面坐标系中的旋转矩阵
咱们先从2D旋转矩阵开始入手, 假设平面坐标系的两个坐标向量分别是 p = (1, 0), q = (0, 1)
将平面坐标逆时针旋转, 通过三角函数可以轻松的计算出旋转后的基向量分别是p^'^ = (cosθ, sinθ), q^'^ = (-sinθ, conθ).
将这两个基向量构成矩阵,于是实现旋转角度θ的矩阵R(θ):
1.1.2 空间坐标系统绕 x 轴旋转矩阵
围绕某个轴,旋转的时候,被围绕旋转的轴所对应的 坐标分量肯定不会改变,所以利用这一点就可以将空间坐标投射到平面中:
按照平面坐标系的计算方式,通过三角函数分别计算出 旋转之后的两个基向量分别为: y^'^ = (0, cosθ, sinθ), z^'^ = (0, -sinθ, cosθ)由于 x 轴旋转之后的基向量不变,因此基向量 x^'^ = x = (1, 0, 0),若将这三个基向量构成矩阵, 最终绕 x 轴旋转角度 θ 的变换矩阵为:
那么同理围绕 y 轴的旋转的变换矩阵为:
那么同理围绕 z 轴的旋转变换矩阵为: