两个运动物体的交点

时间:2019-09-01 10:09:35

标签: javascript math

我正在尝试使用此处提供的答案:Intersection of two Moving Objects with Latitude/Longitude Coordinates

但是我有一些问题。

这个角度是什么?

var angle = Math.PI + dir - target.dir

我当时在考虑余弦定律中应该使用的角度已经是“ alpha或target.dir”。。这条线在做什么?同样在这两个步骤中:

 var x = target.x + target.vel * time * Math.cos(target.dir); 
 var y = target.y + target.vel * time * Math.sin(target.dir);  

代码不应该使用x轴或y轴与目标速度矢量之间的角度吗?为什么作者在这里使用alpha?

enter image description here

1 个答案:

答案 0 :(得分:0)

  

这个角度是什么?

var angle = Math.PI + dir - target.dir

名为 angle 的变量确实是角度 alpha 。因为方向 dir 是从追赶者到目标的方向,而我们需要用另一种方法进行计算,因此我们在减去 target.dir 之前向其中添加π。

也许使用单词 angle 作为变量名有点含糊;我将其更改为 alpha ,我在图像中为此角度使用的名称。

  

代码不应该使用x轴或y轴与目标速度矢量之间的角度吗?为什么作者在这里使用alpha?

var x = target.x + target.vel * time * Math.cos(target.dir);  
var y = target.y + target.vel * time * Math.sin(target.dir);  

我们确实在使用 target.dir (即目标的方向,即x轴与目标矢量之间的角度)来计算拦截点的坐标,而不是角度α。