MATLAB visualizzazione del volume 3d e 3d overlay
-
05-10-2019 - |
Domanda
La domanda è più o meno il titolo.
Ho un volume 3d caricato come [256, 256, 256] = size(A)
dati grezzi. Esso contiene solo i valori zero e uno, di cui le 1 di rappresentare la struttura e di 0 "l'aria".
voglio visualizzare la struttura in MATLAB e quindi eseguire un algoritmo su di esso e mettere una sovrapposizione su di esso, diciamo che nel colore rosso.
Quindi, per essere più precisi:
- Come faccio a visualizzare il volume 3D. 0 di trasparente, 1 di semitrasparente?
- Tracciare la linea nella visualizzazione 3D come una sovrapposizione?
I già letto The MathWorks tutorial e non ha aiutato.
Ho provato ad utilizzare il comando set
, ma fallisce completamente dicendo per ogni proprietà che provo "proprietà principale non valido".
Altri suggerimenti
Non sono sicuro ho capito la seconda parte della domanda, ma ecco come a visualizzare un volume 3D utilizzando isosuperfici (sto usando il fluido flusso- dati esempio)
%# get a sample data with 0 for empty, 1 for solid
[~,~,~,v] = flow;
v = double( v<-3 );
%# visualize the volume
p = patch( isosurface(v,0) ); %# create isosurface patch
isonormals(v, p) %# compute and set normals
set(p, 'FaceColor','r', 'EdgeColor','none') %# set surface props
daspect([1 1 1]) %# axes aspect ratio
view(3), axis vis3d tight, box on, grid on %# set axes props
camproj perspective %# use perspective projection
camlight, lighting phong, alpha(.5) %# enable light, set transparency
Per ulteriori informazioni su visualizzazione del volume in MATLAB, fare riferimento a questo eccellente serie di video tutorial di pubblicati sul blog di Doug