我有一个物体w /和方向以及每个身体轴的旋转速率。我需要找到从这个状态到具有不同速率集的第二个状态的平滑过渡。另外,我对每个轴的旋转/加速速度有限制。
我已经探索了Quaternion slerp,虽然我可以使用它们在状态之间平滑插值,但我没有看到一种简单的方法来将速率匹配到其中。
这感觉就像是微分方程和路径规划中的练习,但我不确定如何制定问题,以便那里的算法能够解决它。
对于有助于解决此问题的算法的任何建议和/或有关制定问题以使用这些算法的提示将不胜感激。
[编辑 - 这是我正在处理的问题类型的示例]
想象直升机上的炮手需要在直升机飞行时跟踪目标。为了争论,他需要在它从地平线上升到不再被视野的时候成为目标。这个目标的相对速率并不是恒定的,但我认为通过几个“速率匹配”机动的聚合,我可以很好地估计这种跟踪。我可以计算任何一点所需的喷枪方向和跟踪速率,它只是从一些离散的方向和速率生成一个轮廓,这让我感到难过。
谢谢!
答案 0 :(得分:0)
首先,关于每个轴的旋转速率应构成旋转速率矢量(即 w = [w_x w_y w_z] ^ T)。然后,您可以将旋转幅度与旋转轴分开。幅度为w_mag = w / | w |。然后轴是单位向量 u = w / w_mag。然后,您可以使用您喜欢的表示(即旋转矩阵,四元数)组成增量旋转来更新总旋转。如果您的起始轮换是R_0并且您的incrementatl轮换由R_inc(w_mag * dt, u )定义,那么您遵循以下组成规则:
R_1 = R_0 * R_inc
R_k+1 = R_k * R_inc
享受。