Learn R Programming

biogeom (version 1.4.3)

PE: Calculation of the Abscissa, Ordinate and Distance From the Origin For an Arbitrary Point on the Preston Curve

Description

PE is used to calculate the abscissa, ordinate and distance from the origin for an arbitrary point on the Preston curve that was generated by the original Preston equation or one of its simplified versions at a given angle.

Usage

PE(P, zeta, simpver = NULL)

Value

x

the abscissa(s) of the Preston curve corresponding to the given angle(s).

y

the ordinate(s) of the Preston curve corresponding to the given angle(s).

r

the distance(s) of the Preston curve corresponding to the given angle(s) from the origin.

Arguments

P

the parameters of the original Preston equation or one of its simplified versions.

zeta

the angle(s) used in the Preston equation.

simpver

an optional argument to use the simplified version of the original Preston equation.

Author

Peijian Shi pjshi@njfu.edu.cn, Johan Gielis johan.gielis@uantwerpen.be, Brady K. Quinn Brady.Quinn@dfo-mpo.gc.ca.

Details

When simpver = NULL, the original Preston equation is selected: $$y = a\ \mathrm{sin}\,\zeta, $$ $$x = b\ \mathrm{cos}\,\zeta\left(1+c_{1}\,\mathrm{sin}\,\zeta+c_{2}\,\mathrm{sin}^{2}\,\zeta+c_{3}\,\mathrm{sin}^{3}\,\zeta\right), $$ $$r = \sqrt{x^{2}+y^{2}}, $$ where \(x\) and \(y\) represent the abscissa and ordinate of an arbitrary point on the Preston curve corresponding to an angle \(\zeta\); \(r\) represents the distance of the point from the origin; \(a\), \(b\), \(c_{1}\), \(c_{2}\), and \(c_{3}\) are parameters to be estimated.

\(\quad\) When simpver = 1, the simplified version 1 is selected: $$y = a\ \mathrm{sin}\,\zeta, $$ $$x = b\ \mathrm{cos}\,\zeta\left(1+c_{1}\,\mathrm{sin}\,\zeta+c_{2}\,\mathrm{sin}^{2}\,\zeta\right), $$ $$r = \sqrt{x^{2}+y^{2}}, $$ where \(x\) and \(y\) represent the abscissa and ordinate of an arbitrary point on the Preston curve corresponding to an angle \(\zeta\); \(r\) represents the distance of the point from the origin; \(a\), \(b\), \(c_{1}\), and \(c_{2}\) are parameters to be estimated.

\(\quad\) When simpver = 2, the simplified version 2 is selected: $$y = a\ \mathrm{sin}\,\zeta, $$ $$x = b\ \mathrm{cos}\,\zeta\left(1+c_{1}\,\mathrm{sin}\,\zeta\right), $$ $$r = \sqrt{x^{2}+y^{2}}, $$ where \(x\) and \(y\) represent the abscissa and ordinate of an arbitrary point on the Preston curve corresponding to an angle \(\zeta\); \(r\) represents the distance of the point from the origin; \(a\), \(b\), and \(c_{1}\) are parameters to be estimated.

\(\quad\) When simpver = 3, the simplified version 3 is selected: $$y = a\ \mathrm{sin}\,\zeta, $$ $$x = b\ \mathrm{cos}\,\zeta\left(1+c_{2}\,\mathrm{sin}^{2}\,\zeta\right), $$ $$r = \sqrt{x^{2}+y^{2}}, $$ where \(x\) and \(y\) represent the abscissa and ordinate of an arbitrary point on the Preston curve corresponding to an angle \(\zeta\); \(r\) represents the distance of the point from the origin; \(a\), \(b\), and \(c_{2}\) are parameters to be estimated.

References

Biggins, J.D., Montgomeries, R.M., Thompson, J.E., Birkhead, T.R. (2022) Preston's universal formula for avian egg shape. Ornithology 139, ukac028. tools:::Rd_expr_doi("10.1093/ornithology/ukac028")

Biggins, J.D., Thompson, J.E., Birkhead, T.R. (2018) Accurately quantifying the shape of birds' eggs. Ecology and Evolution 8, 9728\(-\)9738. tools:::Rd_expr_doi("10.1002/ece3.4412")

Preston, F.W. (1953) The shapes of birds' eggs. The Auk 70, 160\(-\)182.

Shi, P., Wang, L., Quinn, B.K., Gielis, J. (2023) A new program to estimate the parameters of Preston's equation, a general formula for describing the egg shape of birds. Symmetry 15, 231. tools:::Rd_expr_doi("10.3390/sym15010231")

Todd, P.H., Smart, I.H.M. (1984) The shape of birds' eggs. Journal of Theoretical Biology 106, 239\(-\)243. tools:::Rd_expr_doi("10.1016/0022-5193(84)90021-3")

See Also

EPE, lmPE, TSE

Examples

Run this code
  zeta <- seq(0, 2*pi, len=2000)
  Par1 <- c(10, 6, 0.325, -0.0415)
  Res1 <- PE(P=Par1, zeta=zeta, simpver=1)
  Par2 <- c(10, 6, -0.325, -0.0415)
  Res2 <- PE(P=Par2, zeta=zeta, simpver=1)

  dev.new()
  plot(Res1$x, Res1$y, asp=1, type="l", col=4, cex.lab=1.5, cex.axis=1.5,
       xlab=expression(italic(x)), ylab=expression(italic(y)))
  lines(Res2$x, Res2$y, col=2)

  dev.new()
  plot(Res1$r, Res2$r, asp=1, cex.lab=1.5, cex.axis=1.5,
       xlab=expression(paste(italic(r), ""[1], sep="")), 
       ylab=expression(paste(italic(r), ""[2], sep="")))
  abline(0, 1, col=4)

  graphics.off()

Run the code above in your browser using DataLab