Di salah satu proyek saya, saya memiliki area permainan dalam bentuk lingkaran. Di dalam lingkaran ini, lingkaran kecil lainnya bergerak. Yang ingin saya lakukan adalah menjaga lingkaran kecil agar tidak bergerak di luar lingkaran yang lebih besar. Di bawah ini Anda dapat melihat bahwa dalam bingkai 2 lingkaran kecil sebagian di luar, saya perlu cara untuk memindahkannya kembali tepat sebelum akan pindah ke luar. Bagaimana ini bisa dilakukan?
Juga, saya membutuhkan titik tumbukan di sepanjang busur lingkaran besar sehingga saya dapat memperbarui kecepatan lingkaran kecil itu. Bagaimana cara menghitung poin ini?
Apa yang ingin saya lakukan adalah sebelum memindahkan lingkaran kecil, saya memprediksi posisi berikutnya dan jika berada di luar saya menemukan waktu tabrakan antara t = 0 dan t = 1 (t = 1 langkah waktu penuh). Jika saya memiliki waktu t tabrakan maka saya hanya memindahkan lingkaran kecil selama t bukannya langkah waktu penuh. Tetapi sekali lagi, masalahnya adalah saya tidak tahu cara mendeteksi pada saat itu tabrakan terjadi ketika datang ke dua lingkaran dan satu berada di dalam yang lain.
EDIT:
Contoh titik tumbukan (hijau) yang ingin saya temukan. Mungkin gambarnya sedikit salah tetapi Anda mendapatkan idenya.