Обзор объемной визуализации

Примеры объемных данных

Объемная визуализация - это создание графических представлений наборов данных, которые заданы на трехмерных сетках. Наборы объемных данных характеризуются многомерными массивами скаляра или вектора данных. Эти данные обычно заданы на решетчатых структурах, представляющих значения, выбранные в трехмерном пространстве. Существует два основных типа объемных данных:

  • Скалярные объемные данные содержат одинарные значения для каждой точки.

  • Векторные объемные данные содержат два или три значения для каждой точки, определяющие компоненты вектора.

Примером скалярных объемных данных является то, что производится flow. Данные о потоке представляют профиль скорости погруженной струи в бесконечном баке. Печать

[x,y,z,v] = flow;

создает четырёх трехмерных массивов. The x, y, и z массивы задают координаты скалярных значений в массиве v.

The wind набор данных является примером данных векторов объема, который представляет воздушные течения над Северной Америкой. Вы можете загрузить эти данные в MATLAB® рабочая область с командой:

load wind

Этот набор данных состоит из шести трехмерных массивов: x, y, и z являются ли координатные данные для массивов u, v, и w, которые являются векторными компонентами для каждой точки объема.

Выбор методов визуализации

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

  • Скалярные данные лучше всего просматривать с изоповерхности, плоскостей разбиения и срезов контура.

  • Вектору данные представляют величины и направление в каждой точке, которое лучше всего отображается потоковыми линиями (частицами, лентами и трубами), конусными графиками и стрелой графиками. Однако в большинстве визуализаций используется комбинация методов, чтобы наилучшим образом раскрыть содержимое данных.

Материал в этих разделах описывает, как применить различные методы к типичным объемным данным.

Интерполяция и сетка данных

MATLAB обеспечивает функции, которые позволяют вам интерполировать и реструктурировать свои данные в процессе подготовки к визуализации. Для получения дополнительной информации см. следующие разделы:

Шаги к созданию объемной визуализации

Создание эффективной визуализации требует ряда шагов для составления финальной сцены. Эти шаги подразделяются на четыре основные категории:

  1. Определите характеристики ваших данных. Для построения графика объемных данных обычно требуется знание области значений координат и данных.

  2. Выберите соответствующую стандартную программу графического изображения. Сведения в этом разделе помогают вам выбрать правильные методы.

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

  4. Добавить подсветку и задать окраску. Подсветка является эффективным средством для улучшения видимости формы поверхности и предоставления трехмерной перспективы объемным графикам. Цвет может передать значения данных, как постоянные, так и меняющиеся.

Функции объемной визуализации

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

Функции для скалярных данных

ФункцияЦель

contourslice

Нарисуйте контуры в плоскостях разбиения объема

isocaps

Вычисление геометрии торцевой крышки изоповерхности

isocolors

Вычислите цвета изоповерхностей

isonormals

Вычисление нормалей изоповерхностей

isosurface

Извлеките изоповерхности из объемных данных

patch

Создайте закрашенную фигуру (мультимногоугольник) графический объект

reducepatch

Уменьшите количество закрашенной фигуры граней

reducevolume

Уменьшите количество элементов в наборе объемных данных

shrinkfaces

Уменьшите размер каждой закрашенной фигуры грани

slice

Нарисуйте плоскости разбиения в объеме

smooth3

Сглаживайте 3-D данные

surf2patch

Преобразуйте данные поверхности в патч-данные

subvolume

Извлечение подмножества набора объемных данных

Функции для векторных данных

Функция

Цель

coneplot

Постройте векторы скорости как конусы в 3-D векторных полях

curl

Вычислите кривую и угловую скорость векторного поля 3-D

divergence

Вычислите расхождение векторного поля 3-D

interpstreamspeed

Интерполируйте упорядоченные вершины из величин векторного поля

streamline

Нарисуйте потоковые линии из 2-D или 3-D векторных данных

streamparticles

Нарисуйте частицы потока из данных векторного объема

streamribbon

Нарисуйте ленты потока из данных векторов объема

streamslice

Нарисуйте хорошо разнесенные линии потока из векторных объемных данных

streamtube

Нарисуйте потоковые трубы из данных векторного объема

stream2

Вычислите 2-D потоке данных линии

stream3

Вычислите 3-D потоке данных линии

volumebounds

Возвращает пределы координат и цветов для объема (скаляр и вектор)