Calculates the normal unit vector for every point on the grid.

calculate_normal(heightmap, zscale = 1, progbar = FALSE)

## Arguments

heightmap A two-dimensional matrix, where each entry in the matrix is the elevation at that point. All points are assumed to be evenly spaced. Default 1. Default FALSE. If TRUE, turns on progress bar.

## Value

Matrix of light intensities at each point.

## Examples

#Here we produce a light intensity map of the volcano elevation map.

#Cache the normal vectors of the volcano dataset
volcanocache = calculate_normal(volcano)

#Use the cached vectors to speed up calculation of sphere_shade() on a map.