Получи случайную криптовалюту за регистрацию!

@kswaldemar разжевывает нам еще раз: * считаем точку столкнов | AI Cups Unofficial

@kswaldemar разжевывает нам еще раз:

* считаем точку столкновения с кругом, пусть это pt
* считаем вектор obstacle.center - pt - это нормаль
* поворачиваем вектор на 90 градусов влево (или вправо, в зависимости от того с какой стороны столкнулись с препятствием), это вектор касательной, назовем его m
* считаем k = dot(v, m) / dot(m, m); v_new = m * k; (где v - изначальная скорость юнита до столкновения), это проекция вектора скорости на касательную = новый вектор скорости, по которому будет двигаться юнит после столкновения

PS. dot - скалярное произведение векторов