# how to obtain volume data from X,Y,Z,c data to use slice() function?

6 views (last 30 days)
Philippe Corner on 18 Jan 2020
Commented: Walter Roberson on 18 Jan 2020
If we have X,Y,Z,v data, how can I manage to get Volume data form in order to use slice function?
please check data (data.mat)
first column: x coordinate
second column: y coordinate
third column: z coordinate
fourth column: data
##### 2 CommentsShow NoneHide None
Walter Roberson on 18 Jan 2020
scatteredInterpolant()
Philippe Corner on 18 Jan 2020
Yes, thank you walter.
Im not sure how to mesh this data to obtain the solid rectangle I need..
my code goes like this:
x = data(:,1);
y = data(:,2);
z = data(:,3);
c = data(:,4);
F = scatteredInterpolant(x,y,z,c);
[xq,yq,zq] = meshgrid(-10:1:20); %im not sure how to build it
vq = F(xq,yq,zq);
xslice = [0];
yslice = [0];
zslice = [0];
slice(xq,yq,zq,vq,xslice,yslice,zslice)
I'm suposed to obtain a solid rectangle among this scatter:
scatter3(x,y,z,4,'filled')
something like:
What I really want is to obtain a meshgrid and plot a 3d voxel that represents my initial data among:
limx = [(592447.8 592463.9)]
limy = [(507793.3 507837.4)]
limz = [(2553.6 2559.9)]
any suggestion walter?

Walter Roberson on 18 Jan 2020
Edited: Walter Roberson on 18 Jan 2020
N = 50;
xvec = linspace(592447.8, 592463.9, N);
yvec = linspace(507793.3, 507837.4, N);
zvec = linspace(2553.6, 2559.9, N);
[xq, yq, zq] = meshgrid(xvec, yvec, zvec);
x = data(:,1);
y = data(:,2);
z = data(:,3);
c = data(:,4);
F = scatteredInterpolant(x,y,z,c);
vq = F(X, Y, Z);
xslice = something in the x range;
yslice = something in the y range;
zslice = something in the z range;
slice(xq, yq, zq, vq, xslice, yslice, zslice)
##### 2 CommentsShow NoneHide None
Philippe Corner on 18 Jan 2020
vq = F(xq, yq, zq); %i think this line would be like this.
thanks a lot Walter, this was very helpful!
Walter Roberson on 18 Jan 2020
Sorry, yes, I renamed variables as I posted and missed renaming that.

### Categories

Find more on Surface and Mesh Plots in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!