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

6 vues (au cours des 30 derniers jours)
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 commentaires
Walter Roberson
Walter Roberson le 18 Jan 2020
scatteredInterpolant()
Philippe Corner
Philippe Corner le 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:
load('data.mat')
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:
plot.pngWhat 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?
thanks in advance!

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 18 Jan 2020
Modifié(e) : Walter Roberson le 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);
load('data.mat')
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 commentaires
Philippe Corner
Philippe Corner le 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
Walter Roberson le 18 Jan 2020
Sorry, yes, I renamed variables as I posted and missed renaming that.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by