Convert a xyz surface into a 3D array?

2 visualizaciones (últimos 30 días)
Nathan Orloff
Nathan Orloff el 20 de Feb. de 2014
Editada: Sean de Wolski el 20 de Feb. de 2014
I have a the following input:
surface = struct('vertices', [....],'faces',[....];
Which I can draw as:
patch(surface)
But what I need is a 3D logical array, where the contained volumes are true.
Is there a quick way to do this?

Respuesta aceptada

Sean de Wolski
Sean de Wolski el 20 de Feb. de 2014
Editada: Sean de Wolski el 20 de Feb. de 2014
Edit per clarification
Use this utility from the File Exchange:
  2 comentarios
Nathan Orloff
Nathan Orloff el 20 de Feb. de 2014
Thanks for the comment.
I use:
Then I create a structure:
mysurface = struct('vertices', n_verts,'faces',n_faces);
Where n_verts and n_faces are vectors. n_verts are the xyz points for all of the vertices. n_verts is a 3 x N vector where N is the number of vertices. n_faces is also a 3 x N vector. When I call:
patch(mysurface)
It creates 3D image of my surface.
I want to create a 3D logical array where the 1's are the regions contained in the surface. This way I can use bwlabel and all the other image processing tricks on my surface.
Is this clear?
Sean de Wolski
Sean de Wolski el 20 de Feb. de 2014
Editada: Sean de Wolski el 20 de Feb. de 2014
Ahh, gotcha. I was thinking the other direction (i.e. given a logical volume, get the struct).
See edits

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Convert Image Type en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by