Объемная визуализация - это создание графических представлений наборов данных, которые определяются на трехмерных сетках. Наборы данных тома характеризуются многомерными массивами скалярных или векторных данных. Эти данные обычно определяются в решетчатых структурах, представляющих значения, дискретизированные в 3-D пространстве. Существует два основных типа данных тома:
Скалярные данные объема содержат отдельные значения для каждой точки.
Векторные объемные данные содержат два или три значения для каждой точки, определяющие компоненты вектора.
Примером скалярных данных тома является flow. Данные потока представляют профиль скорости погруженной струи в бесконечном резервуаре. Печать
[x,y,z,v] = flow;
создает четыре массива 3-D. x, y, и z массивы задают координаты скалярных значений в массиве v.
wind набор данных является примером векторных объемных данных, которые представляют воздушные течения над Северной Америкой. Эти данные можно загрузить в рабочую область MATLAB ® с помощью команды:
load wind
Этот набор данных состоит из шести 3-D массивов: x, y, и z являются данными координат для массивов u, v, и w, которые являются векторными компонентами для каждой точки объема.
Методы визуализации данных тома зависят от типа данных, которые вы хотите узнать. В целом:
Для просмотра скалярных данных лучше всего использовать изоповерхности, плоскости среза и контурные срезы.
Векторные данные представляют величину и направление в каждой точке, которые лучше всего отображаются линиями потока (частицами, лентами и трубами), коническими графиками и графиками со стрелками. Однако в большинстве визуализаций используется комбинация методов для наилучшего раскрытия содержания данных.
Материал в этих разделах описывает применение различных методов к типичным объемным данным.
MATLAB предоставляет функции, позволяющие выполнять интерполяцию и реструктуризацию данных при подготовке к визуализации. Дополнительные сведения см. в следующих разделах:
Для создания эффективной визуализации требуется ряд шагов для составления окончательной сцены. Эти шаги подразделяются на четыре основные категории:
Определите характеристики данных. Для построения графика объемных данных обычно требуется знание диапазона координат и значений данных.
Выберите соответствующую подпрограмму печати. Информация в этом разделе помогает выбрать правильные методы.
Определите вид. Информация, передаваемая сложным трехмерным графом, может быть значительно улучшена благодаря тщательной композиции сцены. Методы просмотра включают настройку положения камеры, определение соотношения сторон и типа проекта, увеличение или уменьшение масштаба изображения и т.д.
Добавьте освещение и укажите цвет. Освещение является эффективным средством улучшения видимости формы поверхности и обеспечения трехмерной перспективы для объемных графиков. Цвет может передавать значения данных, как постоянные, так и изменяющиеся.
Функции MATLAB позволяют применять различные методы визуализации громкости. Следующие таблицы группируют эти функции в две категории на основе типа данных (скалярных или векторных), с которыми каждая предназначена для работы. Справочная страница для каждой функции содержит примеры предполагаемого использования.
| Функция | Цель |
|---|---|
Рисование контуров в плоскостях объемного фрагмента | |
isocaps | Расчет геометрии торцевой крышки изо-поверхности |
isocolors | Вычисление цветов вершин изо-поверхности |
isonormals | Вычислить нормали вершин изо-поверхности |
isosurface | Извлечение данных изоповерхности из данных тома |
Создание графического объекта patch (multipolygon) | |
Уменьшение числа граней сегмента | |
reducevolume | Уменьшение количества элементов в наборе данных тома |
shrinkfaces | Уменьшите размер каждой грани сегмента |
slice | Рисование плоскостей фрагмента в объеме |
smooth3 | Сглаживание данных 3-D |
surf2patch | Преобразование данных поверхности в данные сегмента |
subvolume | Извлечь подмножество набора данных тома |
Функция | Цель |
|---|---|
coneplot | Построение векторов скорости в виде конусов в векторных полях 3-D |
Вычислить кривизну и угловую скорость векторного поля 3-D | |
divergence | Вычислить расхождение 3-D векторного поля |
interpstreamspeed | Интерполяция вершин упорядочения из значений векторных полей |
streamline | Рисование линий потока из векторных данных 2-D или 3-D |
streamparticles | Извлечение частиц потока из векторных объемных данных |
streamribbon | Рисование лент потока из данных векторного объема |
streamslice | Построение хорошо разнесенных линий потока на основе векторных данных объема |
streamtube | Рисование труб потока из данных векторного объема |
stream2 | Вычислить данные строки потока 2-D |
stream3 | Вычислить данные строки потока 3-D |
volumebounds | Возвращаемые границы координат и цвета для объема (скалярные и векторные) |