Reduce size of patch faces
nfv = shrinkfaces(p,sf)
nfv = shrinkfaces(fv,sf)
nfv = shrinkfaces(f,v,sf)
[nf,nv] = shrinkfaces(...)
shrinkfaces(p,sf) shrinks the area of the faces in patch p to shrink factor sf. A shrink factor of 0.6 shrinks each face to 60% of its original area. If the patch contains shared vertices, the MATLAB® software creates nonshared vertices before performing the face-area reduction.
nfv = shrinkfaces(fv,sf) uses the face and vertex data from the struct fv.
shrinkfaces(p) and shrinkfaces(fv) (without specifying a shrink factor) assume a shrink factor of 0.3.
nfv = shrinkfaces(f,v,sf) uses the face and vertex data from the arrays f and v.
[nf,nv] = shrinkfaces(...) returns the face and vertex data in two separate arrays instead of a struct.
This example uses the flow data set, which represents the speed profile of a submerged jet within an infinite tank (type help flow for more information). Two isosurfaces provide a before and after view of the effects of shrinking the face size.
The patch command accepts the face/vertex struct and draws the first (p1) isosurface.
The shrinkfaces command modifies the face/vertex data and passes it directly to patch.
[x,y,z,v] = flow; [x,y,z,v] = reducevolume(x,y,z,v,2); fv = isosurface(x,y,z,v,-3); p1 = patch(fv); p1.FaceColor = 'red'; p1.EdgeColor = [0.5 0.5 0.5]; daspect([1 1 1]); view(3); axis tight title('Original') figure p2 = patch(shrinkfaces(fv,.3)); p2.FaceColor = 'red'; p2.EdgeColor = [0.5 0.5 0.5]; daspect([1 1 1]); view(3); axis tight title('After Shrinking')