如何计算两个运动物体之间的相对速度和瞬时距离?

时间:2012-12-02 21:46:04

标签: distance relative motion

我有两个物体都在同一个平面上移动。我知道他们在每个时间实例的位置矢量和方向矢量。我想计算以下内容:

  1. 当他们进入一定范围(比如5米)时
  2. 他们将距离保持在该范围内多长时间?
  3. 我很长时间没有进入数学推导。但是,我可以使用惯性参考框架,变换和旋转手动计算。但是,编写这一切似乎是一项繁忙的工作。我希望,有人已经有了更好的想法或者已经对它们进行了编码。任何帮助或代码参考(最好将在matlab中)将不胜感激。

    谢谢。

1 个答案:

答案 0 :(得分:0)

让我们看看这是否有帮助:

1.两个物体之间的距离只是它们位置矢量差异的大小。我确信mathlab有办法做d = | p1 - p2 |其中p1和p2是位置向量,条形是指我们计算得到的向量的大小。

对于无法访问矢量库的任何人,这与以下内容相同:     d * d =(p1_x - p2_x)^ 2 +(p1_y - p2_y)^ 2

然后,检查d< 5

2.现在,我们需要知道两个粒子在该范围内有多长。我们已经知道如何确定物体之间的距离,所以现在我们需要引入速度以便能够用t(时间)表达这样的距离。它是这样的:

p(t) = t . v + p_init 

其中p(t)是时间量t之后的位置向量。 t是标量值,v是速度矢量。 p_init是t = 0时身体的位置向量。知道了这一点,我们可以用向量算术来表达条件:

对于范围r(标量):

|p1(t) - p2(t)| < r

使用p(t)的公式:

| ( t . v1 + p1_init ) - ( t . v2 + p2_init ) | < r

编辑:我决定更好地解释最后一部分:

您可以重新安排并获得:

| t (v1 - v2 ) + ( p1_init - p2_init ) | < r 

这里唯一的变量是t。我建议计算v3 = v1 - v2和p3_init = p1_init - p2_init ...然后使用pitagoras得到结果向量的大小并解决t的不等式