Объемная визуализация - это создание графических представлений наборов данных, которые заданы на трехмерных сетках. Наборы объемных данных характеризуются многомерными массивами скаляра или вектора данных. Эти данные обычно заданы на решетчатых структурах, представляющих значения, выбранные в трехмерном пространстве. Существует два основных типа объемных данных:
Скалярные объемные данные содержат одинарные значения для каждой точки.
Векторные объемные данные содержат два или три значения для каждой точки, определяющие компоненты вектора.
Примером скалярных объемных данных является то, что производится flow
. Данные о потоке представляют профиль скорости погруженной струи в бесконечном баке. Печать
[x,y,z,v] = flow;
создает четырёх трехмерных массивов. The x
, y
, и z
массивы задают координаты скалярных значений в массиве v
.
The wind
набор данных является примером данных векторов объема, который представляет воздушные течения над Северной Америкой. Вы можете загрузить эти данные в MATLAB® рабочая область с командой:
load wind
Этот набор данных состоит из шести трехмерных массивов: x
, y
, и z
являются ли координатные данные для массивов u
, v
, и w
, которые являются векторными компонентами для каждой точки объема.
Методы, которые вы выбираете, чтобы визуализировать объемные данные, зависят от того, какой тип данных у вас есть и что вы хотите узнать. В целом:
Скалярные данные лучше всего просматривать с изоповерхности, плоскостей разбиения и срезов контура.
Вектору данные представляют величины и направление в каждой точке, которое лучше всего отображается потоковыми линиями (частицами, лентами и трубами), конусными графиками и стрелой графиками. Однако в большинстве визуализаций используется комбинация методов, чтобы наилучшим образом раскрыть содержимое данных.
Материал в этих разделах описывает, как применить различные методы к типичным объемным данным.
MATLAB обеспечивает функции, которые позволяют вам интерполировать и реструктурировать свои данные в процессе подготовки к визуализации. Для получения дополнительной информации см. следующие разделы:
Создание эффективной визуализации требует ряда шагов для составления финальной сцены. Эти шаги подразделяются на четыре основные категории:
Определите характеристики ваших данных. Для построения графика объемных данных обычно требуется знание области значений координат и данных.
Выберите соответствующую стандартную программу графического изображения. Сведения в этом разделе помогают вам выбрать правильные методы.
Определите вид. Информация, переданная комплексным трехмерным графиком, может быть значительно увеличена путем тщательного составления сцены. Методы просмотра включают регулировку положения камеры, определение соотношения сторон и типа проекта, изменение или изменение масштаба и так далее.
Добавить подсветку и задать окраску. Подсветка является эффективным средством для улучшения видимости формы поверхности и предоставления трехмерной перспективы объемным графикам. Цвет может передать значения данных, как постоянные, так и меняющиеся.
Функции MATLAB позволяют вам применять различные методы объемной визуализации. В следующих таблицах эти функции сгруппированы в две категории на основе типа данных (скаляр или вектор), с которыми каждая из них предназначена для работы. Страница с описанием для каждой функции предоставляет примеры предполагаемого использования.
Функция | Цель |
---|---|
Нарисуйте контуры в плоскостях разбиения объема | |
isocaps | Вычисление геометрии торцевой крышки изоповерхности |
isocolors | Вычислите цвета изоповерхностей |
isonormals | Вычисление нормалей изоповерхностей |
isosurface | Извлеките изоповерхности из объемных данных |
Создайте закрашенную фигуру (мультимногоугольник) графический объект | |
Уменьшите количество закрашенной фигуры граней | |
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 | Возвращает пределы координат и цветов для объема (скаляр и вектор) |