How to extract data from a 3d implicit plot?

1 次查看(过去 30 天)
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.

采纳的回答

per isakson
per isakson 2012-7-1
编辑:per isakson 2012-7-1
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 个评论
Amir
Amir 2012-7-1
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'.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by