3d 如何推断四元数?

3d 如何推断四元数?,3d,rotation,quaternions,3d,Rotation,Quaternions,假设我有一个对象,其方向由四元数q1,q2,q3,…qn给出,在服务器端的时间为1,2,3,…n。 我想在客户端预测对象的方向,这样我就可以在两侧保持虚拟世界的一致性 我将q1和q2从服务器发送到客户端 在服务器端,我计算dq=q1'*q2 然后在服务器端,我通过q2*dq预测q3 然后在服务器端,我检查q3 orignal和q3 predicted之间的错误,如果它很大,我发送一个新的dq,它是d1=q2'*q3 我的两个问题是: 我应该如何计算dq是-q1'*q2还是q2*q1' 当与原

假设我有一个对象,其方向由四元数q1,q2,q3,…qn给出,在服务器端的时间为1,2,3,…n。 我想在客户端预测对象的方向,这样我就可以在两侧保持虚拟世界的一致性

  • 我将q1和q2从服务器发送到客户端
  • 在服务器端,我计算dq=q1'*q2
  • 然后在服务器端,我通过q2*dq预测q3
  • 然后在服务器端,我检查q3 orignal和q3 predicted之间的错误,如果它很大,我发送一个新的dq,它是d1=q2'*q3
我的两个问题是:

  • 我应该如何计算dq是-q1'*q2还是q2*q1'
  • 当与原始四元数比较时,我应该如何检查预测值是否有超过10%的误差
  • 在服务器端。我想在客户端预测它们

    你到底想干什么

    对我来说,这听起来像是你试图在GPU上实现一个动画系统,并试图在CPU上跟踪它。每当您需要跟踪或重新进行一些计算时,您的设计就会出现一些缺陷。如果你在CPU上进行计算,为什么要在GPU上花费宝贵的周期来进行同样的计算呢

    只需在CPU上计算,并将其放入一个统一的表格中。性能也会更好,因为GPU设计用于并行处理大量数据。仅仅插入一手标量会导致太多开销。


    如果我们谈论的是一个带有游戏服务器的网络游戏,你应该看看所谓的“卡尔曼滤波器”。

    请检查前三行问题,我已经编辑了它们