绕坐标轴旋转矩阵推倒

小记:

今天小伙伴们在调试插件接口的时候,发现,将一个物体旋转一定的角度之后,有一部分模型不对,初步的猜测是旋转之后导致了部分Geometry数据异常, 最后查出来就是因为openfl 里边的这个旋转矩阵算的不对导致了,下边仅仅用来记录下一个推到过程。

 需要了解的一个小知识点:

我们在绕着坐标轴在旋转一定的角度的时候,坐标点的位置总是不断改变的,但是只会变换其中两个坐标点,还有一个点是固定不变的,这实质上就是说旋转的路径会维持在一个平面上,比如我们绕Z轴来旋转一个点, 那么该点的Z轴是不会改变的,路径会始终维持在XOY平面内,发挥你的想象力,想想,类似的绕X 轴和绕Y轴旋转具有同样的性质。

推倒:

下面我们来一起看看绕各个轴旋转的矩阵是如何推倒出来的,首先我们来看看绕Z轴旋转的推倒,简单的画出一个示意图如下:

在该图中,我们假设点(x1, y1)经过旋转β角度之后到达(x2, y2)的位置,下边我们需要推倒出这两个点之间有什么关系。

我们假设点到原点之间的距离为单位1,那么我们可以得到如下的式子:

x1 = \cos \alpha

y1 = \sin \alpha

x2 = \cos (\alpha +\beta )

y2 = \sin (\alpha +\beta )

我们知道三角函数有下面的展开:

è¿éåå¾çæè¿°

把上边的x2 和y2的三角函数展开,然后把带有\alpha的三角函数用x1 和y1分别替换我们就可以得到下面结果:

x2 = x1 * \cos \beta -  y1 * \sin \beta

y2 = y1 * \cos \beta + x1 * \sin \beta

很容易看出这个线性变换还是很容易和对应的矩阵对应起来的:

仔细看看上边的(x1, y1, z1)向量经过矩阵的线性变换之后是和上边推到出来的关系一样的,所有我们可以得到绕着Z轴旋转\alpha角度的矩阵为一下矩阵:

同样的我们可以推倒出来绕着X轴和Y轴旋转\alpha角度额矩阵分别如下:

这样子我们就得到了绕3个轴旋转\alpha角度对应的矩阵,好了本次的博客就到此为止了,仅仅只是为了自己学习和进步的脚印^_^!

 

 

 

 

 

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值