В научной визуализации , криволинейный интеграл свертки ( LIC ) является метод , предложенный Брайан Кабрал и Лейт Leedom визуализировать векторное поле , такие как движение жидкости . [1] По сравнению с другими основанными на интеграции методами, которые вычисляют линии поля входного векторного поля, LIC имеет то преимущество, что отображаются все структурные особенности векторного поля без необходимости адаптации начальной и конечной точек линий поля к конкретное векторное поле. LIC - это метод из семейства текстурной адвекции .
Принцип
Интуиция
Интуитивно поток векторного поля в некоторой области визуализируется путем добавления статического случайного узора из темных и светлых источников краски. По мере того, как поток проходит мимо источников, каждая капля жидкости улавливает часть исходного цвета, усредняя его с цветом, который она уже приобрела, подобно тому, как бросают краску в реку. В результате получается случайная полосатая текстура, в которой точки вдоль одной и той же линии тока обычно имеют одинаковый цвет.
Алгоритм
Алгоритмически метод начинается с генерации в области векторного поля случайного изображения уровня серого с желаемым выходным разрешением. Затем для каждого пикселя в этом изображении вычисляется прямая и обратная линия тока фиксированной длины дуги . Значение, присвоенное текущему пикселю, вычисляется путем свертки подходящего ядра свертки с уровнями серого всех пикселей, лежащих на сегменте этой линии тока. Это создает изображение LIC с уровнем серого.
Математическое описание
Хотя входное векторное поле и результирующее изображение дискретизированы, стоит посмотреть на него с непрерывной точки зрения. [2] Пусть быть векторным полем, заданным в некоторой области . Хотя входное векторное поле обычно дискретизируется, мы рассматриваем поле как определено в каждой точке , т.е. мы предполагаем интерполяцию. Линии тока или, в более общем смысле, линии поля касаются векторного поля в каждой точке. Они заканчиваются либо на границе или в критических точках, где . Для простоты в следующих ниже критических точках и границах не учитываются. Полевая линия, параметризованный длиной дуги , определяется как . Позволять линия поля, проходящая через точку для . Тогда значение серого изображения на установлен на
где - ядро свертки, - изображение шума, а - длина следующего сегмента линии поля.
должен быть вычислен для каждого пикселя в изображении LIC. Если проводить наивно, это довольно дорого. Сначала силовые линии должны быть вычислены с использованием численного метода решения обыкновенных дифференциальных уравнений , такого как метод Рунге – Кутта , а затем для каждого пикселя должна быть вычислена свертка вдоль сегмента силовой линии. Вычисления можно значительно ускорить, повторно используя части уже вычисленных линий поля, специализируясь на функции ящика в качестве ядра свертки.и избежание избыточных вычислений во время свертки. [2] Результирующий быстрый метод LIC может быть обобщен на ядра свертки, которые являются произвольными полиномами. [3]
Обратите внимание, что не обязательно должна быть двумерной областью: метод применим к областям более высокой размерности, использующим многомерные шумовые поля. Однако визуализация многомерной LIC-текстуры проблематична; один из способов - использовать интерактивное исследование с двумерными срезами, которые позиционируются и вращаются вручную. Доментоже не обязательно должен быть плоским; LIC-текстуру можно вычислить также для 2D-поверхностей произвольной формы в 3D-пространстве. [4]
Выходное изображение обычно будет каким-то образом окрашено. Обычно какое-то скалярное поле в используется, как длина вектора, для определения оттенка, в то время как изображение LIC в градациях серого определяет яркость цвета.
Различные варианты ядер свертки и случайного шума создают разные текстуры: например, розовый шум создает облачный узор, где области более высокого потока выделяются как размытые, подходящие для визуализации погоды. Дальнейшие уточнения свертки могут улучшить качество изображения. [5]
Анимированная версия
Изображения LIC можно анимировать с помощью ядра, которое изменяется со временем. По-прежнему будут использоваться выборки в постоянное время из линии тока, но вместо усреднения всех пикселей в линии потока со статическим ядром, ядро типа пульсации, построенное из периодической функции, умноженной на функцию Ханна, действующую как окно (для того, чтобы предотвратить артефакты). Затем периодическая функция сдвигается по периоду для создания анимации.
Изменяющиеся во времени векторные поля
Для зависящих от времени векторных полей был разработан вариант (UFLIC), который поддерживает согласованность анимации потока. [6]
Параллельные версии
Поскольку вычисление LIC-изображения является дорогостоящим, но по своей сути параллельным, оно также было распараллелено [7] и, с появлением реализаций на базе GPU, оно стало интерактивным на ПК. Также для UFLIC была представлена интерактивная реализация на базе графического процессора. [8]
Юзабилити
Хотя изображение LIC передает ориентацию векторов поля, оно не указывает их направление; для стационарных полей это можно исправить с помощью анимации. Базовые изображения LIC без цвета и анимации не показывают длину векторов (или напряженность поля). Если эта информация должна быть передана, она обычно кодируется цветом; в качестве альтернативы можно использовать анимацию. [1] [2]
При пользовательском тестировании было обнаружено, что LIC особенно хорош для определения критических точек. [9] С появлением высокопроизводительных реализаций на базе графических процессоров прежний недостаток ограниченной интерактивности больше не присутствует.
Рекомендации
- ^ a b Кабрал, Брайан; Лидом, Лейт Кейси (2–6 августа 1993 г.). "Визуализация векторных полей с использованием свертки интеграла линий". Материалы 20-й ежегодной конференции по компьютерной графике и интерактивной технике . СИГГРАФ '93. Анахайм, Калифорния. С. 263–270. CiteSeerX 10.1.1.115.1636 . DOI : 10.1145 / 166117.166151 . ISBN 0-89791-601-8.
- ^ а б в Сваливание, Детлев; Хеге, Ганс-Кристиан (6–11 августа 1995 г.). «Быстрая и независимая от разрешения линейная интегральная свертка» . Материалы 22-й ежегодной конференции по компьютерной графике и интерактивным методам . СИГГРАФ '95. Лос-Анджелес, Калифорния. С. 249–256 . CiteSeerX 10.1.1.45.5526 . DOI : 10.1145 / 218380.218448 . ISBN 0-89791-701-4.
- ^ Хеге, Ганс-Кристиан; Столлинг, Детлев (1998), «Быстрый LIC с кусочно-полиномиальными ядрами фильтра», в Hege, Hans-Christian; Polthier, Конрад (ред.), Математическая визуализация , Берлин, Гейдельберг:. Springer-Verlag, стр 295-314, CiteSeerX 10.1.1.31.504 , DOI : 10.1007 / 978-3-662-03567-2_22 , ISBN 978-3-642-08373-0
- ^ Баттке, Хенрик; Сваливание, Детлев; Хеге, Ганс-Кристиан (1997). «Быстрая интегральная свертка по линиям для произвольных поверхностей в 3D». В Хеге - Ганс-Кристиан; Полтье, Конрад (ред.). Визуализация и математика: эксперименты, моделирование и окружающая среда . Берлин, Нью-Йорк: Springer . стр. 181 -195. CiteSeerX 10.1.1.71.7228 . DOI : 10.1007 / 978-3-642-59195-2_12 . ISBN 3-540-61269-6.
- ^ Вайскопф, Даниэль (2009). «Итеративная интегральная свертка двух линий для визуализации текстурных векторных полей». В Мёллер, Торстен; Хаманн, Бернд; Рассел, Роберт Д. (ред.). Математические основы научной визуализации, компьютерной графики и исследования массивных данных . Математика и визуализация. Берлин, Нью-Йорк: Springer . стр. 191 -211. CiteSeerX 10.1.1.66.3013 . DOI : 10.1007 / b106657_10 . ISBN 978-3-540-25076-0.
- ^ Шэнь, Хань-Вэй; Кам, Дэвид Л. (1998). «Новый алгоритм интегральной свертки строк для визуализации полей потока, меняющихся во времени» (PDF) . IEEE Trans Vis Comput Graph . Лос-Аламитос: IEEE. 4 (2): 98–108. DOI : 10.1109 / 2945.694952 . ISSN 1077-2626 .
- ^ Цёклер, Мальте; Сваливание, Детлев; Хеге, Ганс-Кристиан (1997). «Интегральная свертка по параллельным линиям» (PDF) . Параллельные вычисления . Амстердам: Северная Голландия. 23 (7): 975–989. DOI : 10.1016 / S0167-8191 (97) 00039-2 . ISSN 0167-8191 .
- ^ Дин, Цзыанг; Лю, Чжаньпин; Ю, Ян; Чен, Вэй (2015). «Интегральная свертка параллельных нестационарных линий потока для высокопроизводительной плотной визуализации». Симпозиум по визуализации IEEE Pacific 2015, PacificVis 2015 . Ханчжоу, Китай. С. 25–30.
- ^ Laidlaw, Дэвид Х .; Кирби, Роберт М .; Дэвидсон, Дж. Скотт; Миллер, Тимоти С .; да Силва, Марко; Уоррен, Уильям Х .; Тарр, Майкл Дж. (21–26 октября 2001 г.). «Количественная сравнительная оценка методов визуализации 2D векторного поля». IEEE Visualization 2001, VIS '01. Ход работы . Сан-Диего, Калифорния, США. С. 143–150.
Внешние ссылки
- Учебник, включающий множество образцов изображений
- Учебник Siggraph 1997 о быстром методе LIC