Аннотация:
Предложен метод вычисления расстояния до трёхмерных геометрических моделей, путём представления их в виде результата булевых операций между элементарными объектами, для каждого из которых известно знаковое расстояние. Предложено две версии алгоритма, упрощённый, позволяющий быстрее рассчитать аппроксимацию расстояния (с точной нулевой изоповерхностью расстояния и разделением областей внутри и снаружи модели), и с дополнительным расчётом расстояния до контуров пересечения между элементами, позволяющий восстановить расстояние с большей точностью без существенных дополнительных затрат. Оба метода позволяют существенно сократить время вычисления по сравнению с расчётом расстояния до поверхностей путём представления их в виде связного набора треугольников. Также подход позволяет интерактивно изменять параметры и относительное положение частей геометрии, что даёт возможность проводить расчёты с подвижными границами. Подход протестирован в гидродинамических расчётах с межфазной границей и адаптивным многоуровневым сгущением сетки в открытом коде для моделирования сплошных сред — Basilisk.
Ключевые слова:
расстояние до объекта, вычислительная геометрия, численное моделирование, сплошные среды, динамические сетки.
УДК:519.65
Статья поступила: 27.11.2024 Окончательный вариант: 27.11.2024