Мне нужно создать сюжет, как на этом изображении:
Я написал этот код:
close all
x = [NaN 1 3 7 9 23 8];
y = [NaN 2 6 7 8 2 1];
z = [NaN 1 4 5 5 4 1];
for n = 1:length(z)-1
x1 = x(n);
x2 = x(n+1);
y1 = y(n);
y2 = y(n+1);
z1 = z(n);
z2 = z(n+1);
p = patch([x1 x2 x2 x1], [y1 y2 y2 y1], [0 0 z2 z1], [0 1 1]);
set(p, 'LineStyle', 'none');
plot3([x1 x2], [y1 y2], [z1 z2], 'b-', 'linewidth', 3);
hold on
end
view(3);
light
И я получаю это:
Это нормально, но каждая грань патча имеет сплошной цвет, где я хотел бы иметь цветовой градиент на основе значения Z, как на первом изображении, где самые низкие значения z — лазурные, а самые высокие значения z — белые (с градиентом от от низшего к высшему).
Как я могу изменить свой сценарий, чтобы получить этот эффект?