这并不容易(它应该是一个内置选项),但是通过修改每个管的CData(它们都是它们自己的图形对象),您可以获得所需的结果。这是一个例子
load wind
[sx,sy,sz] = meshgrid(80,20:10:50,0:5:15);
h=streamtube(x,y,z,u,v,w,sx,sy,sz);
drawnow
view(3)
axis tight
shading interp;
这给出了这张图片:
然后这样做:
vel=sqrt(u.^2+v.^2+w.^2); %// calculate velocities
for i=1:length(h)
%// Modify the colour data of each tube
set(h(i),'CData',interp3(x,y,z,vel,get(h(i),'XData')...
,get(h(i),'YData'),get(h(i),'ZData'),'spline'))
end
drawnow
view(3)
axis tight
shading interp;
给出这个结果
注意事项:
1) 我不知道这是否完全正确,我不知道如何测试它
2) 您必须将速度数据从已知点插入到流管的顶点
3) 我发现 spline 插值选项效果最好,但其他选项在其他情况下可能效果更好