sfourier_shape: Calculates and draw 'sfourier' shapes.

View source: R/core-out-sfourier.R

sfourier_shapeR Documentation

Calculates and draw 'sfourier' shapes.

Description

sfourier_shape calculates a 'Fourier radii variation shape' given Fourier coefficients (see Details) or can generate some 'sfourier' shapes.

Usage

sfourier_shape(an, bn, nb.h, nb.pts = 80, alpha = 2, plot = TRUE)

Arguments

an

numeric. The a_n Fourier coefficients on which to calculate a shape.

bn

numeric. The b_n Fourier coefficients on which to calculate a shape.

nb.h

integer. The number of harmonics to use.

nb.pts

integer. The number of points to calculate.

alpha

numeric. The power coefficient associated with the (usually decreasing) amplitude of the Fourier coefficients (see Details).

plot

logical. Whether to plot or not the shape.

Details

sfourier_shape can be used by specifying nb.h and alpha. The coefficients are then sampled in an uniform distribution (-\pi ; \pi) and this amplitude is then divided by harmonicrank^alpha. If alpha is lower than 1, consecutive coefficients will thus increase. See sfourier for the mathematical background.

Value

A matrix of (x; y) coordinates.

References

Renaud S, Pale JRM, Michaux JR (2003): Adaptive latitudinal trends in the mandible shape of Apodemus wood mice. J Biogeogr 30:1617-1628.

See Also

Other sfourier: sfourier_i(), sfourier()

Examples

rf <- sfourier(bot[1], 24)
sfourier_shape(rf$an, rf$bn) # equivalent to sfourier_i(rf)
sfourier_shape() # not very interesting

sfourier_shape(nb.h=12) # better
sfourier_shape(nb.h=6, alpha=0.4, nb.pts=500)

# Butterflies of the vignette' cover
panel(Out(a2l(replicate(100,
sfourier_shape(nb.h=6, alpha=0.4, nb.pts=200, plot=FALSE)))))

Momocs documentation built on Nov. 13, 2023, 5:07 p.m.