Я пытаюсь найти достаточно оптимальный алгоритм для определения того, пересекает ли отрезок линии трехмерный выпуклый непланарный многоугольник. Лучшее, что я могу сейчас увидеть, это нарисовать линию, которая разбивает непланарный многоугольник пополам, определяет, лежит ли отрезок линии справа или слева от линии расщепления, а затем продолжайте разделение, пока не смогу определить пересечение. Причина этого заключается в том, что я могу определить, в какой области 3d сферической диаграммы воронной точки находится данная точка. Тем не менее, время найти решение может стать зависящим от поплавкового разрешения моих разделов строк.Линейный сегмент Пересечение 3D-выпуклого непланарного многоугольника
неплоский многоугольники Пример
В этом примере, я бы рисовать отрезок между голубыми точками и центром блока сферы (добавленной после вычисления voronoi, они не являются точками, используемыми для вычисления диаграммы). Затем мне нужно выяснить, какой полигон пересекает этот сегмент линии, чтобы определить, в какой области он находится.
У вас есть многоугольник или многогранник? –
@ RazimanT.V. Форма, включаемая сферой, по определению является многогранником. Однако в моем коде он хранится в виде набора полигонов. Меня интересуют только отдельные многоугольники многогранника при поиске пересечений. Я считаю, что правильное определение граней многогранника в этом сценарии представляет собой трехмерные выпуклые непланарные многоугольники – asdf