nlm_mpd.Rd
Simulates a midpoint displacement neutral landscape model.
nlm_mpd(ncol, nrow, resolution = 1, roughness = 0.5, rand_dev = 1, rescale = TRUE, verbose = TRUE)
ncol | [ |
---|---|
nrow | [ |
resolution | [ |
roughness | [ |
rand_dev | [ |
rescale | [ |
verbose | [ |
RasterLayer
The algorithm is a direct implementation of the midpoint displacement algorithm. It performs the following steps:
Initialization: Determine the smallest fit of
max(ncol, nrow)
in n^2 + 1 and assign value to n.
Setup matrix of size (n^2 + 1)*(n^2 + 1).
Afterwards, assign a random value to the four corners of the matrix.
Diamond Step: For each square in the matrix, assign the average of the four corner points plus a random value to the midpoint of that square.
Diamond Step: For each diamond in the matrix, assign the average of the four corner points plus a random value to the midpoint of that diamond.
At each iteration the roughness, an approximation to common Hurst exponent, is reduced.
https://en.wikipedia.org/wiki/Diamond-square_algorithm
# simulate midpoint displacement midpoint_displacememt <- nlm_mpd(ncol = 100, nrow = 100, roughness = 0.3)#> Warning: nlm_mpd changes the dimensions of the RasterLayer if even ncols/nrows are choosen.# NOT RUN { # visualize the NLM landscapetools::show_landscape(midpoint_displacememt) # }