В одному зі своїх проектів я маю ігрову зону у формі кола. Всередині цього кола рухається ще одне невелике коло. Я хочу зробити це, щоб мале коло не рухалося за межі більшого. Нижче ви бачите, що на кадрі 2 маленьке коло частково знаходиться назовні, мені потрібен спосіб перенести його назад, безпосередньо перед тим, як він збирається вийти назовні. Як це можна зробити?
Крім того, мені потрібна точка зіткнення вздовж дуги великого кола, щоб я міг оновити швидкість малого кола. Як можна було б обчислити цю точку?
Що я хотів би зробити, це перед тим, як рухати мале коло, я передбачую його наступне положення, і якщо воно знаходиться поза, я знаходжу час зіткнення між t = 0 і t = 1 (t = 1 повний крок часу). Якщо у мене час зіткнення t, то я просто переміщу мале коло під час t замість повного кроку часу. Але знову ж таки, проблема полягає в тому, що я не знаю, як виявити на той момент зіткнення, коли мова йде про два кола і одне буває всередині іншого.
Редагувати:
Приклад точки зіткнення (зелений) Я хочу знайти. Можливо, картина трохи відключена, але ви отримуєте ідею.