efourier_shape: Calculates and draw 'efourier' shapes.

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

efourier_shapeR Documentation

Calculates and draw 'efourier' shapes.

Description

efourier_shape calculates a 'Fourier elliptical shape' given Fourier coefficients (see Details) or can generate some 'efourier' shapes. Mainly intended to generate shapes and/or to understand how efourier works.

Usage

efourier_shape(an, bn, cn, dn, nb.h, nb.pts = 60, 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.

cn

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

dn

numeric. The d_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

efourier_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 efourier for the mathematical background.

Value

A list with components:

  • x vector of x-coordinates

  • y vector of y-coordinates.

References

Claude, J. (2008) Morphometrics with R, Use R! series, Springer 316 pp.

Ferson S, Rohlf FJ, Koehn RK. 1985. Measuring shape variation of two-dimensional outlines. Systematic Biology 34: 59-68.

See Also

Other efourier: efourier_i(), efourier()

Examples

ef <- efourier(bot[1], 24)
efourier_shape(ef$an, ef$bn, ef$cn, ef$dn) # equivalent to efourier_i(ef)
efourier_shape() # is autonomous

panel(Out(a2l(replicate(100,
efourier_shape(nb.h=6, alpha=2.5, plot=FALSE))))) # Bubble family

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