Метод набора уровней ( МНУ ) — это концептуальная основа для использования наборов уровней в качестве инструмента для численного анализа поверхностей и форм . МНУ может выполнять численные вычисления, включающие кривые и поверхности на фиксированной декартовой сетке без необходимости параметризации этих объектов. [1] МНУ упрощает выполнение вычислений для форм с острыми углами и форм , которые меняют топологию (например, путем разделения на две части или создания отверстий). Эти характеристики делают МНУ эффективным для моделирования объектов, которые изменяются во времени, таких как надувающаяся подушка безопасности или капля масла, плавающая в воде.
Рисунок справа иллюстрирует несколько идей о LSM. В верхнем левом углу находится ограниченная область с хорошо ведущей себя границей. Под ней красная поверхность — график функции уровня, определяющей эту форму, а плоская синяя область представляет плоскость XY . Граница формы тогда является множеством нулевого уровня , в то время как сама форма — это множество точек на плоскости, для которых положительно (внутри формы) или равно нулю (на границе).
В верхнем ряду топология формы изменяется по мере ее разделения на две части. Сложно описать это преобразование численно, параметризовав границу формы и отследив ее эволюцию. Можно использовать алгоритм для обнаружения момента разделения формы на две части, а затем построить параметризации для двух новых полученных кривых. Однако в нижнем ряду плоскость, в которой производится выборка функции уровня, переносится вверх, на которой описывается изменение топологии формы. Менее сложно работать с формой через ее функцию уровня, чем с ней самой напрямую, в котором метод должен учитывать все возможные деформации, которые может претерпеть форма.
Таким образом, в двух измерениях метод набора уровня сводится к представлению замкнутой кривой (такой как граница формы в нашем примере) с использованием вспомогательной функции , называемой функцией набора уровня. Кривая представлена как набор нулевого уровня с помощью
и метод level-set неявно манипулирует через функцию . Предполагается, что эта функция принимает положительные значения внутри области, ограниченной кривой, и отрицательные значения снаружи. [2] [3]
Если кривая движется в нормальном направлении со скоростью , то с помощью цепного правила и неявного дифференцирования можно определить, что функция уровня удовлетворяет уравнению уровня
Здесь — евклидова норма (обычно обозначаемая одинарными чертами в частных дифференциальных уравнениях), а — время. Это — частное дифференциальное уравнение , в частности, уравнение Гамильтона–Якоби , и его можно решить численно, например, с помощью конечных разностей на декартовой сетке. [2] [3]
Однако численное решение уравнения набора уровня может потребовать продвинутых методов. Простые методы конечных разностей быстро терпят неудачу. Методы выравнивания вверх, такие как метод Годунова, считаются лучшими; однако метод набора уровня не гарантирует сохранения объема и формы набора уровня в поле адвекции, которое сохраняет форму и размер, например, однородное или вращательное поле скорости. Вместо этого форма набора уровня может исказиться, и набор уровня может исчезнуть в течение нескольких временных шагов. Поэтому часто требуются схемы конечных разностей высокого порядка, такие как схемы высокого порядка по существу неосцилляционные (ENO), и даже в этом случае осуществимость долгосрочного моделирования остается под вопросом. Для преодоления этого были разработаны более продвинутые методы; например, комбинации метода выравнивания с отслеживанием частиц-маркеров, предложенные полем скорости. [4]
Рассмотрим единичную окружность в , сжимающуюся в себя с постоянной скоростью, т. е. каждая точка на границе окружности движется вдоль ее внутренней стороны, направленной нормально, с некоторой фиксированной скоростью. Окружность будет сжиматься и в конечном итоге схлопнется в точку. Если построить начальное поле расстояний (т. е. функцию, значением которой является знаковое евклидово расстояние до границы, положительное внутреннее, отрицательное внешнее) на начальной окружности, нормализованный градиент этого поля будет нормалью окружности.
Если поле имеет постоянное значение, вычитаемое из него во времени, нулевой уровень (который был начальной границей) новых полей также будет круговым и аналогичным образом схлопнется в точку. Это происходит из-за того, что это фактически является временной интеграцией уравнения Эйконала с фиксированной скоростью фронта .
Метод набора уровней был разработан в 1979 году Аленом Дервье, [5] и впоследствии популяризирован Стэнли Ошером и Джеймсом Сетианом . С тех пор он стал популярным во многих дисциплинах, таких как обработка изображений , компьютерная графика , вычислительная геометрия , оптимизация , вычислительная гидродинамика и вычислительная биология .