Я пытаюсь реализовать на С++ функцию, определяющую разрез любого заданного многоугольника и пирамиды.
На самом деле все оказалось гораздо проще, чем я себе представлял сначала.
Сначала для каждого ребра пирамиды проверьте пересечение линии и плоскости (данный многоугольник представляет собой плоскость, состоящую из 3 точек). Это приведет к появлению новых вершин на секущей плоскости.
Во-вторых, поскольку многоугольник не является бесконечной плоскостью, необходимо проверить пересечение линии-линии между ребрами полигона (тремя) и каждым из ребер.