2011-09-22 63 views
0

这是一个来自没有太多数学背景的人的新手问题。抱歉!在三维空间中检测不同类型的运动

如何在3D空间中检测物体是向前移动(朝向其方向)还是向后移动?我可以在任何给定的时间得到它的方向矢量和它的位置坐标。

非常感谢您的帮助。

回答

0

计算物体速度矢量与其方向矢量的点积。该值是两者之间角度的余弦值,所以正值表示向前运动。

如果速度矢量不是立即可用的,请使用基于两个关闭时间点的位置的近似值。特别是,如果你有一个函数pos(t),使该位置矢量:

v_approx = (pos(t+dt) - pos(t))/dt 

在时间的差异,DT,应该是一个小数目。根据您对问题的理解,您可能可以确定dt的适当值,但更典型的情况下,您需要尝试多个值(例如,通过将dt的值重复减半),直到v_approx稳定为止。

+0

您是否会善意地告诉我如何计算物体的速度矢量? – John