我知道,应用3D旋转的常见方法是“滚动”,“俯仰”和“偏航”。
我知道,只要您选择并坚持执行订单,订单实际上就无关紧要。
但这似乎与直觉相反, 如果我要您解释一下您的脸朝向哪里或将相机指向哪个方向,您可能会先从Yaw(注视的一侧)开始,然后是Pitch(注视的高低),然后再开始滚动(如何旋转)。
任何解释为何使用常用命令?
答案 0 :(得分:0)
首先,我想指出,没有通用的旋转方式。有太多的方法,每种方法都有其用途。我什至认为,在大多数情况下,欧拉角是一个不好的选择。
无论如何,您的问题可能与应用轮换的含义有关。这可以通过几种方式来完成。例如,我们可以使用旋转矩阵并将其组成各个主旋转。如果我们有列向量,则为:
R = Yaw * Pitch * Roll
我们可以从左到右进行解释,我们将看到这正是您要解释的内容(开始向左/向右看,然后向上/向下看,最后倾斜您的头)。重要的是,这还将变换坐标系,在其中应用后续旋转。
如果我们使用此矩阵R
来变换点P
,那么我们将计算P' = R * P
。这是:
P' = Yaw * Pitch * Roll * P
我们也可以通过添加括号从右到左计算:
P' = Yaw * Pitch * (Roll * P)
因此,我们可以将Roll
应用于P
:P_Roll = Roll * P
P' = Yaw * (Pitch * P_Roll)
,然后俯仰,最后偏转。但是,在这种解释中,我们将始终使用全局坐标系。
所以这只是一个透视问题。