Wadimir, вы, часом, не из
этой темы функцию reflection попытались использовать? Так оно и там не работало.

Обратите внимание на пост
№3
из той же темы. Там есть рациональное зерно, и если вы немного переосмыслите подход к реализации геометрии на плоскости, вам может это помочь.
Akopalipsis, не устаете меня поражать.