В общем набросал кое-что, но сюда код не помещается, поэтому кладу на дропбокс:
Collisions.
Управление:
стрелочки - перемещение шарика
WSAD - поворот и изменение длины вектора движения
Иногда шарик проходит углы насквозь. Иногда даже зависает.
Писать красиво и модульно мне было некогда, поэтому говнокод.
В данный момент только статическая трассировка, может в другой раз заставлю картинку двигаться самостоятельно.