Алгоритм marching cubes занимает особое место в компьютерной графике и научной визуализации. Он был представлен в 1987 году исследователями Уильямом Лоренсеном и Харви Клайном, работавшими в General Electric над задачами обработки данных компьютерной томографии. С тех пор метод стал стандартом де-факто для построения полигональных моделей по объёмным скалярным данным и до сих пор широко применяется в самых разных областях — от медицинской диагностики до игровой индустрии. Суть метода заключается в последовательном обходе трёхмерной сетки, состоящей из элементарных кубических ячеек. В каждой такой ячейке восемь вершин, и значение скалярного поля в каждой из них сравнивается с заданным пороговым уровнем. В зависимости от того, какие вершины оказываются внутри изоповерхности, а какие снаружи, формируется один из 256 возможных конфигурационных случаев. Благодаря симметриям и вращениям эти варианты сводятся к 15 базовым шаблонам, которые хранятся в предварительно вычисленной таблице. На рёбрах куба, пересекающих изоповерхность, вычисляются точки с помощью линейной интерполяции, после чего из них собираются треугольники результирующей сетки. Привлекательность marching cubes объясняется сочетанием концептуальной простоты и хорошей параллелизуемости. Каждая ячейка обрабатывается независимо от соседних, что позволяет эффективно реализовывать алгоритм на графических процессорах и распределённых системах. Кроме того, результат получается напрямую в виде треугольной сетки, удобной для последующего рендеринга, экспорта или физического моделирования. Тем не менее у классической версии есть известные слабые стороны. Главная из них — проблема неоднозначности: некоторые конфигурации куба допускают несколько корректных вариантов триангуляции, и неудачный выбор приводит к разрывам и дыркам в поверхности. Для борьбы с этим были разработаны расширения, такие как asymptotic decider, marching tetrahedra и dual contouring. Последний особенно популярен там, где важно сохранение острых рёбер и углов, поскольку оригинальный marching cubes склонен сглаживать резкие особенности геометрии. Сферы применения алгоритма крайне разнообразны. В медицине он используется для реконструкции органов и костных структур по данным МРТ и КТ. В геологии и нефтегазовой отрасли с его помощью визуализируют пласты и плотностные распределения. Архитекторы игровых движков применяют marching cubes для генерации воксельных ландшафтов в проектах вроде Minecraft-подобных песочниц, где требуется динамическое разрушение и деформация рельефа. В научных вычислениях метод помогает строить изоповерхности результатов численного моделирования — от аэродинамических потоков до молекулярных полей.