Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

surf2patch

Convert surface data to patch data

Syntax

fvc = surf2patch(h)
fvc = surf2patch(Z)
fvc = surf2patch(Z,C)
fvc = surf2patch(X,Y,Z)
fvc = surf2patch(X,Y,Z,C)
fvc = surf2patch(...,'triangles')
[f,v,c] = surf2patch(...)

Description

fvc = surf2patch(h) converts the geometry and color data from the surface object, h, into patch format. The output, fvc, is a structure containing the face, vertex, and color data. You can pass this structure directly to the patch command.

fvc = surf2patch(Z) calculates the patch data from the surface's ZData matrix Z.

fvc = surf2patch(Z,C) calculates the patch data from the surface's ZData and CData matrices Z and C.

fvc = surf2patch(X,Y,Z) calculates the patch data from the surface's XData, YData, and ZData matrices X, Y, and Z.

fvc = surf2patch(X,Y,Z,C) calculates the patch data from the surface's XData, YData, ZData, and CData matrices X, Y, Z, and C.

fvc = surf2patch(...,'triangles') creates triangular faces instead of the quadrilaterals that compose surfaces.

[f,v,c] = surf2patch(...) returns the face, vertex, and color data in the three arrays f, v, and c instead of a struct.

Examples

collapse all

Use the sphere command to generate the XData, YData, and ZData of a surface. Then, calculate the patch data. Pass the ZData (z) to surf2patch as both the third and fourth arguments - the third argument is the ZData and the fourth argument is taken as the CData. You must do this since the patch command does not automatically use the z-coordinate data for the color data, as does the surface command.

Since patch is a low-level command, you must set the view and shading to produce the same results produced by the surf command.

[x,y,z] = sphere;
figure
patch(surf2patch(x,y,z,z));
shading faceted;
view(3)

Calculate face, vertex, and color data from a surface whose handle has been passed as an argument.

figure
s = surf(peaks);
patch(surf2patch(s));
delete(s)
shading faceted;
view(3)

Introduced before R2006a

Was this topic helpful?