Ваша задача касается indoor (внутри помещения) навигации мобильных роботов, где этот самый луч - банальный лазерный дальномер. Следовательно Вам нужно гуглить именно по этим тегам. https://en.m.wikipedia.org/wiki/Mobile_robot_navig...
Если нужен распознаватель только для двух форм
"( "
и
"~"
То можно просто строить прямую между начальной и конечной точкой кривой, а дальше проверять, находятся ли все якоря по одну сторону от прямой [Значит у нас "(" ] или нет [Значит "~"]