二维绕任意点旋转_三维旋转与万向节死锁

本文深入探讨了三维空间中旋转的定义、代数表示和运算,特别是围绕万向节死锁问题进行阐述。通过矩阵运算解释了如何通过三个坐标轴旋转表示任意旋转,同时也揭示了当旋转叠加时可能出现的万向节死锁现象,即某些特定情况下旋转轴重合导致的无法自由旋转问题。文章还提到了在实际应用中如何避免此问题。
摘要由CSDN通过智能技术生成

本文重点讨论万向节死锁是什么、为何会产生,为此,将从旋转的定义逐步出发阐明。

旋转的定义

在一个给定的三维坐标系中,围绕一个不动点的旋转可以定义为“任意点在一个旋转的前后,到不动点的距离都是不变的”。用公式的写法就是:

375ec675e85f04f3e7c3af1952fba0ec.png

因为三点可以确定一个平面,所以x, f(x), p(也就是旋转前的点、旋转后的点、不动点)构成了确定了一个平面,就称其为“旋转平面”吧。而根据旋转定义,我们可以知道,x, f(x)这两个点到不动点的距离是相等的,所以x, f(x)实际上是在以不动点为圆心的一个圆上面的两点。如下图,“旋转的程度”这一概念可以用圆中的角度来定义,就称其为“旋转角”吧。

d8023086fd8bc0fe572971dc75174222.png

由上,我们可以发现,一个三维旋转可以用一个旋转平面、一个不动点、一个旋转方向、一个旋转角来定义,如果称旋转前的点为“原始点”,则旋转可定义为:在旋转平面上,以不动点为圆心,以不动点到原始点的距离为半径做一个圆,在该圆上以原始点为起点往旋转方向画一道弧,该弧对应的角度大小等于旋转角,则该弧的中点为旋转后的点。

旋转的代数表示

我们已经知道一个旋转在几何上可以用一个旋转平面、一个不动点、一个旋转方向、一个旋转角来定义,但是计算机要表示旋转的话,需要更加代数化的表示,最好就是向量、矩阵这类数的排列。我们一个个来看:

  1. 旋转平面也只是一个普通的平面而已,而任何一个平面都能用平面上的一点和垂直于该平面的法向量来定义。我们知道原始点和不动点必定在旋转平面上,所以要表示一个旋转平面用一个向量就够了。
  2. 不动点,就是对应的坐标数值构成的一个向量而已。
  3. 旋转方向,我们可以定义与上文中提到的旋转平面的法向量满足右
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值