【问题标题】:Finding the time of contact between two objects on the same collision path?寻找同一碰撞路径上两个物体之间的接触时间?
【发布时间】:2016-02-05 22:43:17
【问题描述】:

我正在尝试找出碰撞路径上的两个物体发生接触所需的时间(如果有的话),这对于手头的一杯酒来说是很困难的。

为了参数,在 JavaScript 中:

var pointA = { x: 0 }
var pointB = { x: 100 }

var pointATravelTime = 1000; // milliseconds
var pointBTravelTime = 2000; // milliseconds

var pointATimeout = setTimeout(function () {

  pointA.x = 200; // pointA will arrive here in pointATravelTime

}, pointATravelTime);

var pointBTimeout = setTimeout(function () {

  pointB.x = 0; // pointB will arrive here in pointBTravelTime

}, pointBTravelTime);

理论上,如果pointA 和pointB 以不同的速度行驶,我们如何计算它们发生碰撞所需的时间?

谢谢。

【问题讨论】:

  • 如果他们都在同一轴上行驶,并且朝着彼此的位置前进,那么这只是他们旅程的一半。
  • @Quill 是的,都在 x 轴上,但速度不同,可能到不同的 x 位置
  • 找到他们的速度,你可以比较距离

标签: javascript time collision-detection


【解决方案1】:

这并不难,只是基本的数学。

pointA 以 100 m/s 的速度移动。 pointB 以 50 m/s 的一半速度移动。 两人正朝着对方走去

公式是:时间=距离/速度

假设距离是100m

在这种情况下:

100m / (100m/s + 50m/s)

= 100/150

= 0,666..s

你有它。两点将在 0.666 秒相遇。

这在任何编程语言中都不难实现,所以我想知道你为什么在 StackOverflow 上发布这类问题。

【讨论】:

  • 是的,不难。是的,基础数学。我猜你错过了“一杯酒”部分。或者,也许俯视的机会太大而不能错过? :-) 谢谢。
猜你喜欢
  • 1970-01-01
  • 2017-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多