万向节死锁
万向节死锁的根本原因是因为轴的连带旋转导致的,至于为什么,让我们一步步的来理解
为什么用欧拉角来表示旋转
首先,我们先从一开始去思考,假设这个世界还没有欧拉角,现在,让你想办法用数字去表示一个摄像机的旋转,要求能表示它在空间内的任意角度,你会怎么去表示它?
事实上,我们只需要两个轴,x y轴,就可以做到让我们的摄像机旋转到空间内的任意一个角度,也就是上下左右。想象下,我们的头不正是这么旋转的吗?我们可以左右转头,可以抬头低头,如果脖子允许,我们完全可以不动身体,就看到世界中的任何方向。但在实际过程中,我们发现一个问题,只用两个轴来表示的话,不具备唯一性,也就是任意一个角度,都会存在两个不同的x y能够代表它。比如,我们把我们的头抬到最高,然后再向后偏一点,也就是抬头100度,此时,我们是应该用(0,100)来表示,还是用(180,80)来表示呢?看来,我们还需要再引入一个轴z,用来表示我们脸的旋转(当然,我们脸是没法转的,这里只假设下),即,如果z是0度,就是(0,100,0),如果z是180度,那就是(180,80,180),如此一来,好像就没什么问题了,我们可以用xyz来表示空间内的任意角度,且是唯一的,但事实上真的如此吗?