|
Hi there,
Is it possible to intersect a 3d patch object (created by
isosurface) with a plane, and return the intersecting curve(s)?
For example,
[x,y,z,v] = flow;
[faces,verts,colors] = isosurface(x,y,z,v,-3,x);
p = patch('Vertices', verts, 'Faces', faces, ...
'FaceVertexCData', colors, ...
'FaceColor','interp', ...
'edgecolor', 'interp');
This returns p, the isosurface patch object. I now want to
cut this object along the plane, say, X=5 and return the
intersection curve(s) in some format.
I understand that I could use contourslice on the original
volumetric data as follows:
contourslice(x,y,z,v,5,[],[],[-3 -3])
However, I want to avoid referencing this volumetric data,
and think that the surface mesh should be cuttable in some
way (I just don't know how yet). My eventual goal is to try
and slice an stl volume or nurbs surface, neither of which
would have any underlying volume data.
Any help would be much appreciated
|