Введение

Поверхность, представляющая точки постоянного значения в объеме.

Изоповерхность — это трехмерный аналог изолинии. Это поверхность, которая отображает точки с постоянным значением (например, давления, температуры, скорости или плотности) внутри некоторого объема пространства; иными словами, это поверхность уровня непрерывной функции, областью определения которой является трехмерное пространство. Термин «изолиния» также иногда используется для областей с размерностью более трех.

Приложения

Изоповерхности обычно отображаются с помощью компьютерной графики и используются как методы визуализации данных в вычислительной гидродинамике (CFD), позволяя инженерам изучать характеристики потока жидкости (газа или жидкости) вокруг объектов, таких как крылья самолетов. Изоповерхность может представлять собой отдельную ударную волну в сверхзвуковом потоке, или может быть сгенерировано несколько изоповерхностей, отображающих последовательность значений давления в воздухе, обтекающем крыло. Изоповерхности часто являются популярным способом визуализации объемных данных, поскольку их можно представить простой полигональной моделью, которую можно быстро отрисовать на экране. В медицинской визуализации изоповерхности могут использоваться для представления областей с определенной плотностью в трехмерном компьютерном томографическом сканировании, что позволяет визуализировать внутренние органы, кости или другие структуры. Многие другие области науки, работающие с трехмерными данными, часто используют изоповерхности для получения информации в фармакологии, химии, геофизике и метеорологии.

Марширующие кубики

Алгоритм марширующих кубов был впервые опубликован в материалах конференции SIGGRAPH 1987 года Лоренсеном и Клайном и создает поверхность, пересекая ребра сетки объема данных с изоповерхностью. В точках пересечения поверхности с ребром алгоритм создает вершину. Используя таблицу различных треугольников, соответствующих различным схемам пересечения ребер, алгоритм может построить поверхность. Существуют реализации этого алгоритма как для центрального процессора (CPU), так и для графического процессора (GPU).

Асимптотический децидер

Асимптотический алгоритм определения был разработан как расширение алгоритма марширующих кубов для устранения неоднозначности, возникающей в нём.

Марширующий тетраэдр

Алгоритм марширующих тетраэдров был разработан как расширение алгоритма марширующих кубов для устранения неоднозначности в нём и создания более качественной выходной поверхности.

Наземные сети

Алгоритм Surface Nets располагает пересекающуюся вершину в центре вокселя объема, а не на его гранях, что обеспечивает более гладкую выходную поверхность.

Двойная контурная обработка

Алгоритм двойного контурирования был впервые опубликован в материалах SIGGRAPH 2002 года Джу и Лосассо, разработанный как расширение методов поверхностных сетей и марширующих кубов. Он сохраняет двойную вершину внутри вокселя, но уже не в его центре. Двойное контурирование использует положение и нормаль точки пересечения поверхности с ребрами вокселя для интерполяции положения двойной вершины внутри вокселя. Это позволяет сохранять четкие или гладкие поверхности, в то время как поверхностные сети часто выглядят блочными или с неверной фаской. Двойное контурирование часто использует генерацию поверхности с применением октри для оптимизации и адаптации количества треугольников в выходных данных к сложности поверхности.

Примеры

Примерами изоповерхностей являются "метаболлы" или "расплывчатые объекты", используемые в 3D-визуализации. Более общий способ построения изоповерхности — использование функционального представления.