особый случай обнаружения столкновений - PullRequest
0 голосов
/ 13 марта 2019

Если я изучал обнаружение столкновения двух шариков на одномерном.Предположим, что первый в положении 0 и его скорость 5 пикселей в каждом кадре, а второй в положении 3 и его скорость -5 пикселей в каждом кадре, а затем в следующем кадре первый шар переместится в положение 5, а второй переместится в положение-2.В этом случае у нас нет перекрытия между ними, поэтому обнаружение столкновения не удастся.Как я могу справиться с этим делом?вот картинка для объяснения:

1 Ответ

0 голосов
/ 13 марта 2019

Вы можете оценить и проверить столкновение:

но в вашем случае движение является одномерным и линейным, поэтому вы можете легко вычислить время столкновения ...

pos0 + vel0*t = pos1 + vel1*t
   0 +    5*t =    3 -    5*t
         10*t =    3
            t =    3/10
            t =    0.3

поэтому столкновение происходит после 0,3 кадра ... Вы также можете добавить радиус своих объектов в учетную запись, чтобы повысить точность времени ... Если вы хотите также положение столкновения, это:

pos0 + vel0*t = 0 + 5*0.3 = 1.5
pos1 + vel1*t = 3 - 5*0.3 = 1.5
...