2013-11-09 3 views
0

Я рисую кучу треугольников, используя цикл for и команду fill3, как показано ниже. Я хочу сделать что-то вроде этого примера, где Z-диапазон соответствует определенному цвету.Как вставить пользовательскую цветовую карту в MATLAB?

Example of what I want

Прямо сейчас, я использую fill3 (х, у, г, «г»), так как я не совсем уверен, что еще делать.

enter image description here

ответ

0

можно установить цвет в каждой вершине и интерполировать между ними. Вы также можете создавать сплошные цветные полигоны, устанавливая цвет в каждой вершине одинаковой.

Из документации Matlab

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

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

пример для создания многоугольника, чьи цвета в каждой вершине пропорциональны Z координат:

X = [0 1 1]; 
Y = [1 1 0]; 
Z = [0 0.5 1]; 
C = [Z(1)/max(Z); 
    Z(2)/max(Z); 
    Z(3)/max(Z)]; 
fill3(X,Y,Z,C); 
%optional 
colormap(hot); 
Смежные вопросы