网站开发的毕业设计,西安借贷购物网站建设,图片自动生成器,wordpress建站更换图片1. 分析理解
万向节长什么样子#xff0c;请参考这篇文章中的图片#xff1a;https://zhuanlan.zhihu.com/p/42519819。
看了很多篇解释性的文章#xff0c;没怎么看懂。因为我个人最关注的问题点在于#xff1a;
现实物体旋转为什么没有所谓的万向节锁的bug#xff0c…1. 分析理解
万向节长什么样子请参考这篇文章中的图片https://zhuanlan.zhihu.com/p/42519819。
看了很多篇解释性的文章没怎么看懂。因为我个人最关注的问题点在于
现实物体旋转为什么没有所谓的万向节锁的bug而搞了个万向节就出了这种bug这很反直觉。
答案是只是因为万向节这个工具有bug不是现实世界有bug。 这是把简单问题复杂化了。
现实世界中我们想把一个物体摆一个姿态其实就是先按某个轴旋转a°再按某个轴旋转b°最后按某个轴旋转c°。用大脑去想象的话很简单完全不会有问题。因为这种思考方式下我们认为坐标轴/旋转轴是不变的只有物体在变换姿态。就像是在3ds max或者blender里面旋转物体一样。
但是如果要用机械部件去真正的控制物体的姿态一般就是用万向节这种机械部件它本身有bug。为什么因为万向节的旋转方向之间是有连接的连接就是限制。在万向节的限制下想要旋转物体到一定姿态如果还按照先转a再转b最后转c最后可能在某个位置卡住了无法按照某个轴旋转。这种状态就是“万向节”锁住了。卡住的位置是在两个或者多个旋转平面重合的时候就会消失一个旋转自由度。
数学上使用欧拉角这种数学计算过程去旋转物体和万向节是一样的都会出现万向节锁的问题。使用欧拉角怎么计算旋转就是使用矩阵。计算过程参考文章欧拉角旋转。
产生万向节锁的本质原因是什么使用万向节或欧拉角旋转物体的时候TMD旋转轴也会跟着转这就麻烦了如果两个旋转轴重合那就少了一个自由度也就是某个方向转不动了。如果只转一个轴用欧拉角矩阵来旋转物体没有问题。谁知道多个轴复合起来计算就不是自由旋转了而是万向节旋转就出现问题了。看了其他高手文章才知道万向节旋转是以自身坐标系的坐标轴为轴进行旋转旋转时非旋转轴会跟着转这样讲就更好理解了。
2. 直观演示
在blender里面选择全局操作模式和万向节操作模式可以看到不同的地方在于全局模式下有几个弯弯的曲线表示的平面和坐标轴都是不变的两两垂直。
而在万向节操作模式下旋转轴间的相对夹角几个弯弯的曲线表示的平面都是在变的。如果某一时刻两个轴重合我们就缺少一个可以操作的旋转轴了。
全局模式下猴头歪了坐标轴没变 万向节模式下如果旋转轴会动重合时就产生了一个方向锁 既然欧拉角旋转有万向节锁的问题那么为什么还要用它呢正是因为它的旋转轴可以变换位置旋转起来比较灵活。
3. 深度思考
既然欧拉角旋转不是自由旋转那用什么工具来表示自由旋转呢一种方案是使用四元数这个我们后面再学习吧。