Если у вас есть N точек, определяющих выпуклый многогранник (трехмерная версия многоугольника), это означает, что результирующая фигура топологически эквивалентна сфере.
Это несложно доказать, если вы посмотрите несколькоТеоремы о топологии.По сути, отсутствие дырок помещает ваш многогранник в тот же «род» геометрического объекта, что и сфера, поскольку ни у одного нет внутренних дырок.Затем вы просто сдвигаете каждую точку вершины - набор из N растяжений - на некоторое фиксированное расстояние R от заданной внутренней точки.Поскольку все эти точки теперь лежат на поверхности сферы, и вы использовали только топологически допустимые операции «растяжения» (растяжение ограничивающих граней путем перемещения их вершин), ваш выпуклый многогранник топологически эквивалентен сфере.Я опускаю формальные термины, так как они не добавляют ничего сверх путаницы.
Как только вы добавляете любые исключенные внутренние дыры в области - вы больше не эквивалентны сфере.В этой ситуации вы, вероятно, можете использовать расширенную версию того же самого.Вы проверяете, находитесь ли вы внутри «ограничивающей поверхности» многогранника, затем проверяете, находитесь ли вы внутри какого-либо из его отверстий (это тоже многогранники).Вам понадобятся дополнительные флаги или термины для обработки отверстий внутри отверстий, которые являются частью внешнего многогранника и т. Д.