stringtranslate.com

Изоповерхность

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

Термин «изолиния» также иногда используется для областей, имеющих более 3 измерений. [1]

Изоповерхность вихреобразования , отстающая от лопасти винта. Обратите внимание, что это изоповерхность, построенная с помощью среза с цветовой картой.

Приложения

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

В медицинской визуализации изоповерхности могут использоваться для представления областей определенной плотности при трехмерном КТ- сканировании, что позволяет визуализировать внутренние органы , кости или другие структуры.

Многие другие дисциплины, интересующиеся трехмерными данными, часто используют изоповерхности для получения информации о фармакологии , химии , геофизике и метеорологии .

Алгоритмы реализации

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

Алгоритм marching cubes был впервые опубликован в трудах SIGGRAPH 1987 года Лоренсеном и Клайном [2] , и он создает поверхность путем пересечения краев сетки объема данных с контуром объема. Там, где поверхность пересекает край, алгоритм создает вершину. Используя таблицу различных треугольников в зависимости от различных шаблонов пересечения краев, алгоритм может создать поверхность. Этот алгоритм имеет решения для реализации как на CPU, так и на GPU.

Асимптотический решатель

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

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

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

Поверхностные сети

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

Двойной контур

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

Двойной контур коллектора

Двойственное контурирование многообразия включает анализ окрестности октодерева для поддержания непрерывности поверхности многообразия [5] [6] [7]

Примеры

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

Галерея

Смотрите также

Ссылки

  1. ^ "Уравнение Гамильтона–Якоби", Википедия , 2020-12-06 , получено 2020-12-14
  2. ^ Уильям Э. Лоренсен, Харви Э. Клайн: Marching Cubes: алгоритм построения 3D-поверхностей с высоким разрешением. В: Computer Graphics, Vol. 21, Nr. 4, июль 1987 г.
  3. ^ Тао Цзюй, Фрэнк Лосассо, Скотт Шефер, Джо Уоррен: Двойное контурирование данных Эрмита. Архивировано 18 сентября 2017 г. на Wayback Machine в: ACM Transactions on Graphics, том 21, выпуск 3, июль 2002 г.
  4. ^ "Гладкий воксельный ландшафт (часть 2)". 12 июля 2012 г.
  5. ^ Скотт Шефер, Тао Цзюй, Джо Уоррен (2006). «Двойное контурирование многообразия» (PDF) .{{cite web}}: CS1 maint: несколько имен: список авторов ( ссылка )
  6. ^ Lin X (30 декабря 2015 г.). Manifold Dual Contouring. Архивировано из оригинала 11 сентября 2020 г. Получено 28 апреля 2020 г.
  7. ^ Лин X (23 октября 2016 г.). "Репозиторий Github - isosurface". GitHub .

Внешние ссылки