Resizes a matrix (preserving contents) by specifying the desired output dimensions or a scaling factor.
resize_matrix(
heightmap,
scale = 1,
width = NULL,
height = NULL,
method = "bilinear"
)The elevation matrix.
Default 0.5. The amount to scale down the matrix. Scales using bilinear interpolation.
Default NULL. Alternative to scale argument. The desired output width. If width is less than 1, it will be interpreted as a scaling factor–
e.g. 0.5 would halve the resolution for the width.
Default NULL. Alternative to scale argument. The desired output width. If height is less than 1, it will be interpreted as a scaling factor–
e.g. 0.5 would halve the resolution for the height.
Default bilinear. Method of interpolation. Alteratively cubic, which is slightly smoother, although
current implementation slightly scales the image.
#Reduce the size of the monterey bay dataset by half
if(run_documentation()) {
montbaysmall = resize_matrix(montereybay, scale=0.5)
montbaysmall |>
sphere_shade() |>
plot_map()
}
if(run_documentation()) {
#Reduce the size of the monterey bay dataset from 540x540 to 100x100
montbaysmall = resize_matrix(montereybay, width = 100, height = 100)
montbaysmall |>
sphere_shade() |>
plot_map()
}
if(run_documentation()) {
#Increase the size of the volcano dataset 3x
volcanobig = resize_matrix(volcano, scale=3)
volcanobig |>
sphere_shade() |>
plot_map()
}
if(run_documentation()) {
#Increase the size of the volcano dataset 2x, using cubic interpolation
volcanobig = resize_matrix(volcano, scale=3, method="cubic")
volcanobig |>
sphere_shade() |>
plot_map()
}