MATLAB Function Reference |

Compute and display 3-D surface normals

**Syntax**

**Description**

The `surfnorm`

function computes surface normals for the surface defined by `X`

, `Y`

, and `Z`

. The surface normals are unnormalized and valid at each vertex. Normals are not shown for surface elements that face away from the viewer.

```
surfnorm(Z) and surfnorm(X,Y,Z)
```

plot a surface and its surface normals. `Z`

is a matrix that defines the z component of the surface. `X`

and `Y`

are vectors or matrices that define the *x* and *y* components of the surface.

```
[Nx,Ny,Nz] = surfnorm(...)
```

returns the components of the three-dimensional surface normals for the surface.

**Remarks**

The direction of the normals is reversed by calling `surfnorm`

with transposed arguments:

`surfl`

uses `surfnorm`

to compute surface normals when calculating the reflectance of a surface.

**Algorithm**

The surface normals are based on a bicubic fit of the data in `X`

, `Y`

, and `Z`

. For each vertex, diagonal vectors are computed and crossed to form the normal.

**Examples**

Plot the normal vectors for a truncated cone.

**See Also**

Colormaps for related functions

surfl | svd |