exponenta event banner

fill3

Заполненные 3-D многоугольники

Синтаксис

fill3(X,Y,Z,C)
fill3(X,Y,Z,ColorSpec)
fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...)
fill3(...,'PropertyName',PropertyValue)
fill3(ax,...)
h = fill3(...)

Описание

fill3 функция создает плоские и закрашенные Гуро многоугольники.

fill3(X,Y,Z,C) заполняет трехмерные многоугольники. X, Y, и Z триплеты задают вершины многоугольника. Если X, Y, или Z является матрицей, fill3 создает n многоугольников, где n - количество столбцов в матрице. fill3 замыкает многоугольники, соединяя последнюю вершину с первой при необходимости. Значения в X, Y, и Z могут быть числовыми значениями, значениями datetime, duration или категориями.

C указывает цвет, где C - вектор или матрица индексов в текущей карте цветов. Если C - вектор строки, length(C) должны равняться size(X,2) и size(Y,2); если C - вектор столбца, length(C) должны равняться size(X,1) и size(Y,1).

fill3(X,Y,Z,ColorSpec) заполняет многоугольники цветом, указанным ColorSpec, которое может быть одним из следующих значений:

  • Имя цвета или короткое имя: 'red' (или 'r'), 'green' (или 'g'), 'blue' (или 'b'), 'cyan' (или 'c'), 'magenta' (или 'm'), 'yellow' (или 'y'), 'black' (или 'k'), 'white' (или 'w').

  • Триплет RGB, заданный как вектор 1 на 3, элементами которого являются интенсивности красного, зеленого и синего компонентов цвета. Интенсивности должны находиться в диапазоне [0, 1]. Например, [0.7 0.8 1] указывает светло-синий цвет.

fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...) задает несколько заполненных трехмерных областей.

fill3(...,'PropertyName',PropertyValue) позволяет задать значения для определенных свойств исправления.

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

h = fill3(...) возвращает вектор объектов-исправлений.

Примеры

свернуть все

Создайте четыре треугольника с интерполированными цветами.

X = [0 1 1 2; 1 1 2 2; 0 0 1 1];
Y = [1 1 1 1; 1 0 1 0; 0 0 0 0];
Z = [1 1 1 1; 1 0 1 0; 0 0 0 0];
C = [0.5000 1.0000 1.0000 0.5000;
     1.0000 0.5000 0.5000 0.1667;
     0.3330 0.3330 0.5000 0.5000];

figure
fill3(X,Y,Z,C)

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

Алгоритмы

Если X, Y, и Z - матрицы одинакового размера, fill3 образует вершину из соответствующих элементов X, Y, и Z (все из одного расположения матрицы) и создает один многоугольник из данных в каждом столбце.

Если X, Y, или Z является матрицей, fill3 реплицирует любой аргумент вектора столбца для получения матриц требуемого размера.

При указании цвета с помощью ColorSpec аргумент, fill3 создает плоские многоугольники и задает объект-сегмент FaceColor для триплета RGB.

Если цвет указан с помощью C, fill3 масштабирует элементы CLim по свойству axes CLim, который задает параметры масштабирования цветовой оси перед индексированием текущей карты цветов.

Если C - вектор строки, fill3 создает плоские многоугольники и задает FaceColor свойства объектов-исправлений для 'flat'. Каждый элемент становится элементом CData значение свойства для соответствующего объекта исправления.

Если C является вектором-столбцом или матрицей, fill3 создает многоугольники с интерполированными цветами и задает объект фрагмента FaceColor свойство для 'interp'. fill3 использует линейную интерполяцию индексов карты цветов вершин при генерации многоугольников с интерполированными цветами. Элементы в одном столбце становятся CData значение свойства для соответствующего объекта исправления. Если C - вектор столбца, fill3 реплицирует вектор столбца для получения матрицы требуемого размера.

Вопросы совместимости

развернуть все

В R2021a изменилось поведение

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

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