Я делаю клон прорыва/разбивания кирпичей/арканоида (opengl-es/android), и я довольно долго застрял в своем коде обнаружения столкновений. Как следует из названия: как определить, какой стороной кирпича ударил мяч?
Поскольку мне нужно только инвертировать скорость в определенном направлении, x или y, при попадании в кирпич я мог бы подумать:
if(speedY < 0) : left, upper or right
else : left, bottom or right
if(speedX < 0) : bottom, right or upper
else : bottom, left or upper
однако это не уводит меня далеко в решении, столкнулся ли он вертикально или горизонтально, и с этим, в каком направлении я должен послать мяч дальше.
Я просмотрел некоторые примеры кода в Интернете, однако они часто очень расплывчаты, сложны или не по теме для меня.