Can anyone help me to understand the logic of below code
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Xb=Xm; Yb=Ym; Zb=Zm; % Boundary Points
Xf=[];Yf=[];Zf=[];
for z=min(Zb):1:max(Zb)+0.5
x1=Xb(abs(Zb-z)<0.01);y1=Yb(abs(Zb-z)<0.01);z1=Zb(abs(Zb-z)<0.01);
for y=min(y1):1:max(y1)+0.5
x2=x1(abs(y1-y)<0.01);y2=y1(abs(y1-y)<0.01);z2=z1(abs(y1-y)<0.01);
xf=x2(abs(x2-min(x2))<0.01); yf=y2(abs(x2-min(x2))<0.01);zf=z2(abs(x2-min(x2))<0.01);
Xf=[Xf;xf];Yf=[Yf;yf];Zf=[Zf;zf];
end
end
range of Xb = 12.75 to 26.75
range of Yb = -10 to 10
range of Zb = -10 to 10
6 commentaires
Guillaume
le 1 Juil 2019
It calculates some stuff. Now, since you still haven't told us what the overall purpose of the code is, I doubt anybody is going to bother looking any deeper. Well written code would have comment explaining what the variables are (and have better variable names) and comments explaining what's going on. This hasn't
I suggest that if you need help understanding the code, you ask whoever wrote it.
Oh, and please use the toolbar to format the code as code. It's the button.
Réponses (1)
Jan
le 1 Juil 2019
Start with a simplification of the code to make it easier to read:
% find the points in the front surface
for z = min(Zb):max(Zb) + 0.5
% Get x, y, z values of points near to Zb==z:
index = (abs(Zb - z) < 0.01);
x1 = Xb(index);
y1 = Yb(index);
z1 = Zb(index);
for y = min(y1):max(y1) + 0.5
% Get x1, y1, z1 values of points near to y1==y:
index = (abs(y1-y) < 0.01);
x2 = x1(index);
y2 = y1(index);
z2 = z1(index);
% Get x2, y2, z2 values of points near to y2==min(x2):
index = (abs(x2-min(x2)) < 0.01);
xf = x2(index);
yf = y2(index);
zf = z2(index);
% Collect the xf, yf, zf values:
Xf = [Xf; xf];
Yf = [Yf; yf];
Zf = [Zf; zf];
end
end
2 commentaires
Voir également
Catégories
En savoir plus sur Convert Image Type dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!