为什么按此顺序应用俯仰和偏航?

时间:2018-06-22 17:43:56

标签: opencv 3d rotation geometry

我知道,应用3D旋转的常见方法是“滚动”,“俯仰”和“偏航”。

我知道,只要您选择并坚持执行订单,订单实际上就无关紧要。

但这似乎与直觉相反, 如果我要您解释一下您的脸朝向哪里或将相机指向哪个方向,您可能会先从Yaw(注视的一侧)开始,然后是Pitch(注视的高低),然后再开始滚动(如何旋转)。

任何解释为何使用常用命令?

1 个答案:

答案 0 :(得分:0)

首先,我想指出,没有通用的旋转方式。有太多的方法,每种方法都有其用途。我什至认为,在大多数情况下,欧拉角是一个不好的选择。

无论如何,您的问题可能与应用轮换的含义有关。这可以通过几种方式来完成。例如,我们可以使用旋转矩阵并将其组成各个主旋转。如果我们有列向量,则为:

R = Yaw * Pitch * Roll

我们可以从左到右进行解释,我们将看到这正是您要解释的内容(开始向左/向右看,然后向上/向下看,最后倾斜您的头)。重要的是,这还将变换坐标系,在其中应用后续旋转。

如果我们使用此矩阵R来变换点P,那么我们将计算P' = R * P。这是:

P' = Yaw * Pitch * Roll * P

我们也可以通过添加括号从右到左计算:

P' = Yaw * Pitch * (Roll * P)

因此,我们可以将Roll应用于PP_Roll = Roll * P

P' = Yaw * (Pitch * P_Roll)

,然后俯仰,最后偏转。但是,在这种解释中,我们将始终使用全局坐标系。

所以这只是一个透视问题。