1. Определитесь с физикой ваших кругов. Что такое круг? Какими свойствами он обладает? Как взаимодействует с другими кругами, стенками, полом, воздухом, внутри себя, гравитацией? Думаю, вы говорили про проекцию сбоку на столкновение однородных абсолютно упругих шаров в вакууме.
2. Составьте модель. Обычно используют аналитические или имитационные.
3. Выберите язык. Найдите библиотеки/физический движок или реализуйте самостоятельно. При малых скоростях обычно используют банальную проверку |delta {x;y;z}| <= R.