[x,y,z,v] = flow;
[faces,verts,colors] = isosurface(x,y,z,v,-3,x);
p = patch('Vertices', verts, 'Faces', faces, ...
'FaceVertexCData', colors, ...
'FaceColor','interp', ...
'edgecolor', 'interp')
set(gca, 'CLim', [3 6])
alpha(0.5)
hold on
xmin = min(x(:));
xmax = max(x(:));
ymin = min(y(:));
ymax = max(y(:));
zmin = min(z(:));
zmax = max(z(:));
P = [5 0 0]'
v1 = [1 1 0]'
v2 = [1 0 1]'
V1 = [v1(2:3) v2(2:3)];
b1 = [ymin; zmin] - P(2:3);
b2 = [ymax; zmax] - P(2:3);
alpha_beta = [V1\b1 V1\b2];
delta_alpha = (alpha_beta(1,2) - alpha_beta(1,1))/100;
delta_beta = (alpha_beta(2,2) - alpha_beta(2,1))/100;
[A B] = meshgrid(alpha_beta(1,1):delta_alpha:alpha_beta(1,2), ...
alpha_beta(2,1):delta_beta:alpha_beta(2,2));
xi = A*v1(1) + B*v2(1) + P(1);
yi = A*v1(2) + B*v2(2) + P(2);
zi = A*v1(3) + B*v2(3) + P(3);
h = contourslice(x,y,z,v,xi, yi, zi, [-3 -3]);
view(3)
Best Answer