Как стать автором
Обновить

Комментарии 5

Мне кажется, там нужно не смещать узел вдоль вектора нормали на заданную величину, а находить точку пересечения прямых, параллельных ребрам, но отстоящих от них на заданную величину. Например, для вот такого треугольника с узкой выемкой


        {x: 0.3, y: 0.7},
         {x: 0.7, y: 0.7},
         {x: 0.51, y: 0.3},
         {x: 0.51, y: 0.65},
         {x: 0.49, y: 0.65},
         {x: 0.49, y:0.3},
         {x: 0.3, y:0.7}

видно, что вдоль сторон треугольника ширина обводки меньше, чем у основания.

С другой стороны, ваш вариант дает немного нестандартный "ломаный" эффект, и именно этим привлекает к себе внимание.

Интересная статья. Но ваш алгоритм на выходе может выдать результат с самопересечением для контуров с "петельками" радиусом менее отступа.

Вообще, эта тема хорошо представлена по ключевым словам "Offset curve".

Рабтает ли ваш алгоритм с объектам типа бука О или В ?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории