#3d #geometry #collision-detection #trimesh
Вопрос:
Под «полостями» я не имею в виду ошибку в сетке — все сетки считаются водонепроницаемыми коллекторами.
Формальное определение: Треугольник T является прямой полостью, если невозможно разместить сферу S с заданным радиусом так, чтобы S касался только T. Треугольник T является косвенной полостью, если для сферы S нет пути без столкновений, начинающегося за пределами ограничительной рамки сетки до положения, когда S касается только T.
Различие между прямыми и косвенными полостями проводится только для целей определения. Метод, который я ищу, не нуждается в различении этих двух.
Это иллюстрирует проблему (в 2D):
Обратите внимание, что именно так C выглядит в 3D:
Предпочтительно я хотел бы обнаружить эти полости на исходной сетке, но можно сделать повторное замешивание.