Каково значение t в этом алгоритме обнаружения столкновений - PullRequest
0 голосов
/ 01 апреля 2019

Я хочу реализовать алгоритм обнаружения столкновений между снарядом и стеной целей, используя JavaScript. И снаряд, и цели являются кругами. У меня есть код, но я не совсем уверен, как он работает. Я был бы очень признателен, если бы кто-то смог объяснить расчеты, в частности, вычисление t (почему оно рассчитано так, как оно есть).

Код позволяет пользователю стрелять снарядом, нажимая на экран. Затем он вычисляет угол между снарядом и мышью и использует этот угол для расчета траектории снаряда. Размер траектории рассчитывается для каждой потенциальной цели, используя dx и dy, а также положение цели относительно снаряда. Мой вопрос касается расчета т и как этот расчет работает.

//angle is the angle (in radians) between the projectile and mouse click
var dx = Math.sin(angle); 
var dy = Math.cos(angle);
var t = dx * distToBubble.x + dy * distToBubble.y; //distToBubble stores 
// distance along the x an y axis between distToBubble and projectile
var ex = -t * dx + start.left
var ey = -t * dy + start.top

Я использую параметрические уравнения ex и ey в качестве координат столкновения между снарядом и целью

...