How to extract data from a 3d implicit plot?

1 visualización (últimos 30 días)
Amir
Amir el 30 de Jun. de 2012
Hi,
I would like to extract data from 3d implicit plot. My plot:
[Y,X,Z] = ndgrid(linspace(-2,2,30),linspace(-2,2,30),linspace(-2,2,30));
V = ((X.^2).*(1-X.^2)-Y.^2).^2+0.5*Z.^2-0.025*(1+1.0*(X.^2+Y.^2+Z.^2));
p = patch(isosurface(X,Y,Z,V,0));
isonormals(X,Y,Z,V,p);
set(p,'FaceColor','b','EdgeColor','k','FaceAlpha',0.1,'EdgeColor','none');
daspect([1 1 1])
axis square;
How can I get the coordinates of the points on the surface?
Thanks.
  2 comentarios
per isakson
per isakson el 1 de Jul. de 2012
"'EdgeColor','none' " on a separate line looks as a mistake
Amir
Amir el 1 de Jul. de 2012
It was a mistake, thak you!

Iniciar sesión para comentar.

Respuesta aceptada

per isakson
per isakson el 1 de Jul. de 2012
Editada: per isakson el 1 de Jul. de 2012
Matlab has a tool called "Data Cursor". It has a icon in the Tool bar of the Figure window. With that you can "extract" data from the diagram. Select a point, right click, choose Export Cursor Data ...
Is that what you mean?
--- Cont. ---
The surface is represented by a patch with the handle, p.
"points on the surface" is a bit vague.
get(p) returns a list of properties of the patch. Those of interest to you are
...
Vertices = [ (584 by 3) double array]
XData = [ (3 by 1172) double array]
YData = [ (3 by 1172) double array]
ZData = [ (3 by 1172) double array]
...
The vertices are "points on the surface".
  1 comentario
Amir
Amir el 1 de Jul. de 2012
Thanks, but I would like to export all the points of the surface on the grid. If I work with a 100x100x100 grid it's impossible to get the points with 'Data Cursor'.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by