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