Было дело 12.06.2007 (8 лет и 4 месяца тому назад).
BlitzMax, функции пересечения отрезков, и отрезка с окружностью. А также данные о пересечениях, на основе которых я после сделал 2д физику а-ля line rider.
http://moka.ucoz.ru/load/0-0-0-27-20
Такое лучше учить на canvas2d на самом деле и JS.
Т.к. не будешь отвлекаться на рендер и другие не нужные вещи связанные с платформой.