Matlab или Origin - объединение двух наборов трехмерных данных в одном контурном графике

У меня есть два набора 3D-данных с координатами XYZ. Я хотел бы знать, если есть программа, которая может объединить два, такие, что:

Один набор данных представлен цветами графика, а другой набор данных представлен высотой (в 3D) графика.

Я знаком как с Matlab, так и с Origin.

2 ответа

Это легко, если вы используете функцию scatter3.

w=100;
x1=rand(1,w);
y1=rand(1,w);
z1=rand(1,w)*100;
z2=ceil(rand(1,w)*255);
figure
h=scatter3(x1,y1,z1,ones(1,w)*50,z2,'filled');

Может быть сделано с surf(Z,C),

a = randi(20,20,20);
b = randi(20,20,20);

figure;
subplot(2,2,1);
surf(a);
title('Height');

subplot(2,2,2);
surf(b);
title('Color');

subplot(2,2,[3,4]);
surf(a,b);
title('Mixed');

Не лучшие представления, но вы можете видеть, что одна матрица дает высоту, а другая - цвет.

Цвет смешанного сюжета исходит из правильного сюжета

Цветовые совпадения

Высота смешанного участка исходит от левого участка

Высота соответствует

Другие вопросы по тегам