slice

Объемные плоскости разбиения

Описание

пример

slice(X,Y,Z,V,xslice,yslice,zslice) рисует срезы для объемных данных V. Задайте X, Y, и Z как координатные данные. Задайте xslice, yslice, и zslice в качестве расположения срезов, использующих одну из следующих форм:

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

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

slice(V,xslice,yslice,zslice) использует данные координат по умолчанию для V. Расположение (x, y, z) для каждого элемента в V основан на столбце, строке и индексе страницы, соответственно.

пример

slice(___,method) задает метод интерполяции, где method можно 'linear' (по умолчанию), 'cubic', или 'nearest'. Используйте эту опцию с любым из входных параметров в предыдущих синтаксисах.

slice(ax,___) графики в заданные оси, вместо текущих систем координат (gca).

s = slice(___) возвращает Surface созданные объекты. slice возвращает один Surface объект для каждого среза.

Примеры

свернуть все

Показать объемные данные вдоль плоскостей разбиения, которые ортогональны каждой оси.

Создайте плоскости разбиения через объем, заданный как v=xe-x2-y2-z2, где x, y и z находятся в области значений от [-2,2]. Создайте плоскости разбиения, ортогональные оси X, при значениях -1.2, 0.8, и 2 и ортогонально оси Z при значении 0. Не создавайте плоскостей разбиения, ортогональных оси Y, задавая пустой массив.

[X,Y,Z] = meshgrid(-2:.2:2);
V = X.*exp(-X.^2-Y.^2-Z.^2);

xslice = [-1.2,0.8,2];   
yslice = [];
zslice = 0;
slice(X,Y,Z,V,xslice,yslice,zslice)

Figure contains an axes. The axes contains 4 objects of type surface.

Отобразите объемные данные вдоль непланарного среза. Определите поверхность, на которой необходимо отобразить объемные данные.

Создайте V массива томов как объем, заданный как v=xe-x2-y2-z2, где x, y и z находятся в области значений от [-5,5]. Затем покажите срез объемных данных вдоль поверхности, заданной как z=x2-y2.

[X,Y,Z] = meshgrid(-5:0.2:5);
V = X.*exp(-X.^2-Y.^2-Z.^2);

[xsurf,ysurf] = meshgrid(-2:0.2:2);
zsurf = xsurf.^2-ysurf.^2;
slice(X,Y,Z,V,xsurf,ysurf,zsurf)

Figure contains an axes. The axes contains an object of type surface.

Создайте плоскость разбиения с помощью объемных данных. Задайте метод интерполяции для значений данных.

Создайте плоскость разбиения, ортогональную оси X, со значением 0.8. Поскольку объемные данные не определены для значений x 0,8, slice функция интерполирует ближайшие значения. Чтобы использовать ближайшее значение точки данных, задайте метод интерполяции следующим 'nearest'.

[X,Y,Z] = meshgrid(-2:2);
V = X.*exp(-X.^2-Y.^2-Z.^2);
xslice = 0.8;   
yslice = [];
zslice = [];
slice(X,Y,Z,V,xslice,yslice,zslice,'nearest')

Figure contains an axes. The axes contains an object of type surface.

Входные параметры

свернуть все

x -данные координат оси, заданные как вектор или трехмерный массив того же размера, что и V. Если вы задаете трехмерный массив, он должен быть монотонным и ортогонально разделенным, как если бы он был произведен meshgrid функция.

Типы данных: single | double

y -данные координат оси, заданные как вектор или трехмерный массив того же размера, что и V. Если вы задаете трехмерный массив, он должен быть монотонным и ортогонально разделенным, как если бы он был произведен meshgrid функция.

Типы данных: single | double

z -данные координат оси, заданные как вектор или трехмерный массив того же размера, что и V. Если вы задаете трехмерный массив, он должен быть монотонным и ортогонально разделенным, как если бы он был произведен meshgrid функция.

Типы данных: single | double

Объемные данные, заданные как трехмерный массив.

Типы данных: single | double

x -ось значения среза, заданные в одной из следующих форм:

  • Скаляр - нарисуйте одну плоскость разбиения, ортогональную оси x в заданном месте.

  • Вектор - нарисуйте несколько плоскости разбиения ортогонально оси x в заданных местоположениях.

  • [] - Не рисуйте плоскостей разбиения.

  • Матрица - нарисуйте срез вдоль поверхности вместо плоскости. Если вы используете эту опцию, то yslice и zslice также должны быть матрицами одинакового размера.

Пример: [2 4] рисует плоскости разбиения, ортогональные оси X, со значениями 2 и 4.

Типы данных: single | double

y -ось значения среза, заданные в одной из следующих форм:

  • Скаляр - нарисуйте одну плоскость разбиения, ортогональную оси y в заданном месте.

  • Вектор - нарисуйте несколько плоскости разбиения ортогонально оси y в заданных местоположениях.

  • [] - Не рисуйте плоскостей разбиения.

  • Матрица - нарисуйте срез вдоль поверхности вместо плоскости. Если вы используете эту опцию, то xslice и zslice также должны быть матрицами одинакового размера.

Пример: [2 4] рисует плоскости разбиения, ортогональные оси Y, со значениями 2 и 4.

Типы данных: single | double

z -ось значения среза, заданные в одной из следующих форм:

  • Скаляр - нарисуйте одну плоскость разбиения, ортогональную оси z в заданном месте.

  • Вектор - нарисуйте несколько плоскости разбиения ортогонально оси z в заданных местоположениях.

  • [] - Не рисуйте плоскостей разбиения.

  • Матрица - нарисуйте срез вдоль поверхности вместо плоскости. Если вы используете эту опцию, то xslice и yslice также должны быть матрицами одинакового размера.

Пример: [2 4] рисует плоскости разбиения, ортогональные оси Z, со значениями 2 и 4.

Типы данных: single | double

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

  • 'linear' - Линейная интерполяция значений в соседних точках сетки в каждой соответствующей размерности

  • 'cubic' - Кубическая интерполяция значений в соседних точках сетки в каждой соответствующей размерности

  • 'nearest' - Ближайшее значение точки сетки

Целевые оси, заданные как Axes объект. Если вы не задаете оси, то slice графики в текущей системе координат.

Расширенные возможности

См. также

| | | | (Image Processing Toolbox)

Представлено до R2006a