How to extract data from a slice?

The example in "doc slice" is very good:
hsp = surf(linspace(-2,2,20),linspace(-2,2,20),zeros(20)+1);
rotate(hsp,[1,-1,1],30)
xd = get(hsp,'XData');
yd = get(hsp,'YData');
zd = get(hsp,'ZData');
delete(hsp)
[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);
v = x.*exp(-x.^2-y.^2-z.^2);
slice(x,y,z,v,xd,yd,zd);
How can the data of this slice be extracted as a "2D matrix slice" and used later to show with imshow for example?

 Réponse acceptée

KSSV
KSSV le 1 Déc 2016

3 votes

Already you did it...The code you gave has the way to extract the data you want.
hsp = surf(linspace(-2,2,20),linspace(-2,2,20),zeros(20)+1);
rotate(hsp,[1,-1,1],30)
xd = get(hsp,'XData');
yd = get(hsp,'YData');
zd = get(hsp,'ZData');
delete(hsp)
[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);
v = x.*exp(-x.^2-y.^2-z.^2);
hss = slice(x,y,z,v,xd,yd,zd);
xs = get(hss,'XData');
ys = get(hss,'YData');
zs = get(hss,'ZData');
cs = get(hss,'CData');
figure
surf(xs,ys,zs,cs) ;
You have the data xs,ys,zs,cs in your hand now.

Plus de réponses (0)

Catégories

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by