Отсекаемые отрезки представляются в параметрическом виде:
где
p0, p1 — координаты начала и конца отрезка соответственно,
t — параметр.
Каждый отсекаемый отрезок содержит координаты начала и конца, а также два параметра tA и tB, соответствующие началу и концу отрезка.
Для каждого отсекаемого отрезка P выполняются следующие действия:
Рёбра отсекающего многоугольника обходятся против часовой стрелки. Для каждого ребра E вычисляется параметр tE, описывающий пересечение E с прямой, на которой лежит отрезок P. Вычисляется скалярное произведение вектора P и внутренней нормалиN ребра E, в зависимости от знака которого возникает одна из следующих ситуаций:
P · N < 0 — отрезок P направлен с внутренней на внешнюю сторону ребра E. В этом случае параметр tA заменяется на tE, если tE > tA.
P · N > 0 — отрезок P направлен с внешней на внутреннюю сторону ребра E. В этом случае параметр tB заменяется на tE, если tE < tB.
P · N = 0 — отрезок P параллелен ребру E. Отрезок P отбрасывается как невидимый, если находится по правую сторону от E.
Если tAtB, то заданная параметрами tA и tB часть отрезка P видима. В противном случае отрезок P полностью невидим.