making a 2d image from 3d shape
    17 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Nnebunne Melisa
 el 18 de Abr. de 2021
  
    
    
    
    
    Comentada: Nnebunne Melisa
 el 23 de Abr. de 2021
            Hello. I have a shape that I would like to cut out a slice of. I also have coordinates from an XY plane at a particular Z value that I'd like to use. So because I'm expecting 2 circles, I calculate their radii and see if my XY plane coordinates match up. However, I'm not getting any good results...is there a better way to do this
This is my shape

This is the way the slice is supposed to look (but upside down)

This is what I'm getting. So my result is suposed to be a 64 by 64 double image. The reason my shape is to the left is because my coordinates also contain negative values. My shape is in the positive side.

This is what my code looks like to make the slice. X_pixels, Y_pixels etc are the coordinates I'm checking.

Respuesta aceptada
  Matt J
      
      
 el 18 de Abr. de 2021
        
      Editada: Matt J
      
      
 el 18 de Abr. de 2021
  
      It seems like it would be better if you would just generate your spheres direclty  as a 3D image volume. Then you could just use the slice() commnd to get get the slice images that you want.
 xl=(-3:.03:3); 
[yl,zl]=deal((-2:0.03:2));
[X,Y,Z]=ndgrid( xl,yl,zl);
Spheres=((X+1.1).^2+Y.^2+Z.^2)<=2^2 | (X-1.1).^2 + Y.^2 +Z.^2<=2^2;
imshow(Spheres(:,:,20).');
10 comentarios
  Matt J
      
      
 el 21 de Abr. de 2021
				
      Editada: Matt J
      
      
 el 21 de Abr. de 2021
  
			It's a 3D array with 134 slices.
whos Spheres
I just picked the 20th slice arbitrarily. The .' transposes the slice, so that it's longest side is displayed horizontally, but you don't have to do that if you prefer to view the untransposed slice.
Más respuestas (0)
Ver también
Categorías
				Más información sobre Surface and Mesh Plots 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!


