2016-02-05 2 views
2

Я пытаюсь найти время, которое потребуется (если вообще), два объекта на пути столкновения будут соприкасаться, что доказывает жесткость с бокалом вина.Поиск времени контакта между двумя объектами на одном и том же пути столкновения?

Ради аргументов, и в 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 наехать, при условии, что они собираются на разных скоростях?

Спасибо.

+0

Если они оба путешествуют по одной оси и направляются к позициям друг друга, то это всего лишь половина пути их путешествия. – Quill

+0

@Quill да, как по оси x, так и на разных скоростях и, возможно, в разных положениях x – shennan

+0

. Нашли ошибку? Вы можете сравнить их количество, сравнительное расстояние – Ibu

ответ

1

На самом деле это не так сложно, просто базовая математика.

pointA движется, допустим, 100 м/с. точка B движется, половина этого, 50 м/с. Они оба в направлении друг к другу

Формула будет: время = расстояние/скорость

Скажем расстояние 100м

в этом случае:

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

= 100/150

= 0,666..s

И вот он у вас есть. Два очка будут встречаться в 0,666 секунды.

Это не сложно реализовать на любом языке программирования, поэтому мне интересно, почему вы публикуете такой вопрос в StackOverflow.

+0

Yup, а не сложно. И да, базовая математика. Наверное, вы пропустили часть «бокал вина». Или, возможно, возможность смотреть вниз слишком велика, чтобы уйти? :-) спасибо и все такое. – shennan