Plotting the iso-surface in a specific range of values
22 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
hamed
il 23 Feb 2021
Commentato: hamed
il 16 Mar 2021
Hi,
I have a 3D matrix and I want to show the isosurface for a range of values, such as the values greater than 0.2, not for a single value.
Could anybody help me to revise my code?
data = smooth3(porosity_median,'box',5);
p1 = patch(isosurface(data, 0.1 ), 'FaceColor','red','EdgeColor','none');
view(3); axis vis3d tight
camlight; lighting phong
0 Commenti
Risposta accettata
José M. Requena Plens
il 15 Mar 2021
Modificato: José M. Requena Plens
il 15 Mar 2021
Using yor code.
To plot values greater than 0.1:
data = smooth3(porosity_median,'box',5);
p1 = patch(isosurface(data, 0.1 ), 'FaceColor','red','EdgeColor','none');
p2 = patch(isocaps(data,0.1,'enclose','above'),'FaceColor','red','EdgeColor','none');
view(3); axis vis3d tight
camlight; lighting phong
To plot values lower than 0.1:
data = smooth3(porosity_median,'box',5);
p1 = patch(isosurface(data, 0.1 ), 'FaceColor','red','EdgeColor','none');
p2 = patch(isocaps(data,0.1,'enclose','below'),'FaceColor','red','EdgeColor','none');
view(3); axis vis3d tight
camlight; lighting phong
isonormals(data,p1)
5 Commenti
José M. Requena Plens
il 15 Mar 2021
The value you want to represent must be defined in both patches.
...
p1 = patch(isosurface(data, 0.3 ), 'FaceColor','red','EdgeColor','none');
...
p2 = patch(isocaps(data,0.3,'enclose','above'),'FaceColor','red','EdgeColor','none');
...
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Volume Visualization in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
